Ir para conteúdo
  • Cadastre-se

(Resolvido)NPC de PROMOTION


Ir para solução Resolvido por Baalszor,

Posts Recomendados

.Qual servidor ou website você utiliza como base?  TFS 1.0

 

Qual o motivo deste tópico? Scripting de promover com level..

Citar

Gostaria que alguém me ajudasse a colocar esse npc com level, tipo, ele promove o player com qualquer level... 

 

Você tem o código disponível? Se tiver publique-o aqui: 

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, 'promover') or msgcontains(msg, 'promotion')) then

selfSay('Eu posso promover você para {Medieval Spearman} custa 3 crystal coins, (30k). Você aceita? ', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if(getPlayerItemCount(cid, 2160) >= 3) then

doPlayerRemoveItem(cid, 2160, 3)

doPlayerSetVocation(cid,13)

selfSay('Parabéns, agora você é um Medieval Spearman.', cid)

else

selfSay('Você não tem {crystal coins} Suficientes.', cid)

end

talkState[talkUser] = 0

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites
  • Solução

@Jonathan005 utilize esse script ou usa como base para fazer o seu, grato.

 

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 = 0, level = 7, 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})

npcHandler:addModule(FocusModule:new())

Link para o post
Compartilhar em outros sites

Valeu mesmo meu mano!!

 

Só tenho uma dúvida..

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 = 0, level = 35, promotion = 3, 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})

 

esse local node ai, tem como eu usar 3 desses? no mesmo npc? uma promotion level 35, uma promotion level 101, e a outra level 200, dá um salve quando puder, valeu mano, é nois! <3

Ficaria assim, porém, quando eu digo, promotion1, ele oferece a promotion, com o valor de 10k,  e eu falo yes, ele promove..

porém, se eu falo promotion2, ele oferece a promotion 2, com o valor de 30k e tal, mas se eu falar yes, ele não promove, nem a promotion3.. :/

 

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({'promotion1'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer ser promovido custa 1 crystal coin (10k) ? . Voce aceita? ?'})
    node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 10000, level = 35, promotion = 1, text = 'Congratulations! Você foi promovido.'})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem, volte quando estiver pronto..', reset = true})

npcHandler:addModule(FocusModule:new())

local node2 = keywordHandler:addKeyword({'promotion2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você quer ser promovido custa 3 crystal coins (30k). Você aceita? ?'})
    node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 30000, level = 101, promotion = 2, text = 'Congratulations! Você foi promovido.'})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem, volte quando estiver pronto..', reset = true})

npcHandler:addModule(FocusModule:new())

local node3 = keywordHandler:addKeyword({'promotion3'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você quer ser promovido custa 20 crystal coins (200k). Você aceita? ?'})
    node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 200, promotion = 3, text = 'Congratulations! Você foi promovido.'})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem, volte quando estiver pronto.', reset = true})

npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites

@Jonathan005 claro a variável node1 que está promovendo um jogador está sendo utilizada para todos, tem que mudar no lugar de node1 coloque node2 e node3, claro nas funções de váriavel, se der certo me fala.

Link para o post
Compartilhar em outros sites

Fala meu brother, deu certo sim, muito obrigado, eu tava colocando node1, 2 e 3, porém, só colocava no primeiro, esqueci de colocar nos outros, foi falta de atenção minha, perdão, valeu pela força, abraço meu mano!

 

Link para o post
Compartilhar em outros sites

Fala irmão, tranquilidade? Por acaso, você teria um script p/ quest?

Tipo, uma action..

Aquelas quest por action, tlgd?

Eu tenho um script de Action Quest aqui, porém ele dá p/ fazer qualquer level também, gostaria de fazer tais quests, porém com level, se liga, vê se você consegue me ajudar ai irmão, vlw, tmj..

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local player = Player(cid) 
    if item.uid == 4955 then
        if player:getStorageValue(490) < 1 then
            player:setStorageValue(490, 1)
            player:addItem(2519, 1)
            player:sendTextMessage(MESSAGE_INFO_DESCR, "You have found a crown shield.")
        else
            player:sendTextMessage(MESSAGE_INFO_DESCR, "The tree is empty.")
        end
    elseif item.uid == 3027 then
        if player:getStorageValue(491) < 1 then
            player:setStorageValue(491, 1)
            player:addItem(2487, 1)
            player:sendTextMessage(MESSAGE_INFO_DESCR, "You have found a crown armor.")
        else
            player:sendTextMessage(MESSAGE_INFO_DESCR, "The tree is empty.")
        end
    end
    return true
end

Link para o post
Compartilhar em outros sites

@Jonathan005 opa, claro amigo, use como exemplo, se quiser usar este script já que está todo configurado só mudar o id do item : // se tiver alguma dúvida pergunte.

 

function onUse(cid, item, frompos, item2, topos) -- script anexado por Henrique Baiak


storage = 490
item = 2160
quantidade = 1
level = 8

 if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid,storage) == -1 then
doPlayerSendTextMessage(cid,25,"Você recebeu seu item!")
doPlayerAddItem(cid, item, quantidade)
setPlayerStorageValue(cid,storage,1)

elseif getPlayerLevel(cid) <= level then
doPlayerSendTextMessage(cid,25,"Você precisa ser level 8 ou mais.")

elseif getPlayerStorageValue(cid,storage) >= 1 then
doPlayerSendTextMessage(cid,25,"Você já fez está quest")
end
return true
end

Editado por Piquenuxo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Caramba, humilde demais, jogou longe irmão, valeu pela força, abraço, tmjuntao

 

Mano, eu testei o script, porém observei, onde eu coloco o item uniqid? e o actionid? que é onde a pessoa clica? dá uma luz ai, kk vlw

Link para o post
Compartilhar em outros sites

@Jonathan005 amigo é só você registrar a função do actionid no actions.xml

    <action actionid="2424" event="script" value="questlevel.lua"/>

    <action uniqueid="2424" event="script" value="questlevel.lua"/>

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Obrigado novamente irmão, você me salvou demais, hahaha

Agora, deixa eu te perguntar, pra ficar tudo perfeito kkkkk

Tem algum script que o player clica na lavanca, e faz surgir monstros?

E algum que clica na lavanca e o player teleporta? 

Aguardo, vlw 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo