-------------------------------
Nome: Add Premium Points
Versão: 8.42
Tipo do script: TalkAction
Servidor Testado: The Forgotten Server 0.3.4 Patch Level 2
Autor: KutyKutyx3
Bugs : esK~
-------------------------------
Este script server para você adicionar Premium Points à conta de um certo player sem precisar ir ao database.
Abra a pasta data/talkactions/scripts e crie um arquivo chamado addpoints.lua, e coloque isso nele:
function onSay(cid, words, param) local Data = string.explode(param, ",") if Data then local Target = db.getResult("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(Data[1]) .. ";") if Data then if (Target:getID() ~= -1) then if Data[2] then if (words:sub(2, 2) == "a") then if isNumber(Data[2]) == TRUE then db.executeQuery("UPDATE `accounts` SET `premium_points` = ".. Data[2] .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) .." LIMIT 1;") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado ".. Data[2] .." premium points ao player ".. Data[1] ..".") else doPlayerSendCancel(cid, "Insira apenas numeros.") end else doPlayerSendCancel(cid, "Para verificar uma vip não presisa inserir os dias.") end else if (words:sub(2, 2) == "c") then if premiumPointsByName(Data[1]) == 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." não tem pontos vip.") elseif premiumPointsByName(Data[1]) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." premium point.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." premium points.") end else doPlayerSendCancel(cid, "Insira a quantidade de dias que vai adicionar de vip ao player.") end end else doPlayerSendCancel(cid, "Este player ".. Data[1] .." não existe.") end end else doPlayerSendCancel(cid, "Insira um nome.") end return TRUE end
Agora em data/talkactions/ abra o arquivo talkactions.xml e adicione as tags:
<talkaction log="yes" words="/addpoints" access="5" event="script" value="addpoints.lua"/> <talkaction log="yes" words="/checkpoints" access="5" event="script" value="addpoints.lua"/>
Agora em data/lib/ abra o arquivo data.lua e adicione:
function premiumPointsByName(cid) local Query = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";") local premium_points = Query:getDataInt("premium_points") return premium_points end
Para adicionar basta falar :
/addpoints Nomedoplayer, points
E para ver quantos pontos o player tem:
/checkpoints Playername
OBS : Fiz um bom uso de LuaSQL.
OBS : Estava com bugs e retirei alguns. (Créditos KutyKutyx3)
Bugs ?Reporte