Postado Março 9, 2017 8 anos Oiie Lindos do Tk (huehue) Eu vim aqui Hoje perdi umas Talkaction para meu servidor 1* é uma Talkaction simples que o player fala @Buy VIP30 e adicione 30 Dias VIPS na account dele mais para isso vai remove uma certa quantidade do item 2145.
Postado Março 11, 2017 8 anos Em 09/03/2017 ás 09:52, markinhhos disse: Oiie Lindos do Tk (huehue) Eu vim aqui Hoje perdi umas Talkaction para meu servidor 1* é uma Talkaction simples que o player fala @Buy VIP30 e adicione 30 Dias VIPS na account dele mais para isso vai remove uma certa quantidade do item 2145. Vai na pasta data/lib e cria um arquivo chamado 049-vipsys.lua e adiciona isso dentro: vip = { name = "Vip system"; author = "Mock"; version = "1.0.0.0"; query="ALTER TABLE `accounts` ADD `prem_days` INTEGER"; query2="ALTER TABLE `accounts` ADD `prem_days` INT(15) NOT NULL" } function vip.setTable() dofile('config.lua') if sqlType == "mysql" then db.executeQuery(vip.query) else db.executeQuery(vip.query2) end end function vip.getVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; ae = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `name` = '"..getPlayerAccount(cid).."';") if ae:getID() == -1 then return 0 end local retee = ae:getDataInt("vip_time") or 0 ae:free() return retee end function vip.getVipByAcc(acc) assert(acc,'Account is nil') local a = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `name` = '"..acc.."';") if a:getID() ~= -1 then return a:getDataInt("vip_time") or 0, a:free() else error('Account don\'t find.') end end function vip.setVip(cid,time) dofile("config.lua") assert(tonumber(cid),'Parameter must be a number') assert(tonumber(time),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; db.executeQuery("UPDATE `"..sqlDatabase.."`.`accounts` SET `vip_days` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='".. getPlayerAccount(cid).."';") end function vip.getVipByAccount(acc) assert(acc,'Account is nil') return db.getResult("SELECT `vip_days` FROM `accounts` WHERE `name` = '"..acc.."';"):getDataInt("vip_time") or 0 end function vip.hasVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) or 0 if os.time(day) < t then return TRUE else return FALSE end end function vip.hasVips(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) if os.time(day) < t then return TRUE else return FALSE end end function vip.accountHasVip(acc) assert(acc,'Account is nil') if os.time() < vip.getVipByAccount(acc) then return TRUE else return FALSE end end function vip.getDays(days) return (3600 * 24 * days) end function vip.addVipByAccount(acc,time) assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') local a = vip.getVipByAcc(acc) a = os.difftime(a,os.time()) if a < 0 then a = 0 end; a = a+time return vip.setVipByAccount(acc,a) end function vip.setVipByAccount(acc,time) dofile("config.lua") assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') db.executeQuery("UPDATE `accounts` SET `vip_days` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='"..acc.."';") return TRUE end function vip.returnVipString(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == TRUE then return os.date("%d %B %Y %X ", vip.getVip(cid)) end end Agora vai na pasta data/talkactions e abre o arquivo talkactions.xml e adiciona essa tag: <talkaction words="@buyvip30" event="script" value="buyvip.lua"/> Agora vai na pasta data/talkactions/scripts e cria um arquivo chamado buyvip.lua e coloca isso dentro: function onSay(cid, words, param, channel) vip.addVipByAccount(getPlayerAccount(cid), vip.getDays(30)) doPlayerRemoveItem(cid, 2145, 30) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce adquiriu 30 dias de VIP!") return true end nao testei aki mais ve ae Ajudei? REP+ Editado Março 11, 2017 8 anos por Ziguirifido ... (veja o histórico de edições)
Postado Março 13, 2017 8 anos Autor Em 09/03/2017 ás 09:52, markinhhos disse: Oiie Lindos do Tk (huehue) Eu vim aqui Hoje perdi umas Talkaction para meu servidor 1* é uma Talkaction simples que o player fala @Buy VIP30 e adicione 30 Dias VIPS na account dele mais para isso vai remove uma certa quantidade do item 2145. vou ver aqui ja dou sim manow obrigadao
Postado Março 15, 2017 8 anos filho, você tem que pensar que NOS não adivinhamos como funciona o seu vip system. é por premium account? é uma storage? DB? como funciona?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.