如何制作永久枪?

Home Home
引用 | 编辑 蓝的天空
2012-12-19 21:43
楼主
推文 x0
请问一下各位高手
假如我要用GASH来买枪 而且买了之后是永久保存的
可以用另外的选单来开启
请问一下要怎么写?

拜托各位高手教一下表情

献花 x0
引用 | 编辑 观众甲
2012-12-19 22:17
1楼
  
新增一个变数或者bool
如果他购买了
将变数设成1
并将他用fvault或者nvault储存到资料库
玩家离开伺服器时储存资料
玩家进入伺服器时读取资料
利用if判断他变数是否为1
非1则return
1则give_item

献花 x0
引用 | 编辑 蓝的天空
2012-12-20 20:01
2楼
  
下面是引用 上帝的右手^^ 于 2012-12-19 22:17 发表的 : 到引言文
新增一个变数或者bool
如果他购买了
将变数设成1
并将他用fvault或者nvault储存到资料库
玩家离开伺服器时储存资料
玩家进入伺服器时读取资料
利用if判断他变数是否为1
非1则return
1则give_item


那请问一下
要怎么写玩家近来读取资料和出去储存资料哩?

献花 x0
引用 | 编辑 八云の橙猫
2012-12-20 21:26
3楼
  
下面是引用 蓝的天空 于 2012-12-20 20:01 发表的 : 到引言文



那请问一下
要怎么写玩家近来读取资料和出去储存资料哩?

复制程式
 
public client_disconnect(id) //玩家断线时 
{ 
      SaveData(id) //进行保存资料的动作 
} 

public client_putinserver(id) // 当玩家进入伺服器时 
{ 
     LoadData(id) //进行读取资料的动作 
} 

public SaveData(id) 
{ 
     new name[32], vaultkey[128], vaultdata[256] 

     get_user_name(id, name, 31) //取得玩家名称 

     format(vaultkey, 127, "Data-%s", name) //使用某玩家的名称进行资料保存(Data可以随意更改 不妨碍保存) 

     format(vaultdata, 255, "%i#", g_HasBuyItem[id]) //假设前面已经新增一个g_HasBuyItem 并且在此进行保存 

     nvault_set(vault, vaultkey, vaultdata) 
} 

public LoadData(id) 
{ 
     new name[32], vaultkey[128], vaultdata[256] 
   
     get_user_name(id,name,31) 

     format(vaultkey, 127, "Data-%s", name) //读取相应名称玩家的资料 
          
     format(vaultdata, 255, "%i#", g_HasBuyItem[id]) //读取相应资料 **注意:有多项资料时 顺序不可错 

     nvault_get(vault, vaultkey, vaultdata, 255) 

     replace_all(vaultdata, 255, "#", " ") 

     new BuyItem[id] //新增BuyItem 

     parse(vaultdata, BuyItem, 31) //读取储存好的BuyItem资料(见下行) 

     g_HasBuyItem[id] = str_to_num(BuyItem) //将g_HasBuyItem由字串转换为数字后进行读取动作 
} 


有错请指正-w-((对于专有名词不太会解释

-----

对于g_HasBuyItem进行保存的动作(假设你已经有新增的话 或者要改成其他的也行)
如果已经有购买者则以1进行保存 未购买者则以0进行保存
之后再用上帝所说的方法写出code 这样就可以运作啰~

献花 x2
引用 | 编辑 蓝的天空
2012-12-20 21:59
4楼
  
谢谢楼上高手的帮忙

献花 x0