Ir para conteúdo
  • 0

[PEDIDO] NPC Promotion Com Mais Opções


CaioValverde

Pergunta

Então, eu estou precisando para meu projeto um NPC de promotion que faça o seguinte:

 

Ex: Vocação: Knight

Promotions disponíveis no lvl 50: Defensor ou Blader.

 

Eu queria o que o NPC me desse mais de uma opção das promotions e que o player pudesse escolher somente uma.

 

Obrigado desde já!!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

já tava fazendo aqui fiz ate tabela

 

 

-- config by uotl£
config = {[4] = { -- [coloca vocation que tem que ser antes de escolher]
lvl = 50, -- level tem que ser maior que 50
id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela
id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela
}
-- config by uotl£

 

 

mais promotion vai ser de graça você não diz no topico?

 

não liga pros nome que você ver na tabela você que ia editar os números e oque ta entre "aspas"

 

EDIT

NPC.XML

 

 

data\npc\

cria Notle.xml

coloca isso

<npc name="Promotion Notle" script="data/npc/scripts/Promotion_Notle.lua" floorchange="0" access="5" level="1" maglevel="1">
	<health now="150" max="150"/>
	<look type="129" head="75" body="115" legs="125" feet="85" addons="3"/>
	<parameters>
        <parameter key="module_travel" value="1"/>
	<parameter key="message_greet" value="Olá |PLAYERNAME|. Eu Vendo Promotions Quer comprar alguma {promotion} ?" />
	</parameters>
</npc>

 

 

ARQUIVO.LUA

 

 

data\npc\scripts\

cria promotion_notle.lua

-- config by uotl£
config = {[4] = { -- [coloca vocation que tem que ser antes de escolher]
lvl = 50, -- level tem que ser maior que 50
id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela
id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela
}
local fala_do_npc = "pra você não tenho nada pra vender fdp" -- fala do npc se já tiver comprado e se não for vocation certa
local preco = 100 -- preço por platinum  100 que é igual 1 crystal
-- config by uotl£

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
voc = config[getPlayerVocation(cid)]
if(msgcontains(msg, 'promotion') or msgcontains(msg, 'promotions')) then
       check (cid,talkUser)
    elseif (msgcontains(msg, voc.nome_da_vocation) and talkState[talkUser] == 1) then
       talkState[talkUser] = 2
          selfSay("tem certeza que você quer ser [ "..voc.nome_da_vocation.." ] por "..preco.." moedas de platinum  [yes] ou [no]", cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
        v1_check (cid,talkUser,numero_s)
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 2) then
       talkState[talkUser] = 0
        selfSay("até mais volte quando decidir", cid)
    elseif (msgcontains(msg, voc.nome_da_vocation2) and talkState[talkUser] == 1) then
        talkState[talkUser] = 3
         selfSay("tem certeza que você quer ser ["..voc.nome_da_vocation2.."] por "..preco.." moedas de platinum [yes] ou [no]", cid)
    elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
        v2_check (cid,talkUser,numero_s)
        talkState[talkUser] = 0
    elseif (msgcontains(msg, 'no') and talkState[talkUser] == 3) then
        talkState[talkUser] = 0
        selfSay("até mais volte quando decidir", cid)
    end
end

function check (cid,talkUser)
    if voc then
        if getPlayerLevel(cid) >= voc.lvl then
		talkState[talkUser] = 1
		selfSay('pra você eu vendo [ '..voc.nome_da_vocation..' ] OU ['..voc.nome_da_vocation2..'] por '..preco..' moedas de platinum', cid)
        else
            selfSay('volta aqui quando pegar level '..voc.lvl..'', cid)
			talkState[talkUser] = 0
        end
    else
        selfSay(fala_do_npc, cid)
		talkState[talkUser] = 0
        return true
    end
end

function v1_check (cid,talkUser)
    if(doPlayerRemoveMoney(cid, (preco*100)) == true)  then
        doPlayerSetVocation(cid, voc.id_da_vocation)
        selfSay("parabens agora você é "..voc.nome_da_vocation.."", cid)
        talkState[talkUser] = 0
    else
        selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid)
        talkState[talkUser] = 0
    end
    return true
end

function v2_check (cid,talkUser)
    if(doPlayerRemoveMoney(cid, (preco*100)) == true) then
        doPlayerSetVocation(cid, voc.id_da_vocation2)
        selfSay("parabens agora você é "..voc.nome_da_vocation2.."", cid)
        talkState[talkUser] = 0
    else
        selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid)
        talkState[talkUser] = 0
    end
    return true
end

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

 

 

 

cara agora só você editar essa parte

 

-- config by uotl£
config = {[4] = { -- [coloca vocation que tem que ser antes de escolher]
lvl = 50, -- level tem que ser maior que 50
id_da_vocation = 8,nome_da_vocation = "Elite Knight", -- id da primeira vocation que pode compra e o nome dela
id_da_vocation2 = 12,nome_da_vocation2 = "Citizen Knight"} -- id da segunda vocation que pode compra e o nome dela
}
local fala_do_npc = "pra você não tenho nada pra vender fdp" -- fala do npc se já tiver comprado e se não for vocation certa
local preco = 100 -- preço por platinum 100 que é igual 1 crystal
-- config by uotl£
programei com vocation Knight que é ID 4
que ele pode comprar vocation 8 Elite Knight
e 12 Citizen Knight
Editado por notle2012
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...