Ir para conteúdo

Featured Replies

  • Respostas 9
  • Visualizações 852
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tente o seguinte, altere o script da talkaction para esse: function onSay(cid, words, param) local vocs = { [1] = 5, -- master sorcerer [2] = 6, -- elder druid [3] =

  • function onSay(cid, words, param)  local vocs = { [1] = 5, -- master sorcerer                [2] = 6, -- elder druid                [3] = 7, -- royal paladin                [4] = 8

Postado

usa o do wakon, ele colocou para salvar a voc em uma storage que quando logar vai voltar para a vocação atual, sem bugs.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado

Cara meu ot eu tirei esse comando de comprar promotion, eu deixei com npc acho que fica mais legal, pelomenos no meu fico '-'

se você não resolver o problema e quiser colocar por npc eu uso esse npc aqui pra comprar promotion se quiser usa tai...

 

vai em data/npc/ cria um arquivo chamado ''King Arthas VII'' e coloca isso dentro

<?xml version="1.0" encoding="UTF-8"?>
<npc name="King Arthas VII" script="data/npc/scripts/promotion.lua" walkinterval="5000" floorchange="0">
    <health now="100" max="100"/>
    <look type="332" head="21" body="87" legs="107" feet="95" addons="0"/>
    <parameters>
        <parameter key="message_greet" value="Ola jovem |PLAYERNAME|! Eh novo na cidade?"/>
        <parameter key="message_farewell" value="Volte quando quiser, |PLAYERNAME|!"/>
        <parameter key="module_keywords" value="1" />
        <parameter key="keywords" value="hail king;job;promote;" />
        <parameter key="keyword_reply1" value="Eu te saudo, meu fiel |PLAYERNAME|." />
        <parameter key="keyword_reply2" value="Eu sou o soberano, King Arthas VII, e meu dever eh trazer justica e paz a essa cidade, e em breve, o mundo todo." />
        <parameter key="keyword_reply3" value="Posso te promover. Diga {promotion}." />

        <parameter key="module_shop" value="1"/>
        <parameter key="shop_sellable" value="" />
        <parameter key="shop_buyable" value="" />
    </parameters>
</npc>

 

Agora vá em data/npc/scripts crie um arquivo chamado ''promotion''

e bote isso dentro

[spoiler*]

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                npcHandler:onThink()                    end

local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'})
    node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
--[[
local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 200000 gold coins. Do you want me to epicize you?'})
    node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 120, promotion = 2, text = 'Congratulations! You are now epicized.'})
    node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
]]--

npcHandler:addModule(FocusModule:new())

[/spoiler*]

 

 

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

Postado

@Sekk

Lembrando que é exatamente 'db.query' ou 'db.executeQuery'. No erro aparece 'Query' que está com a primeira letra maiúscula. Mas de qualquer jeito se não funcionar, use o do Wakon. O meu era só para não precisar de storage, o que pode as vezes causar bugs, etc.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Postado
  • Autor
  • Solução

Obrigado a todos, principalmente @Wakon e @mateusak por me ajudarem!

 

Porém, consegui esse aqui, é MUITO PARECIDO COM O DO WAKON!

 

promotion.lua

Spoiler

function onSay(cid, words, param) 
 
local vocs = { [1] = 5, -- master sorcerer
 
               [2] = 6, -- elder druid
 
               [3] = 7, -- royal paladin
 
               [4] = 8, -- elite knight
 
               }
 
local newvoc = vocs[getPlayerVocation(cid)]
local price = 20000
             
    if getPlayerPremiumDays(cid) > 0 then
 
        if getPlayerMoney(cid) >= price then
 
            if vocs[getPlayerVocation(cid)] then
 
                doPlayerSetVocation(cid,newvoc)
                doPlayerRemoveMoney(cid, price)
                doSendAnimatedText(getPlayerPosition(cid),"PROMOTED", 79)
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
                setPlayerStorageValue(cid, 21323, newvoc)
            else
 
                doPlayerSendCancel(cid, "Voce nao pode ser promovido.")
                doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            end   
 
        else
 
            doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente.")
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
        end
 
    else
 
        doPlayerSendCancel(cid, "Voce precisa ser premium para usar esse comando.")
        doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) 
    end
 
    return true
 
end

 

login.lua

Spoiler

local newsvoc = getPlayerStorageValue(cid, 21323)
    if newsvoc > 4 then
        doPlayerSetVocation(cid,newsvoc)
    end

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo