//#コマンド追加
//stat作成BLv:1-99 JLv:1-50 Stat:1-199 100以上は非推奨
end else if Copy(str, 1, 5) = 'stat ' then begin
sl := TStringList.Create;
sl.DelimitedText := Copy(str, 6, 256);
if sl.Count = 2 then begin
Val(sl.Strings[0], i, k);
if k = 0 then begin
Val(sl.Strings[1], j, k);
if k = 0 then begin
if (i>=0)and(i<=5)and(j>=1)and(j<=199) then begin
tc.ParamBase[i]:=j;
WFIFOW(0, $00bc);
WFIFOW(2, 13 + i);
WFIFOB(4, 1);
WFIFOB(5, 0);
Socket.SendBuf(buf, 6);
CalcStat(tc);
SendCStat(tc);
end else if (i=6)and(j>=0)and(j<=99) then begin
//ベースレベルアップ
tc.BaseLV:=j;
tc.BaseNextEXP:=0;
tc.BaseNextEXP:=ExpTable[0][tc.BaseLV];
CalcStat(tc);
SendCStat1(tc, 0, $000b, tc.BaseLV);
tc.HP := tc.MaxHP;
tc.SP := tc.MaxSP;
WFIFOW( 0, $019b);
WFIFOL( 2, tc.PID);
WFIFOL( 6, 0);
SendBCmd(tm, tc.Point, 10);
SendCStat(tc);
end else if (i=7)and(j>=0)and(j<=50) then begin
if (tc.Job=0)and(j>10) then begin
j:=10;
end;
//ジョブレベルアップ
tc.JobLV:=j;
tc.JobEXP:=0;
tc.JobNextEXP:=ExpTable[(tc.Job + 5) div 6 + 1][tc.JobLV];
CalcStat(tc);
SendCStat1(tc, 0, $0037, tc.JobLV);
WFIFOW( 0, $019b);
WFIFOL( 2, tc.PID);
WFIFOL( 6, 1);
SendBCmd(tm, tc.Point, 10);
SendCStat(tc);
end;
end;
end;
end;
sl.Free();
//rich作成お金1G-1
end else if Copy(str, 1, 4) = 'rich' then begin
tc.Zeny:=999999999;
WFIFOW(0, $00b1);
WFIFOW(2, $0014);
WFIFOL(4, tc.Zeny);
Socket.SendBuf(buf, 8);