如何读写个人变量、行会变量及全局变量
procedure Main(Npc: TNormNPC; Player: TPlayObject; Args: TArgs);
begin
//个人变量读写
if Player.VarDateTime('最后登陆时间').AsDateTime < Now then //如果最后登陆时间小于当前系统时间
begin
Player.VarDateTime('最后登陆时间').AsDateTime := Now; //将最后登陆时间置为当前时间
Player.VarDateTime('最后登陆时间').Save; //保存
end;
Player.VarString('黄金黑店元宝刷新累计').AsInteger := Player.VarString('黄金黑店元宝刷新累计').AsInteger + 100;
Player.VarString('黄金黑店元宝刷新累计').Save;
//行会变量读写
if Player.Guild <> nil then
begin
Player.Guild.VarInteger('帮会资金').AsInteger := Player.Guild.VarInteger('帮会资金').AsInteger + 10000; //帮会变量"帮会资金"增加
Player.Guild.VarInteger('帮会资金').Save; //保存
end;
//系统变量读写
Gamelib.VarString('天下第一战').AsString := 'CC';
Gamelib.VarString('天下第一战').Save;
//声明变量但不保存,则该变量只在M2运行期有效
Gamelib.VarString('临时变量').AsString := 'xxxx'; //该变量不调用Save函数将不会被保存到文件
end;
注:所有的变量不需要特殊声明,使用的时候不需要判断变量是否存在,变量的原则是使用就有没使用就没有,变量赋值后如果不调用Save函数,则变量不会被更新到文件,但是其值在M2运行期是有效的
|
|