📄 jcon.~pas
字号:
frmMain.Edit24.Text := DBHost;
frmMain.Edit23.Text := DBUser;
frmMain.Edit25.Text := DBPass;
frmMain.Edit26.Text := DBName;
frmMain.ComboBox2.ItemIndex := abs(StrToInt(BoolToStr(AutoStart)));
frmMain.Edit29.Text := IntToStr(Option_MaxUsers);
frmMain.ComboBox3.ItemIndex := abs(StrToInt(BoolToStr(Option_Username_MF)));
frmMain.ComboBox24.ItemIndex := abs(StrToInt(BoolToStr(PassMD5)));
frmMain.Edit31.Text := IntToStr(Option_AutoSave div 60);
frmMain.Edit30.Text := IntToStr(Option_AutoBackup div 60);
frmMain.ComboBox4.ItemIndex := abs(StrToInt(BoolToStr(Option_GM_Logs)));
frmMain.ComboBox5.ItemIndex := abs(StrToInt(BoolToStr(ShowDebugErrors)));
frmMain.ComboBox6.ItemIndex := abs(StrToInt(BoolToStr(WarpDebugFlag)));
frmMain.ComboBox7.ItemIndex := abs(StrToInt(BoolToStr(Timer)));
frmMain.ComboBox8.ItemIndex := Priority;
frmMain.ComboBox17.ItemIndex := abs(StrToInt(BoolToStr(EnableLowerClassDyes)));
end;
procedure JCon_INI_Server_Save();
var
i : Integer;
begin
ServerIP := cardinal(inet_addr(PChar(frmMain.Edit17.Text)));
if frmMain.Edit18.Text='' then Begin
ServerName := 'Nweiss Pro V'+ RELEASE_VERSION;
end else Begin
ServerName := frmMain.Edit18.Text;
end;
DefaultNPCID := StrToInt(frmMain.Edit19.Text);
if (frmMain.Edit20.Text <> frmMain.Edit21.Text) and (frmMain.Edit20.Text <> frmMain.Edit22.Text) and (frmMain.Edit21.Text <> frmMain.Edit22.Text) then begin
sv1port := StrToInt(frmMain.Edit20.Text);
sv2port := StrToInt(frmMain.Edit21.Text);
sv3port := StrToInt(frmMain.Edit22.Text);
end;
if (frmMain.sv1.port <> sv1port) or (frmMain.sv2.port <> sv2port) or (frmMain.sv3.port <> sv3port) then begin
for i := 0 to frmMain.sv1.Socket.ActiveConnections - 1 do
frmMain.sv1.Socket.Disconnect(i);
for i := 0 to frmMain.sv2.Socket.ActiveConnections - 1 do
frmMain.sv2.Socket.Disconnect(i);
for i := 0 to frmMain.sv3.Socket.ActiveConnections - 1 do
frmMain.sv3.Socket.Disconnect(i);
frmMain.sv1.Active := False;
frmMain.sv2.Active := False;
frmMain.sv3.Active := False;
frmMain.sv1.port := sv1port;
frmMain.sv2.port := sv2port;
frmMain.sv3.port := sv3port;
frmMain.sv1.Active := True;
frmMain.sv2.Active := True;
frmMain.sv3.Active := True;
end;
autoip :=StrToBool(IntToStr(abs(frmMain.ComboBox19.ItemIndex)));
UseSQL := StrToBool(IntToStr(abs(frmMain.ComboBox1.ItemIndex)));
DBHost := frmMain.Edit24.Text;
DBUser := frmMain.Edit23.Text;
DBPass := frmMain.Edit25.Text;
DBName := frmMain.Edit26.Text;
PassMD5 := StrToBool(IntToStr(abs(frmMain.ComboBox24.ItemIndex)));
AutoStart := StrToBool(IntToStr(abs(frmMain.ComboBox2.ItemIndex)));
Option_Username_MF := StrToBool(IntToStr(abs(frmMain.ComboBox3.ItemIndex)));
Option_AutoSave := 60 * StrToInt(frmMain.Edit31.Text);
Option_AutoBackup := 60 * StrToInt(frmMain.Edit30.Text);
Option_GM_Logs := StrToBool(IntToStr(abs(frmMain.ComboBox4.ItemIndex)));
ShowDebugErrors := StrToBool(IntToStr(abs(frmMain.ComboBox5.ItemIndex)));
WarpDebugFlag := StrToBool(IntToStr(abs(frmMain.ComboBox6.ItemIndex)));
Timer := StrToBool(IntToStr(abs(frmMain.ComboBox7.ItemIndex)));
Priority := frmMain.ComboBox8.ItemIndex;
frmMain.PriorityUpdate(Priority);
EnableLowerClassDyes := StrToBool(IntToStr(abs(frmMain.ComboBox17.ItemIndex)));
weiss_ini_save();
end;
procedure JCon_INI_Game_Load();
begin
frmMain.Edit42.Text := IntToStr(BaseExpMultiplier);
frmMain.Edit37.Text := IntToStr(JobExpMultiplier);
frmMain.Edit38.Text := IntToStr(ItemDropMultiplier);
frmMain.Edit39.Text := IntToStr(StealMultiplier);
frmMain.Edit40.Text := IntToStr(Option_Pet_Capture_Rate);
frmMain.ComboBox20.ItemIndex := abs(StrToInt(BoolToStr(Option_WelcomeMsg)));
frmMain.ComboBox21.ItemIndex := abs(StrToInt(BoolToStr(BlueFont)));
frmMain.ComboBox16.ItemIndex := abs(StrToInt(BoolToStr(DisableLevelLimit)));
frmMain.ComboBox9.ItemIndex := abs(StrToInt(BoolToStr(DisableEquipLimit)));
frmMain.ComboBox10.ItemIndex := abs(StrToInt(BoolToStr(EnablePetSkills)));
frmMain.ComboBox11.ItemIndex := abs(StrToInt(BoolToStr(Option_PVP)));
frmMain.ComboBox12.ItemIndex := abs(StrToInt(BoolToStr(Option_PVP_Steal)));
frmMain.ComboBox13.ItemIndex := abs(StrToInt(BoolToStr(Option_PVP_XPLoss)));
frmMain.text7.Text := WMsg;
frmMain.Edit35.Text := IntToStr(DefaultZeny);
frmMain.Edit43.Text := IntToStr(DefaultItem1);
frmMain.Edit44.Text := IntToStr(DefaultItem2);
frmMain.Edit27.Text := DefaultMap;
frmMain.Edit28.Text := IntToStr(DefaultPoint_X);
frmMain.Edit45.Text := IntToStr(DefaultPoint_Y);
frmMain.Edit32.Text := IntToStr(DeathBaseLoss);
frmMain.Edit33.Text := IntToStr(DeathJobLoss);
frmMain.Edit34.Text := IntToStr(Option_PartyShare_Level);
frmMain.ComboBox14.ItemIndex := abs(StrToInt(BoolToStr(DisableSkillLimit)));
end;
procedure JCon_INI_Game_Save();
begin
BaseExpMultiplier := StrToInt(frmMain.Edit42.Text);
JobExpMultiplier := StrToInt(frmMain.Edit37.Text);
ItemDropMultiplier := StrToInt(frmMain.Edit38.Text);
StealMultiplier := StrToInt(frmMain.Edit39.Text);
Option_Pet_Capture_Rate := StrToInt(frmMain.Edit40.Text);
Option_WelcomeMsg := StrToBool(IntToStr(abs(frmMain.ComboBox20.ItemIndex)));
BlueFont := StrToBool(IntToStr(abs(frmMain.ComboBox21.ItemIndex)));
DisableLevelLimit := StrToBool(IntToStr(abs(frmMain.ComboBox16.ItemIndex)));
DisableEquipLimit := StrToBool(IntToStr(abs(frmMain.ComboBox9.ItemIndex)));
EnablePetSkills := StrToBool(IntToStr(abs(frmMain.ComboBox10.ItemIndex)));
Option_PVP := StrToBool(IntToStr(abs(frmMain.ComboBox11.ItemIndex)));
Option_PVP_Steal := StrToBool(IntToStr(abs(frmMain.ComboBox12.ItemIndex)));
Option_PVP_XPLoss := StrToBool(IntToStr(abs(frmMain.ComboBox13.ItemIndex)));
if frmMain.text7.Text='' then begin
WMsg :=''
end else begin
WMsg := frmMain.text7.Text;
end;
DefaultZeny := StrToInt(frmMain.Edit35.Text);
DefaultItem1 := StrToInt(frmMain.Edit43.Text);
DefaultItem2 := StrToInt(frmMain.Edit44.Text);
DefaultMap := frmMain.Edit27.Text;
DefaultPoint_X := StrToInt(frmMain.Edit28.Text);
DefaultPoint_Y := StrToInt(frmMain.Edit45.Text);
DeathBaseLoss := StrToInt(frmMain.Edit32.Text);
DeathJobLoss := StrToInt(frmMain.Edit33.Text);
Option_PartyShare_Level := StrToInt(frmMain.Edit34.Text);
DisableSkillLimit := StrToBool(IntToStr(abs(frmMain.ComboBox14.ItemIndex)));
weiss_ini_save();
end;
procedure JCon_chara_Load();
var
i : Integer;
charaItem : Tchara;
begin
frmmain.ListBox2.clear;
for i:=0 to (charaname.count -1)do begin
charaItem :=charaname.Objects[i] as Tchara;
frmmain.ListBox2.items.AddObject(charaname.Strings[i],charaItem);
frmMain.listbox1.Sorted := True;
end;
if frmmain.ComboBox22.ItemIndex = -1 then begin
for i:=0 to (MapInfo.Count -1) do begin
frmmain.ComboBox22.ItemIndex := -1;
frmmain.ComboBox23.ItemIndex := -1;
frmmain.ComboBox22.Items := mapinfo.Create;
frmmain.ComboBox23.Items := mapinfo.Create;
end;
end;
end;
procedure JCon_chara_Populate();
var
charaItem : Tchara;
i : Integer;
begin
if (frmMain.listbox2.ItemIndex = -1) then Exit;
charaItem := frmMain.listbox2.items.Objects[frmMain.listbox2.ItemIndex] as Tchara;
frmmain.edit7.Text := inttostr(charaItem.CID);
frmmain.Edit9.Text := inttostr(charaItem.JID);
frmmain.Edit8.Text := charaItem.Name;
frmmain.Edit10.Text :=inttostr(charaItem.BaseLV);
frmmain.Edit11.Text :=inttostr(charaItem.JobLV);
frmmain.Edit13.Text := inttostr(charaItem.HP);
frmmain.Edit14.Text := inttostr(charaItem.SP);
frmmain.Edit12.Text := inttostr(charaItem.Zeny);
frmmain.Edit16.Text := inttostr(charaItem.SkillPoint);
frmmain.Edit15.Text := inttostr(charaItem.StatusPoint);
frmmain.ComboBox22.Text := charaItem.Map ;
frmmain.Edit36.Text := inttostr(charaItem.Point.X) ;
frmmain.Edit46.Text := inttostr(charaItem.Point.Y);
frmmain.ComboBox23.Text := charaItem.SaveMap;
frmmain.Edit49.Text := inttostr(charaItem.SavePoint.X) ;
frmmain.Edit50.Text := inttostr(charaItem.SavePoint.Y);
frmmain.Label78.Caption := frmmain.Edit8.Text;
end;
procedure JCon_chara_clear();
begin
frmmain.edit7.clear;
frmmain.Edit9.clear;
frmmain.Edit8.clear;
frmmain.Edit10.clear;
frmmain.Edit11.clear;
frmmain.Edit13.clear;
frmmain.Edit14.clear;
frmmain.Edit12.clear;
frmmain.Edit16.clear;
frmmain.Edit15.clear;
frmmain.Edit36.clear;
frmmain.Edit46.clear;
frmmain.ComboBox22.Text :='';
frmmain.ComboBox23.Text :='';
frmmain.Edit49.clear;
frmmain.Edit50.clear;
frmmain.Label78.Caption := '';
end;
procedure JCon_chara_Delate(str : String);
var
tc : TChara;
tp : TPlayer;
i : Integer;
begin
if (Charaname.IndexOf(str) = -1) then Exit;
tc := charaname.objects[charaname.indexof(str)] as TChara;
tp := Player.Objects[Player.IndexOf(tc.ID)] as TPlayer;
if (not assigned(tp)) then Exit;
for i := 0 to 8 do begin
if (tp.CName[i] = tc.Name) then begin
tp.CName[i] := '';
tp.CData[i] := nil;
Break;
end;
end;
if assigned(tc.Socket) then begin
tc.Socket.Close;
tc.Socket := nil;
end;
leave_party(tc);
leave_guild(tc);
{ I'm leaving pets out for now. They're whacked }
{for j := 0 to PetList.Count - 1 do begin
if PetList.IndexOf(j) <> -1 then begin
tpe := PetList.IndexOfObject(j) as TPet;
if (tpe.CharaID = tp.CData[i].ID) or (tpe.PlayerID = tp.ID) then PetList.Delete(j);
end;
end;}
CharaName.Delete(CharaName.IndexOf(tc.Name));
Chara.Delete(Chara.IndexOf(tc.CID));
DataSave(True);
JCon_chara_clear();
JCon_chara_Load();
end;
procedure JCon_chara_Save();
var
tc : Tchara;
tp : TPlayer;
i,j, k : Integer;
begin
tc := charaname.objects[charaname.indexof(frmmain.Label78.Caption)] as TChara;
tp := Player.Objects[Player.IndexOf(tc.ID)] as TPlayer;
if assigned(tc.Socket) then begin
tc.Socket.Close;
tc.Socket := nil;
end;
if (not assigned(tp)) then Exit;
for i := 0 to 8 do begin
if (tp.CName[i] = frmmain.Label78.Caption) then begin
tp.CName[i] := frmmain.Edit8.Text;
tp.CData[i] := tc;
Break;
end;
end;
tc.CID := strtoint(frmmain.Edit7.Text);
tc.Name := frmmain.Edit8.Text;
tc.JID := strtoint(frmmain.Edit9.Text);
tc.BaseLV := strtoint(frmmain.Edit10.Text);
tc.JobLV := strtoint(frmmain.Edit11.Text);
tc.HP := strtoint(frmmain.Edit13.Text);
tc.SP := strtoint(frmmain.Edit14.Text);
tc.Zeny := strtoint(frmmain.Edit12.Text);
tc.SkillPoint := strtoint(frmmain.Edit16.Text);
tc.StatusPoint := strtoint(frmmain.Edit15.Text);
tc.Map := frmmain.ComboBox22.Text;
tc.Point.X := strtoint(frmmain.Edit36.Text);
tc.Point.Y := strtoint(frmmain.Edit46.Text);
tc.SaveMap := frmmain.ComboBox23.Text;
tc.SavePoint.X := strtoint(frmmain.Edit49.Text);
tc.SavePoint.Y := strtoint(frmmain.Edit50.Text);
Datasave(True);
// charaItem :=Tchara.Create;
JCon_chara_clear();
JCon_chara_Load();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -