Ir para conteúdo

Ajuda A Fazer Promotion


madnf

Posts Recomendados

Tipo, o ot veio com umas vocation, tipo epic elder druid... essas coisas...

eu fiz 1 npc que da promotion pra vc por 1 preço, mais ele soh tranformar vc de knight pra elite kngith, sorcerer pra master sorcerer e assim vai...

como eu faço pra ele te da promotion de elite knight pra elite knight... master sorcerer pra elite master sorcerer e assim vai...

 

AJUDA: SCRIPT DO NPC:

 

Script npc.lua
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 talkState = {}

function creatureSayCallback(cid, type, msg)
   if(not npcHandler:isFocused(cid)) then
       return false
   end

  local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

local cfg = {
  itemid = 2280, --Substitua 'xxxx' pelo ID do item usado na Promotion
  qnt = 10 --Substitua 'xx' pela quantidade do item requerido
}

       if msgcontains(msg, "promotion") then
               selfSay("I can promote you for " .. cfg.qnt .. "" .. getItemNameById(cfg.itemid) .. ". Are you sure?", cid)
               talkState[talkUser] = 1

       elseif(msgcontains(msg, "yes") and talkState[talkUser] == 1)then
               if doPlayerRemoveItem(cid, cfg.itemid, cfg.qnt) then
                       selfSay('From now, you are promoted!', cid)
                       setPlayerPromotionLevel(cid, 1)
                       talkState[talkUser] = 0
                       npcHandler:releaseFocus(cid)
               else
                       selfSay('You don\'t have '.. cfg.qnt ..' '.. getItemNameById(cfg.itemid) ..'', cid)
                       talkState[talkUser] = 0
                       npcHandler:releaseFocus(cid)
               end
       elseif msg == "no" and talkState[talkUser] == 1 then
               selfSay("Then not", cid)
               talkState[talkUser] = 0
               npcHandler:releaseFocus(cid)
       end
      return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Script do npc.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Gaios" script="data/npc/scripts/monkey.lua" walkinterval="3500" floorchange="0">
       <health now="200" max="200"/>
       <look type="128" head="114" body="132" legs="114" feet="115" addons="3"/>
               <parameters>
                       <parameter key="message_greet" value="Hello |PLAYERNAME|! I can {promotion} you for 10 runas antigas"/>
                       <parameter key="message_farewell" value="Bye |PLAYERNAME|!"/>
               </parameters>
</npc>

 

SE EU NÃO ME ENGANO EU TENHO QUE MUDAR AQUI:

"setPlayerPromotionLevel(cid, 1)"

 

ahh e quando eu vo compra promotion denovo como elite knight... eu volto pra no vocation

 

Tipo, o ot veio com umas vocation, tipo epic elder druid... essas coisas...

eu fiz 1 npc que da promotion pra vc por 1 preço, mais ele soh tranformar vc de knight pra elite kngith, sorcerer pra master sorcerer e assim vai...

como eu faço pra ele te da promotion de elite knight pra elite knight... master sorcerer pra elite master sorcerer e assim vai...

 

AJUDA: SCRIPT DO NPC:

 

Script npc.lua
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 talkState = {}

function creatureSayCallback(cid, type, msg)
   if(not npcHandler:isFocused(cid)) then
       return false
   end

  local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

local cfg = {
  itemid = 2280, --Substitua 'xxxx' pelo ID do item usado na Promotion
  qnt = 10 --Substitua 'xx' pela quantidade do item requerido
}

       if msgcontains(msg, "promotion") then
               selfSay("I can promote you for " .. cfg.qnt .. "" .. getItemNameById(cfg.itemid) .. ". Are you sure?", cid)
               talkState[talkUser] = 1

       elseif(msgcontains(msg, "yes") and talkState[talkUser] == 1)then
               if doPlayerRemoveItem(cid, cfg.itemid, cfg.qnt) then
                       selfSay('From now, you are promoted!', cid)
                       setPlayerPromotionLevel(cid, 1)
                       talkState[talkUser] = 0
                       npcHandler:releaseFocus(cid)
               else
                       selfSay('You don\'t have '.. cfg.qnt ..' '.. getItemNameById(cfg.itemid) ..'', cid)
                       talkState[talkUser] = 0
                       npcHandler:releaseFocus(cid)
               end
       elseif msg == "no" and talkState[talkUser] == 1 then
               selfSay("Then not", cid)
               talkState[talkUser] = 0
               npcHandler:releaseFocus(cid)
       end
      return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Script do npc.xml

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Gaios" script="data/npc/scripts/monkey.lua" walkinterval="3500" floorchange="0">
       <health now="200" max="200"/>
       <look type="128" head="114" body="132" legs="114" feet="115" addons="3"/>
               <parameters>
                       <parameter key="message_greet" value="Hello |PLAYERNAME|! I can {promotion} you for 10 runas antigas"/>
                       <parameter key="message_farewell" value="Bye |PLAYERNAME|!"/>
               </parameters>
</npc>

 

SE EU NÃO ME ENGANO EU TENHO QUE MUDAR AQUI:

"setPlayerPromotionLevel(cid, 1)"

 

ahh e quando eu vo compra promotion denovo como elite knight... eu volto pra no vocation

Editado por madnf
Link para o comentário
Compartilhar em outros sites

VOce Quer 1 NPC que faça os 2 juntos ou 1 que trasnforma em elite e outro em elite master sorcer etc.?

 

Isso que eu queria, mais eu to tentando fazer em talkactions :)

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
×
×
  • Criar Novo...