Ir para conteúdo
  • Cadastre-se

(Resolvido)Adicionar Storage no Player neste Script?


Ir para solução Resolvido por L3K0T,

Posts Recomendados

Galera, gostaria que alguem que possa me ajudar edite esse script pra mim:

 

Spoiler

function onSay(cid, words, param)
    local t = string.explode(string.lower(param), ",")
    local call, name, day = t[1], t[2], t[3]
    local player, keys = getPlayerByName(name), {"add", "remove", "check"}
    if not isInArray(keys, call) or param == '' or name == nil then
    return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------")
    elseif not isPlayer(player) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!')
    end
     
    if call == keys[1] then
    doPlayerAddPremiumDays(player, day)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.')
    doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.')
    elseif call == keys[2] then
        if getPlayerPremiumDays(player) > 0 then
            doPlayerRemovePremiumDays(player, day)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.')
        end
    elseif call == keys[3] then
        if isPremium(player) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.')
        end
    end
   return true
end

Para que quando eu adicionar a premium no player, seja adicionada uma Storage na conta dele tambem, para que ele possa passar em certas areas do mapa!

 

Esse script ele adiciona Premium Account nos jogadores, mais não tem nenhum tipo de Storage, nem nada onde eu possa marca no mapa para que apenas Premium Accounts passe por "certos" lugares, então gostaria de adicionar a storage "55555" na conta do player, alguem ae pode me ajudar a editar esse script pra isso? 

 

Agradeço!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  • Sub-Admin
  • Solução
function onSay(cid, words, param)
    local t = string.explode(string.lower(param), ",")
    local call, name, day = t[1], t[2], t[3]
    local player, keys = getPlayerByName(name), {"add", "remove", "check"}
    if not isInArray(keys, call) or param == '' or name == nil then
    return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------")
    elseif not isPlayer(player) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!')
    end
     
    if call == keys[1] then
    doPlayerAddPremiumDays(player, day)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.')
    setPlayerStorageValue(cid,55555,1)
    doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.')
    elseif call == keys[2] then
        if getPlayerPremiumDays(player) > 0 then
            doPlayerRemovePremiumDays(player, day)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.')
        end
    elseif call == keys[3] then
        if isPremium(player) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.')
        end
    end
   return true
end

 

Editado por Alexy Brocanello (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Digoshow disse:

Galera, gostaria que alguem que possa me ajudar edite esse script pra mim:

 

  Mostrar conteúdo oculto

function onSay(cid, words, param)
    local t = string.explode(string.lower(param), ",")
    local call, name, day = t[1], t[2], t[3]
    local player, keys = getPlayerByName(name), {"add", "remove", "check"}
    if not isInArray(keys, call) or param == '' or name == nil then
    return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------")
    elseif not isPlayer(player) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!')
    end
     
    if call == keys[1] then
    doPlayerAddPremiumDays(player, day)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.')
    doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.')
    elseif call == keys[2] then
        if getPlayerPremiumDays(player) > 0 then
            doPlayerRemovePremiumDays(player, day)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.')
        end
    elseif call == keys[3] then
        if isPremium(player) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.')
        end
    end
   return true
end

Para que quando eu adicionar a premium no player, seja adicionada uma Storage na conta dele tambem, para que ele possa passar em certas areas do mapa!

 

Esse script ele adiciona Premium Account nos jogadores, mais não tem nenhum tipo de Storage, nem nada onde eu possa marca no mapa para que apenas Premium Accounts passe por "certos" lugares, então gostaria de adicionar a storage "55555" na conta do player, alguem ae pode me ajudar a editar esse script pra isso? 

 

Agradeço!

 

é melhor usar um script pra checar o premium..

 

em data/movements/scripts cria um arquivo lua e coloca isso dentro:

 

Spoiler

function onStepIn(cid, item, position, fromPosition)

if getPlayerPremiumDays(cid) > 0 then
    doPlayerSendCancel(cid, "Bem vindo")
    doSendMagicEffect(getCreaturePosition(cid), 22)
else
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Area reservada para premium.")
    doTeleportThing(cid, fromPosition)
    doSendMagicEffect(getCreaturePosition(cid), 2)
end

return true
end

 

e em data/movements/movements.xml coloca a seguinte tag:

<movevent type="StepIn" uniqueid="13901" event="script" value="Nome Do Arquivo.lua"/>

no rme coloca o numero da uniqueid no tile que o player vai conseguir passar ou n. a mesma da tag.

download.jpg

Link para o post
Compartilhar em outros sites
10 minutos atrás, Alexy Brocanello disse:

function onSay(cid, words, param)
    local t = string.explode(string.lower(param), ",")
    local call, name, day = t[1], t[2], t[3]
    local player, keys = getPlayerByName(name), {"add", "remove", "check"}
    if not isInArray(keys, call) or param == '' or name == nil then
    return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------")
    elseif not isPlayer(player) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!')
    end
     
    if call == keys[1] then
    doPlayerAddPremiumDays(player, day)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.')
    setPlayerStorageValue(cid,55555,1)
    doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.')
    elseif call == keys[2] then
        if getPlayerPremiumDays(player) > 0 then
            doPlayerRemovePremiumDays(player, day)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.')
        end
    elseif call == keys[3] then
        if isPremium(player) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.')
        end
    end
   return true
end

 

 

Essa mesmo Storage é removida assim que o Dia adicionado acabar?

4 minutos atrás, Ed.Specter disse:

 

é melhor usar um script pra checar o premium..

 

em data/movements/scripts cria um arquivo lua e coloca isso dentro:

 

  Ocultar conteúdo

function onStepIn(cid, item, position, fromPosition)

if getPlayerPremiumDays(cid) > 0 then
    doPlayerSendCancel(cid, "Bem vindo")
    doSendMagicEffect(getCreaturePosition(cid), 22)
else
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Area reservada para premium.")
    doTeleportThing(cid, fromPosition)
    doSendMagicEffect(getCreaturePosition(cid), 2)
end

return true
end

 

e em data/movements/movements.xml coloca a seguinte tag:


<movevent type="StepIn" uniqueid="13901" event="script" value="Nome Do Arquivo.lua"/>

no rme coloca o numero da uniqueid no tile que o player vai conseguir passar ou n. a mesma da tag.

Sim, mais isso ae é o Script para o Tile certo? o Script que relatei a cima é pra adicionar Premium no Player e esse que você me mandou é pra checar se o player tem a Storage "13901", mais mesmo assim, obrigado por ajudar!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
7 minutos atrás, Digoshow disse:

Essa mesmo Storage é removida assim que o Dia adicionado acabar?

Sim, mais isso ae é o Script para o Tile certo? o Script que relatei a cima é pra adicionar Premium no Player e esse que você me mandou é pra checar se o player tem a Storage "13901", mais mesmo assim, obrigado por ajudar!

 

não amigo, esse que mandei n serve para checar se o player tem a storage 13901, ele checa se o player tem premium..

esse 13901, é a uniqueid que você coloca no tile, você terá que fazer o mesmo colocando storage no script de premium.

 

faz um teste, coloca o script que te mandei, e coloca a uniqueid no tile. tenta passar com um player que tem premium, e outro que n tem.

download.jpg

Link para o post
Compartilhar em outros sites
Agora, Ed.Specter disse:

 

não amigo, esse que mandei n serve para checar se o player tem a storage 13901, ele checa se o player tem premium..

esse 13901, é a uniqueid que você coloca no tile, você terá que fazer o mesmo colocando storage no script de premium.

 

faz um teste, coloca o script que te mandei, e coloca a uniqueid no tile. tenta passar com um player que tem premium, e outro que n tem.

Você não entendeu amigo, o script que coloquei pra ser editando adicionando "Storage" ele adiciona premium na conta do player, esse que você me mandou so server para verificar se o player é premium ou não, se for ele passara pelo sqm, se não ele é chutado pra tras correto? hehehe

Mais já esta certo aqui, só queria saber se a Storage do Script que foi editado está removendo a "Storage" assim que o Dia Premium acabar, mesmo assim agradeço a ajuda!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
12 horas atrás, Alexy Brocanello disse:

function onSay(cid, words, param)
    local t = string.explode(string.lower(param), ",")
    local call, name, day = t[1], t[2], t[3]
    local player, keys = getPlayerByName(name), {"add", "remove", "check"}
    if not isInArray(keys, call) or param == '' or name == nil then
    return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------")
    elseif not isPlayer(player) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!')
    end
     
    if call == keys[1] then
    doPlayerAddPremiumDays(player, day)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.')
    setPlayerStorageValue(cid,55555,1)
    doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.')
    elseif call == keys[2] then
        if getPlayerPremiumDays(player) > 0 then
            doPlayerRemovePremiumDays(player, day)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.')
        end
    elseif call == keys[3] then
        if isPremium(player) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.')
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.')
        end
    end
   return true
end

 

 

Bom, obrigado vou dar como resolvido o Topico porque o tema do Topico foi resolvido, porem encontro outros 2 problemas no Script, quem puder me ajudar, ou para os Usuarios que tiverem o mesmo problema, segue o topico:

 

Podem fechar este topico, está resolvido!

Obrigado!

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo