下面是引用 蓝的天空 于 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 这样就可以运作啰~