| TArgs | | | | --- | --- | --- | | **函数名称** | **功能** | **描述** | | procedure Delete(Index: Integer ); | Index:参数序号 | 删除指定序号的参数 | | property Str\[Index: Integer \]: String | Index:参数序号 | 将指定序号的参数按字符串取出 | | property Int\[Index: Integer \]: Integer | Index:参数序号 | 将指定序号的参数按整形值取出(默认值为0) | | property Bool\[Index: Integer \]: Boolean | Index:参数序号 | 将指定序号的参数按布尔值取出(默认False) | | property Date\[Index: Integer \]: TDateTime | Index:参数序号 | 将指定序号的参数按日期值取出(默认0) | | property Float\[Index: Integer \]: Double | Index:参数序号 | 将指定序号的参数按浮点数取出(默认0) | | property Count: Integer | | 包含参数的个数 | | property DataString : String | | 原始参数字符串 | 示例: ``` unit Q28; interface uses Classes, SysUtils; procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); implementation procedure Main(Npc: TNormNPC; Player: TPlayObject; Args: TArgs); { 传送到地图 3,X:333,Y:333 } const S = [[欢迎测试\ <我要去盟重/ @CityMove(3, 333, 333) >]]; begin Npc.say(Player, S); end; procedure CityMove(Npc: TNormNpc; Player: TPlayObject; Args: TArgs); begin if Player.Gold < 10000 then Npc.MessageBox(Player, Format('对不起,你的金币不足%d,无法执行城市传送.', [10000])) else begin Npc.Take(Player, '金币', 10000); Player.MapMove(Args.Str[0], Args.Int[1], Args.Int[2]); //在这里Args.Str[0]表示地图ID,Args.Int[1]及Args.Int[2]表示传送的X、Y坐标 end; end; end. ```