ED
pedido

Adicionar Isso Nesse Script

Por EduOts, 09 de out. de 2012 em Scripts

resolvido
otserv
tibia
script
10
1.1k
EduOtsE
09 de outubro de 2012 às 02:18

Tem como adicionar isso nesse script de npc missao?

 

apenas players lv 50+ poderão fazer a missao

 

e quando o player for level inferior a 50 o npc falar:

 

"voce nao tem level suficiente para essa missao"

mdr.gif

 

 

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 crystalid = {2349,2222,4444} -- item que o player deverá ter para fazer a missao

local gnt,gnt2,gnt3 = 1,1,1 -- quantos item que vc quer que remove em Order dos id de cima

local recom = {2160,2160,2160,2160,2160} -- id das recompensas

local gntre = {1,1,1,1,1} -- quantos que vai ganhar das recompensas em Order dos id de cima

local storage = 2358

local getstorage = getPlayerStorageValue(cid, storage)

local sorrymessage = "Desculpe, voce nao tem o item que eu preciso..."

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'aceitar') then

if getstorage == 1 then

npcHandler:say("Voce jah completou a mission.", cid)

elseif getstorage < 1 then

npcHandler:say("Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me {ajudar}?", cid)

talkState[talkUser] = 1

end

elseif msgcontains(msg, 'ajudar') then

if getstorage < 1 then

npcHandler:say("Você trouxe o item das colinas de Egeu em troca de 250k? Se sim, fale {yes}.", cid)

end

elseif msgcontains(msg, 'yes') then

if talkState[talkUser] == 1 then

if getstorage < 0 then

if doPlayerRemoveItem(cid, crystalid[1], gnt) and doPlayerRemoveItem(cid, crystalid[2], gnt2) and doPlayerRemoveItem(cid, crystalid[3], gnt3) == TRUE then

npcHandler:say("Obrigado por trazer o item.", cid)

setPlayerStorageValue(cid, storage, 1)

doPlayerAddItem(cid, recom[1], gntre[1])

doPlayerAddItem(cid, recom[2], gntre[2])

doPlayerAddItem(cid, recom[3], gntre[3])

doPlayerAddItem(cid, recom[4], gntre[4])

doPlayerAddItem(cid, recom[5], gntre[5])

talkState[talkUser] = 0

elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then

npcHandler:say(sorrymessage, cid)

talkState[talkUser] = 0

end

end

end

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

npcHandler:say("OK, Volte quando estiver pronto.", cid)

talkState[talkUser] = 0

end

return TRUE

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Editado Outubro 9 por EduOts

notle2012N
09 de outubro de 2012 às 03:13
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 crystalid = {2349,2222,4444} -- item que o player deverá ter para fazer a missao
local gnt,gnt2,gnt3 = 1,1,1 -- quantos item que vc quer que remove em Order dos id de cima
local recom = {2160,2160,2160,2160,2160} -- id das recompensas
local gntre = {1,1,1,1,1} -- quantos que vai ganhar das recompensas em Order dos id de cima
local level = 50 -- edita aqui level
local storage = 2358
local getstorage = getPlayerStorageValue(cid, storage)
local sorrymessage = "Desculpe, voce nao tem o item que eu preciso..."
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'aceitar') then
if getPlayerLevel(cid) >= level then
else
npcHandler:say("Somente level " .. level .. " podem fazer essa missoes.", cid)
return true
end
if getstorage == 1 then
npcHandler:say("Voce jah completou a mission.", cid)
elseif getstorage < 1 then
npcHandler:say("Eu quero muito um item escondido nas colinas de Egeu para eu curar a doença de minha filha,mais não sou um guerreiro,voce poderia me {ajudar}?", cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'ajudar') then
if getstorage < 1 then
npcHandler:say("Você trouxe o item das colinas de Egeu em troca de 250k? Se sim, fale {yes}.", cid)
end
elseif msgcontains(msg, 'yes') then
if talkState[talkUser] == 1 then
if getstorage < 0 then
if doPlayerRemoveItem(cid, crystalid[1], gnt) and doPlayerRemoveItem(cid, crystalid[2], gnt2) and doPlayerRemoveItem(cid, crystalid[3], gnt3) == TRUE then
npcHandler:say("Obrigado por trazer o item.", cid)
setPlayerStorageValue(cid, storage, 1)
doPlayerAddItem(cid, recom[1], gntre[1])
doPlayerAddItem(cid, recom[2], gntre[2])
doPlayerAddItem(cid, recom[3], gntre[3])
doPlayerAddItem(cid, recom[4], gntre[4])
doPlayerAddItem(cid, recom[5], gntre[5])
talkState[talkUser] = 0
elseif doPlayerRemoveItem(cid, crystalid, 1) == FALSE then
npcHandler:say(sorrymessage, cid)
talkState[talkUser] = 0
end
end
end
elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
npcHandler:say("OK, Volte quando estiver pronto.", cid)
talkState[talkUser] = 0
end
return TRUE
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

EduOtsE
09 de outubro de 2012 às 03:16

Muito bom valeu mdr.gif

 

Alguem da equipe da rep+ pro notle2012,

 

esgoto os meus amanha eu reputo

Yan OliveiraY
09 de outubro de 2012 às 23:21

Duvida Resolvida, peça para mover.

 

Atenc. Yan18.

caoticC
10 de outubro de 2012 às 11:31

Tópico Movido a pedidos e duvidas de scrippting resolvidos

caoticC
10 de outubro de 2012 às 11:32

Tópico movido para a seção de dúvidas e pedidos resolvidos.

EduOtsE
10 de outubro de 2012 às 20:33

caotic quero ver tu dar rep- pra vc mesmo depois de flood ^^

Yan OliveiraY
10 de outubro de 2012 às 21:47

caotic quero ver tu dar rep- pra vc mesmo depois de flood ^^

 

A internet dele podia estar lenta ou ele clicou sem querer em responder 2x.

EduOtsE
10 de outubro de 2012 às 22:08

quando aconteçer isso comigo é pq minha internet ta lenta tb ¬¬

Editado Outubro 10 por EduOts

CriticalC
10 de outubro de 2012 às 23:02

Aviso verbal para ambos, discussão desnecessária.

 

Se houver continuação, alerta serão dados.

 

Atenciosamente, Critical.