Ir para conteúdo
Entre para seguir isso  
KutyKutyx3

[GESIOR AAC] Add Premium Points

Recommended Posts

KutyKutyx3    1
KutyKutyx3

-------------------------------

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 por KutyKutyx3
Bug Fixed

Compartilhar este post


Link para o post
Gpwjhlkdcf    21
Gpwjhlkdcf

  • 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
Raydrickk

@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
niKer

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
Black Draguns

Hmm Legal

Gostei ^^

Compartilhar este post


Link para o post
KutyKutyx3    1
KutyKutyx3
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 :D

Compartilhar este post


Link para o post
KuawiT    0
KuawiT

vc ganha um bom tempo sem abri o database

Compartilhar este post


Link para o post
PHBS    0
PHBS

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 por PHBS

Compartilhar este post


Link para o post
Tozim    0
Tozim

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
Lwkass

Ótimo, adorei o script, da pra fazer vários scripts a partir desse.

 

Aprovado

Compartilhar este post


Link para o post
Angel Fallen    0
Angel Fallen

Mtu Bom Nota 9,30!

Compartilhar este post


Link para o post
Tozim    0
Tozim

@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
Knighz

Muito bom cara, depois vo testart aqui.

Brigadão por contribuir. :)

Compartilhar este post


Link para o post
Conde2    0
Conde2

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
KutyKutyx3

@Conde2

 

Obrigado, atualizado (Y)

Compartilhar este post


Link para o post
vincity    0
vincity

olha só..

ta legalzim cara..

 

Parabens.

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×