LE

[script] Npc Vendedno Promotion Para Free

Por leonardopaiz, 18 de set. de 2009 em Archived

tibia
script
otserv
8
1.9k
18 de setembro de 2009 às 11:57

Bom meu server eh TFS 0.3.4 desenvolvido por Chalera, hoje olhando os npc´s vi que o "king Tibianus" e o "queen eloise" estavam vendendo promotion para FREE, visitei alguns posts mas vi q o script era igual o meu que seria este

 

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())

 

ja tentei fazer algumas alterações mas ele sempre vende pra FREE alguem poderia me dar uma luz?

desde ja agradeço :D

Editado Setembro 18 por leonardopaiz

satan666S
19 de setembro de 2009 às 15:52

procure por isso no config.lua premiumForPromotion

se não tiver e não ocorrem erros de inicialização no console referentes aos npcs.

adicione no script do npc isso premium = 1, lembrando que isso tem que ficar nos parâmetros.

caso não resolva você vai ter que modifcar a lib dos npcs ou criar um novo npc que faça isso.

 

o mais facil seria criar um novo npc.

21 de setembro de 2009 às 20:00

Então no config.lua esta correto

 

-- Premium-related

freePremium = "no"

premiumForPromotion = "yes"

 

só que mesmo assim vende pra quem não é Premium.

 

Ja tentei inumeras vezes fazer um npc novo, e todas não deram certo algumas o npc não falava outras ele continuava vendendo pra Free. Teve uma vez que não deu muito certo porque deu um erro no log mas precisamente nos parâmetros do [Npchandler] mas não consegui modifica-lo.

 

Em questão de colocar premium = 1 que você citou peço que me ajude pois script não é o meu forte!

 

Grato

lucasjockeyL
21 de setembro de 2009 às 21:23

O Marcryzius quis dizer isso:

 

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, premium = 1, 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())

21 de setembro de 2009 às 22:08

pelo que vi num sei se esta correto mas so o 2 que precisa ser premium???

ou eu posso coloca nesse tb?

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})

--[[

 

grato

Editado Setembro 21 por leonardopaiz

lucasjockeyL
22 de setembro de 2009 às 13:38
pelo que vi num sei se esta correto mas so o 2 que precisa ser premium???

ou eu posso coloca nesse tb?

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})

--[[

 

grato

 

 

Claro, mas só coloque onde está a string "yes":

 

node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, premium = 1, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})

22 de setembro de 2009 às 20:35

sim sim..........

 

deu certo, muito obrigado. E pensa que ninguem nos outros sites falo que tinha jeito de mudar soh pelo script do npc mesmo.

Foi muito util, agora aprendi.

grato

pode fechar!

KhostK
22 de setembro de 2009 às 21:00

Amigo Dê sua Dúvida como Sanada, ajude os Moderadores do Fórum...

 

Boa Lucas Boa Marcryzius!

 

Obrigado!