📄 gamecommand.pas
字号:
nIndex: Integer;
GameCmd: pTGameCmd;
begin
nIndex := StringGridGameCmd.Row;
GameCmd := pTGameCmd(StringGridGameCmd.Objects[0, nIndex]);
if GameCmd <> nil then begin
EditUserCmdName.Text := GameCmd.sCmd;
EditUserCmdPerMission.Value := GameCmd.nPermissionMin;
LabelUserCmdParam.Caption := StringGridGameCmd.Cells[2, nIndex];
LabelUserCmdFunc.Caption := StringGridGameCmd.Cells[3, nIndex];
end;
EditUserCmdOK.Enabled := False;
end;
procedure TfrmGameCmd.EditUserCmdNameChange(Sender: TObject);
begin
EditUserCmdOK.Enabled := True;
EditUserCmdSave.Enabled := True;
end;
procedure TfrmGameCmd.EditUserCmdPerMissionChange(Sender: TObject);
begin
EditUserCmdOK.Enabled := True;
EditUserCmdSave.Enabled := True;
end;
procedure TfrmGameCmd.EditUserCmdOKClick(Sender: TObject);
var
nIndex: Integer;
GameCmd: pTGameCmd;
sCmd: string;
nPermission: Integer;
begin
sCmd := Trim(EditUserCmdName.Text);
nPermission := EditUserCmdPerMission.Value;
if sCmd = '' then begin
Application.MessageBox('命令名称不能为空!!!', '提示信息', MB_OK + MB_ICONERROR);
EditUserCmdName.SetFocus;
exit;
end;
nIndex := StringGridGameCmd.Row;
GameCmd := pTGameCmd(StringGridGameCmd.Objects[0, nIndex]);
if GameCmd <> nil then begin
GameCmd.sCmd := sCmd;
GameCmd.nPermissionMin := nPermission;
end;
RefUserCommand();
end;
procedure TfrmGameCmd.EditUserCmdSaveClick(Sender: TObject);
begin
EditUserCmdSave.Enabled := False;
{$IF SoftVersion <> VERDEMO}
CommandConf.WriteString('Command', 'Date', g_GameCommand.Data.sCmd);
CommandConf.WriteString('Command', 'PrvMsg', g_GameCommand.PRVMSG.sCmd);
CommandConf.WriteString('Command', 'AllowMsg', g_GameCommand.ALLOWMSG.sCmd);
CommandConf.WriteString('Command', 'LetShout', g_GameCommand.LETSHOUT.sCmd);
CommandConf.WriteString('Command', 'LetTrade', g_GameCommand.LETTRADE.sCmd);
CommandConf.WriteString('Command', 'LetGuild', g_GameCommand.LETGUILD.sCmd);
CommandConf.WriteString('Command', 'EndGuild', g_GameCommand.ENDGUILD.sCmd);
CommandConf.WriteString('Command', 'BanGuildChat', g_GameCommand.BANGUILDCHAT.sCmd);
CommandConf.WriteString('Command', 'AuthAlly', g_GameCommand.AUTHALLY.sCmd);
CommandConf.WriteString('Command', 'Auth', g_GameCommand.AUTH.sCmd);
CommandConf.WriteString('Command', 'AuthCancel', g_GameCommand.AUTHCANCEL.sCmd);
CommandConf.WriteString('Command', 'ViewDiary', g_GameCommand.DIARY.sCmd);
CommandConf.WriteString('Command', 'UserMove', g_GameCommand.USERMOVE.sCmd);
CommandConf.WriteString('Command', 'Searching', g_GameCommand.SEARCHING.sCmd);
CommandConf.WriteString('Command', 'AllowGroupCall', g_GameCommand.ALLOWGROUPCALL.sCmd);
CommandConf.WriteString('Command', 'GroupCall', g_GameCommand.GROUPRECALLL.sCmd);
CommandConf.WriteString('Command', 'AllowGuildReCall', g_GameCommand.ALLOWGUILDRECALL.sCmd);
CommandConf.WriteString('Command', 'GuildReCall', g_GameCommand.GUILDRECALLL.sCmd);
CommandConf.WriteString('Command', 'StorageUnLock', g_GameCommand.UNLOCKSTORAGE.sCmd);
CommandConf.WriteString('Command', 'PasswordUnLock', g_GameCommand.UnLock.sCmd);
CommandConf.WriteString('Command', 'StorageLock', g_GameCommand.Lock.sCmd);
CommandConf.WriteString('Command', 'StorageSetPassword', g_GameCommand.SETPASSWORD.sCmd);
CommandConf.WriteString('Command', 'StorageChgPassword', g_GameCommand.CHGPASSWORD.sCmd);
// CommandConf.WriteString('Command','StorageClearPassword',g_GameCommand.CLRPASSWORD.sCmd)
// CommandConf.WriteInteger('Permission','StorageClearPassword', g_GameCommand.CLRPASSWORD.nPermissionMin)
CommandConf.WriteString('Command', 'StorageUserClearPassword', g_GameCommand.UNPASSWORD.sCmd);
CommandConf.WriteString('Command', 'MemberFunc', g_GameCommand.MEMBERFUNCTION.sCmd);
CommandConf.WriteString('Command', 'Dear', g_GameCommand.DEAR.sCmd);
CommandConf.WriteString('Command', 'Master', g_GameCommand.MASTER.sCmd);
CommandConf.WriteString('Command', 'DearRecall', g_GameCommand.DEARRECALL.sCmd);
CommandConf.WriteString('Command', 'MasterRecall', g_GameCommand.MASTERECALL.sCmd);
CommandConf.WriteString('Command', 'AllowDearRecall', g_GameCommand.ALLOWDEARRCALL.sCmd);
CommandConf.WriteString('Command', 'AllowMasterRecall', g_GameCommand.ALLOWMASTERRECALL.sCmd);
CommandConf.WriteString('Command', 'AttackMode', g_GameCommand.ATTACKMODE.sCmd);
CommandConf.WriteString('Command', 'Rest', g_GameCommand.REST.sCmd);
CommandConf.WriteString('Command', 'TakeOnHorse', g_GameCommand.TAKEONHORSE.sCmd);
CommandConf.WriteString('Command', 'TakeOffHorse', g_GameCommand.TAKEOFHORSE.sCmd);
CommandConf.WriteInteger('Permission', 'Date', g_GameCommand.Data.nPermissionMin);
CommandConf.WriteInteger('Permission', 'PrvMsg', g_GameCommand.PRVMSG.nPermissionMin);
CommandConf.WriteInteger('Permission', 'AllowMsg', g_GameCommand.ALLOWMSG.nPermissionMin);
{$IFEND}
end;
procedure TfrmGameCmd.RefGameMasterCmd(GameCmd: pTGameCmd; sCmdParam, sDesc: string);
begin
Inc(nRefGameMasterIndex);
if StringGridGameMasterCmd.RowCount - 1 < nRefGameMasterIndex then begin
StringGridGameMasterCmd.RowCount := nRefGameMasterIndex + 1;
end;
StringGridGameMasterCmd.Cells[0, nRefGameMasterIndex] := GameCmd.sCmd;
StringGridGameMasterCmd.Cells[1, nRefGameMasterIndex] := IntToStr(GameCmd.nPermissionMin) + '/' + IntToStr(GameCmd.nPermissionMax);
StringGridGameMasterCmd.Cells[2, nRefGameMasterIndex] := sCmdParam;
StringGridGameMasterCmd.Cells[3, nRefGameMasterIndex] := sDesc;
StringGridGameMasterCmd.Objects[0, nRefGameMasterIndex] := TObject(GameCmd);
end;
procedure TfrmGameCmd.RefGameMasterCommand;
var
GameCmd: pTGameCmd;
sDesc: string;
sCmdParam: string;
begin
EditGameMasterCmdOK.Enabled := False;
nRefGameMasterIndex := 0;
RefGameMasterCmd(@g_GameCommand.CLRPASSWORD,
'@' + g_GameCommand.CLRPASSWORD.sCmd + ' 人物名称',
'清除人物仓库/登录密码(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.WHO,
'@' + g_GameCommand.WHO.sCmd,
'查看当前服务器在线人数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.TOTAL,
'@' + g_GameCommand.TOTAL.sCmd,
'查看所有服务器在线人数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.GAMEMASTER,
'@' + g_GameCommand.GAMEMASTER.sCmd,
'进入/退出管理员模式(进入模式后不会受到任何角色攻击)(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.OBSERVER,
'@' + g_GameCommand.OBSERVER.sCmd,
'进入/退出隐身模式(进入模式后别人看不到自己)(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.SUEPRMAN,
'@' + g_GameCommand.SUEPRMAN.sCmd,
'进入/退出无敌模式(进入模式后人物不会死亡)(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.MAKE,
'@' + g_GameCommand.MAKE.sCmd + ' 物品名称 数量',
'制造指定物品(支持权限分配,小于最大权限受允许、禁止制造列表限制)');
RefGameMasterCmd(@g_GameCommand.SMAKE,
'@' + g_GameCommand.SMAKE.sCmd + ' 参数详见使用说明',
'调整自己身上的物品属性(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.Move,
'@' + g_GameCommand.Move.sCmd + ' 地图号',
'移动到指定地图(支持权限分配,小于最大权限受受禁止传送地图列表限制)');
RefGameMasterCmd(@g_GameCommand.POSITIONMOVE,
'@' + g_GameCommand.POSITIONMOVE.sCmd + ' 地图号 X Y',
'移动到指定地图(支持权限分配,小于最大权限受受禁止传送地图列表限制)');
RefGameMasterCmd(@g_GameCommand.RECALL,
'@' + g_GameCommand.RECALL.sCmd + ' 人物名称',
'将指定人物召唤到身边(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.REGOTO,
'@' + g_GameCommand.REGOTO.sCmd + ' 人物名称',
'跟踪指定人物(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.TING,
'@' + g_GameCommand.TING.sCmd + ' 人物名称',
'将指定人物随机传送(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.SUPERTING,
'@' + g_GameCommand.SUPERTING.sCmd + ' 人物名称 范围大小',
'将指定人物身边指定范围内的人物随机传送(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.MAPMOVE,
'@' + g_GameCommand.MAPMOVE.sCmd + ' 源地图号 目标地图号',
'将整个地图中的人物移动到其它地图中(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.INFO,
'@' + g_GameCommand.INFO.sCmd + ' 人物名称',
'看人物信息(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.HUMANLOCAL,
'@' + g_GameCommand.HUMANLOCAL.sCmd + ' 地图号',
'查询人物IP所在地区(需加载IP地区查询插件)(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.VIEWWHISPER,
'@' + g_GameCommand.VIEWWHISPER.sCmd + ' 人物名称',
'查看指定人物的私聊信息(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.MOBLEVEL,
'@' + g_GameCommand.MOBLEVEL.sCmd,
'查看身边角色信息(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.MOBCOUNT,
'@' + g_GameCommand.MOBCOUNT.sCmd + ' 地图号',
'查看地图中怪物数量(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.HUMANCOUNT,
'@' + g_GameCommand.HUMANCOUNT.sCmd,
'查看身边人数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.Map,
'@' + g_GameCommand.Map.sCmd,
'显示当前所在地图相关信息(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.Level,
'@' + g_GameCommand.Level.sCmd,
'调整自己的等级(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.KICK,
'@' + g_GameCommand.KICK.sCmd + ' 人物名称',
'将指定人物踢下线(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.ReAlive,
'@' + g_GameCommand.ReAlive.sCmd + ' 人物名称',
'将指定人物复活(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.KILL,
'@' + g_GameCommand.KILL.sCmd + '人物名称',
'将指定人物或怪物杀死(杀怪物时需面对怪物)(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CHANGEJOB,
'@' + g_GameCommand.CHANGEJOB.sCmd + ' 人物名称 职业类型(Warr Wizard Taos)',
'调整人物的职业(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.FREEPENALTY,
'@' + g_GameCommand.FREEPENALTY.sCmd + ' 人物名称',
'清除指定人物的PK值(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.PKPOINT,
'@' + g_GameCommand.PKPOINT.sCmd + ' 人物名称',
'查看指定人物的PK值(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.IncPkPoint,
'@' + g_GameCommand.IncPkPoint.sCmd + ' 人物名称 点数',
'增加指定人物的PK值(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CHANGEGENDER,
'@' + g_GameCommand.CHANGEGENDER.sCmd + ' 人物名称 性别(男、女)',
'调整人物的性别(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.HAIR,
'@' + g_GameCommand.HAIR.sCmd + ' 类型值',
'更改指定人物的头发类型(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.BonusPoint,
'@' + g_GameCommand.BonusPoint.sCmd + ' 人物名称 属性点数',
'调整人物的属性点数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.DELBONUSPOINT,
'@' + g_GameCommand.DELBONUSPOINT.sCmd + ' 人物名称',
'删除人物的属性点数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.RESTBONUSPOINT,
'@' + g_GameCommand.RESTBONUSPOINT.sCmd + ' 人物名称',
'将人物的属性点数重新分配(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.SETPERMISSION,
'@' + g_GameCommand.SETPERMISSION.sCmd + ' 人物名称 权限等级(0 - 10)',
'调整人物的权限等级,可以将普通人物升为GM权限(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.RENEWLEVEL,
'@' + g_GameCommand.RENEWLEVEL.sCmd + ' 人物名称 点数(为空则查看)',
'调整查看人物的转生等级(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.DELGOLD,
'@' + g_GameCommand.DELGOLD.sCmd + ' 人物名称 数量',
'删除人物指定数量的金币(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.ADDGOLD,
'@' + g_GameCommand.ADDGOLD.sCmd + ' 人物名称 数量',
'增加人物指定数量的金币(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.GAMEGOLD,
'@' + g_GameCommand.GAMEGOLD.sCmd + ' 人物名称 控制符(+ - =) 数量',
'调整人物的游戏币数量(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.GAMEPOINT,
'@' + g_GameCommand.GAMEPOINT.sCmd + ' 人物名称 控制符(+ - =) 数量',
'调整人物的游戏点数量(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CREDITPOINT,
'@' + g_GameCommand.CREDITPOINT.sCmd + ' 人物名称 控制符(+ - =) 点数',
'调整人物的声望点数(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.REFINEWEAPON,
'@' + g_GameCommand.REFINEWEAPON.sCmd + ' 攻击力 魔法力 道术 准确度',
'调整身上武器属性(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.ADJUESTLEVEL,
'@' + g_GameCommand.ADJUESTLEVEL.sCmd + ' 人物名称 等级',
'调整指定人物的等级(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.ADJUESTEXP,
'@' + g_GameCommand.ADJUESTEXP.sCmd + ' 人物名称 经验值',
'调整指定人物的经验值(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CHANGEDEARNAME,
'@' + g_GameCommand.CHANGEDEARNAME.sCmd + ' 人物名称 配偶名称(如果为 无 则清除)',
'更改指定人物的配偶名称(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CHANGEMASTERNAME,
'@' + g_GameCommand.CHANGEMASTERNAME.sCmd + ' 人物名称 师徒名称(如果为 无 则清除)',
'更改指定人物的师徒名称(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.RECALLMOB,
'@' + g_GameCommand.RECALLMOB.sCmd + ' 怪物名称 数量 召唤等级',
'召唤指定怪物为宝宝(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.TRAINING,
'@' + g_GameCommand.TRAINING.sCmd + ' 人物名称 技能名称 修炼等级(0-3)',
'调整人物的技能修炼等级(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.TRAININGSKILL,
'@' + g_GameCommand.TRAININGSKILL.sCmd + ' 人物名称 技能名称 修炼等级(0-3)',
'给指定人物增加技能(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.DELETESKILL,
'@' + g_GameCommand.DELETESKILL.sCmd + ' 人物名称 技能名称(All)',
'删除人物的技能,All代表删除全部技能(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.DELETEITEM,
'@' + g_GameCommand.DELETEITEM.sCmd + ' 人物名称 物品名称 数量',
'删除人物身上指定的物品(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.CLEARMISSION,
'@' + g_GameCommand.CLEARMISSION.sCmd + ' 人物名称',
'清除人物的任务标志(支持权限分配)');
RefGameMasterCmd(@g_GameCommand.AddGuild,
'@' + g_GameCommand.AddGuild.sCmd + ' 行会名称 掌门人',
'新建一个行会(支持权限分配)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -