Postado Maio 7, 2014 11 anos Este é um post popular. Olá pessoal, trago para vocês um script talkaction que add e remove premium points por comandos in-game. Primeira, vá em data/talkactions/talkactions.xml e add a tag: <talkaction words="/addpoints;/removepoints" access="3" script="premium_points.lua"/> Depois crie um arquivo chamado premium_points.lua em data/talkactions/scripts/ e coloque esse código dentro: function onSay(cid, words, param) local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Missing params.") return true end local player, balance, pid = getPlayerByName(t[1]), t[2], getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "That players doesnt exist or is offline.") return true end if t[2] == null then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Missing ammount of points.") return true end local accountName = getPlayerAccount(player) local accountPoints = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `name` = '" .. accountName .. "' LIMIT 1;") local points = tonumber(accountPoints:getDataInt("premium_points")) local name = getPlayerName(cid) if(words == "/addpoints") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You added "..balance.." premium points to "..t[1].." account.") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "You got "..balance.." premium points from "..name..".") points = (points+balance) db.query("UPDATE `accounts` SET `premium_points` = " .. points .. " WHERE `name`='" .. accountName .. "' LIMIT 1;") elseif (words == "/removepoints") then points = (points-balance) if points < 0 then doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, ""..name.." removed all your premium points.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed all "..t[1].." account premium points.") db.query("UPDATE `accounts` SET `premium_points` = '0' WHERE `name`='" .. accountName .. "' LIMIT 1;") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed "..balance.." premium points to "..t[1].." account.") db.query("UPDATE `accounts` SET `premium_points` = " .. points .. " WHERE `name`='" .. accountName .. "' LIMIT 1;") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, ""..name.." removed "..balance.." premium points from your account.") end end return true end Para usar é simples: /COMANDO PLAYER, QUANTIDADE exemplo: /addpoints Luan, 10 Créditos: Shispa Bem simples né pessoal? Espero que ajude, abraços e até mais! STYLLER OT 2022
Postado Maio 7, 2014 11 anos muito bom cara, facilita a vida do adm saskaksak Ot Design: https://discord.gg/VgtVRNmCD7
Postado Junho 6, 2014 11 anos to tendo esse erro, Luan, tenta arrumar o seu tópico... tem umas coisinhas erradas... "data/talkactions/actions/ e coloque esse código dentro:" "exemplo: !Addpoints Luan, 10" Não manjo nada de scripts, mas errinhos assim eu sei ver Se Ajudei Rep+ pra mim
Postado Junho 6, 2014 11 anos Autor Pronto, acho que agora vai .. obrigado por alertar! Script atualizado! STYLLER OT 2022
Postado Julho 24, 2014 10 anos Autor @True, o sistema já esta assim local accountName = getPlayerAccount(player) STYLLER OT 2022
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.