Ir para conteúdo

Featured Replies

Postado

Olá, eu quero que algum mago das programações em .lua me crie um npc pra mim, este ira fazer a promote de vocations (royal paladin, elite knight, elder druid e master sorc) eu suas evoluões no OT (lord paladin, monster knight, majestyc druid e supreme sorc... vocações by Fox world [estão na sequencia, exemplo :sorcerer 1 master sorcerer 5 e supreme sorcerer 9]) a promotion vai ser de graça e n precisa de lvl, o nome do npc vai ser Mestre raikatu... dialogo:

 

Olá eu sou o Mestre Raikatu, oque você quer comigo?
promotion/

 

Eu posso lhe ensinar uma nova promotion, voce aceita?
yes/no

 

(se no) Então adeus jovém gafanhoto

 

(se yes) Parabéns você evoluiu sua promotion!

bye

 

Siga sua jornada por esta nova era

 

a aparencia fica a criterio do scripter, dou REP+++ muito obrigado...


up!

  • Respostas 10
  • Visualizações 3.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Teste assim   -- Códigos do Suicide. local tab = {     [5] = {prom = 9}, -- [vocid] = {prom = newvocid},     [6] = {prom = 10},     [7] = {prom = 11},     [8] = {prom = 12}, } local keywordHandl

  • raikatu.lua (data/npc/scripts): local tab = {     [5] = {prom = 9}, -- [vocid] = {prom = newvocid},     [6] = {prom = 10},     [7] = {prom = 11},     [8] = {prom = 12} } local keywordHandler = Keyw

Postado

raikatu.lua (data/npc/scripts):

local tab = {
    [5] = {prom = 9}, -- [vocid] = {prom = newvocid},
    [6] = {prom = 10},
    [7] = {prom = 11},
    [8] = {prom = 12}
}

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

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

function creatureSayCallback(cid, type, msg)
    if (not npcHandler:isFocused(cid)) then
        return false
    end
    
    local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
    if (msgcontains(msg, 'promotion')) then
        if tab[getPlayerVocation(cid)] then
            talkState[talkUser] = 1
            selfSay('Eu posso lhe ensinar uma nova promotion, voce aceita?', cid)
        else
            talkState[talkUser] = 0
            selfSay('Eu nao posso te promover, voce ainda nao esta pronto.', cid)
        end
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerVocation(cid) ~= tab[getPlayerVocation(cid)].prom) then
            talkState[talkUser] = 0
            doPlayerSetVocation(cid, tab[getPlayerVocation(cid)].prom)
            doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS)
            selfSay('Parabens, voce evoluiu sua promotion!', cid)
        else
            talkState[talkUser] = 0
            selfSay('Voce ja foi promovido, continue sua jornada.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
        talkState[talkUser] = 0
        selfSay('Entao adeus, jovem gafanhoto.', cid)
    end
    
    return true
end




Mestre Raikatu.xml (data/npc):

<npc name="Mestre Raikatu" script="data/npc/scripts/raikatu.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="325" head="39" body="114" legs="114" feet="39" addons="1"/>
	<parameters>
		<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu sou o Mestre Raikatu, o que voce quer comigo?" />
	</parameters>
</npc>

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

Postado
  • Autor

Cara, só ta com um probleminha, ele fica dizendo "18:08 Mestre Raikatu: Eu nao posso te promover, voce ainda nao esta pronto." eu ja fui lah, com todas as vocations, lvl 20,  45, 300 e ele sempre diz que eu não estou pronto, vc sabe oque ta errado? :P

Postado

Teste assim

 

-- Códigos do Suicide.

local tab = {
    [5] = {prom = 9}, -- [vocid] = {prom = newvocid},
    [6] = {prom = 10},
    [7] = {prom = 11},
    [8] = {prom = 12},
}

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

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

function creatureSayCallback(cid, type, msg)
    if (not npcHandler:isFocused(cid)) then
        return false
    end
    
    local t = tab[getPlayerVocation(cid)]
    
    local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
    if (msgcontains(msg, 'promotion')) then
        if t then
        
            talkState[talkUser] = 1
            selfSay('Eu posso lhe ensinar uma nova promotion, voce aceita?', cid)
        else
        
            talkState[talkUser] = 0
            selfSay('Eu nao posso te promover, voce ainda nao esta pronto.', cid)
        end
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if (getPlayerVocation(cid) ~= t.prom) then
        
            talkState[talkUser] = 0
            doPlayerSetVocation(cid, t.prom)
            doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS)
            selfSay('Parabens, voce evoluiu sua promotion!', cid)
        else
        
            talkState[talkUser] = 0
            selfSay('Voce ja foi promovido, continue sua jornada.', cid)
        end
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
    
        talkState[talkUser] = 0
        selfSay('Entao adeus, jovem gafanhoto.', cid)
    end
    
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Postado
  • Autor

Ótimo! reputados os dois, mas você poderia me ajudar com mais uma coisa? não ta aparecendo "you are a master sorcerer" e aparece este erro na distro

 

[02/11/2014 22:46:25] [Warning - Vocations::getVocation] Vocation 4294967295 not found.
[02/11/2014 22:46:25] [Warning - Vocations::getVocation] Vocation 4294967295 not found.
[02/11/2014 22:46:25] Sorc foda has logged in.

 

Eu coloquei as vocations errado?

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo