KutyKutyx3 1 #1 Postado 22 Junho, 2009 (editado) ------------------------------- 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 ------------------------------- 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, ",") 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` = `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 pontos basta falar: /addpoints Nomedoplayer, points E para ver quantos pontos o player tem: /checkpoints Playername Espero que gostem Abraços. Editado 8 Julho, 2009 por KutyKutyx3 Bug Fixed Compartilhar este post Link para o post
Gpwjhlkdcf 21 #2 Postado 24 Junho, 2009 Aprovado e Movido para Download de Ações. Observação: Fez um bom uso de LuaSQL. Parabéns. É extremamente raro encontrar algo assim por aqui. Compartilhar este post Link para o post
Raydrickk 0 #3 Postado 24 Junho, 2009 @KutyKutyx3 Você poderia me passar a database compatível com o site e o servidor? TFS 0.3.4 TL2 e Gesior Acc. 0.3.4 beta4 Eu estou usando uma mais ela da erro no step 5 da instalação do site.. e pelo que vi em outros tópicos de ajuda é por causa da database... Compartilhar este post Link para o post
niKer 0 #4 Postado 24 Junho, 2009 O que seria premium points dias de premium? Se sim ficou bom o script muito bom ;P vlw pela contribuiçao!! Compartilhar este post Link para o post
Black Draguns 0 #5 Postado 25 Junho, 2009 Hmm Legal Gostei ^^ Compartilhar este post Link para o post
KutyKutyx3 1 #6 Postado 25 Junho, 2009 O que seria premium points dias de premium?Se sim ficou bom o script muito bom ;P vlw pela contribuiçao!! Premium points são pontos que você adiciona que ele pode comprar coisas no Shop do Site Compartilhar este post Link para o post
KuawiT 0 #7 Postado 25 Junho, 2009 vc ganha um bom tempo sem abri o database Compartilhar este post Link para o post
PHBS 0 #8 Postado 30 Junho, 2009 (editado) Cara, pq meu site qnd eu compro o item ele n vai para o char? mas qnd eu dou change name troca o nick normal..se puderem responder fico grato. Vlw pelo script! Editado 30 Junho, 2009 por PHBS Compartilhar este post Link para o post
Tozim 0 #9 Postado 1 Julho, 2009 Perfeito, vc ja tinha me falado deste script, porem eu nao imaginava q ia fikar tao bom Compartilhar este post Link para o post
Lwkass 1 #10 Postado 1 Julho, 2009 Ótimo, adorei o script, da pra fazer vários scripts a partir desse. Aprovado Compartilhar este post Link para o post
Tozim 0 #12 Postado 4 Julho, 2009 @Kuty Achei um erro, quando coloco mais pontos para um player que já possui x pontos, esse player perde os pontos que já possuia. exemplo: Jonas possuia 3 pontos, ele compra mais 4 pontos, eu escrevo /addpoints Jonas, 4. Jonas deveria ficar com 7 pontos certo? Porém ele fica apenas com 4 pontos. Compartilhar este post Link para o post
Knighz 0 #13 Postado 4 Julho, 2009 Muito bom cara, depois vo testart aqui. Brigadão por contribuir. Compartilhar este post Link para o post
Conde2 0 #14 Postado 4 Julho, 2009 Cara muito bom mesmo =D Eu não me recordo muito bem mais acho que já vi esse script em outro forum... Só que o script era bem pior era em dois script não apenas um. Agora me explica porque você usou duas vezes if Data then ??? E outra porque usou UPDATE somente assim ele so vai mudar =P de um para outro.?? você deveria usar: db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. Data[2] .. " WHERE `id` = " .. getPlayerAccountId(Data[1]) .. ";") Compartilhar este post Link para o post
KutyKutyx3 1 #15 Postado 8 Julho, 2009 @Conde2 Obrigado, atualizado (Y) Compartilhar este post Link para o post
vincity 0 #16 Postado 10 Julho, 2009 olha só.. ta legalzim cara.. Parabens. Compartilhar este post Link para o post