Ir para conteúdo
  • 0

Colocar O Sistema Que Tira O Item Num Script Aqui...


Diley007

Pergunta

o player vai chegar e vai reportar algo, so que quero que precise de um item pra reportar e na hora que ele falar "yes" o item some da bag dele, quero adicionar isso nesse script aqui, sem mudar nada no script REP+ amanha porq hoje ja dei rep+ pra alguem vlw

 

 

 

 

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

local msg = string.lower(msg)

local storage = 787544

local delaytime = 120

local a = "data/logs/reports.txt"

local f = io.open(a, "a+")

local pos = {x = 1120, y = 932 , z = 7}

 

if isInArray({"reportar"}, msg) then

if (getPlayerStorageValue(cid, storage) <= os.time()) then

selfSay('digite o seu {report} por favor', cid)

talkState[talkUser] = 1

else

selfSay('You must wait ' .. getPlayerStorageValue(cid, storage) - os.time() .. ' seconds to report.', cid)

talkState[talkUser] = 0

end

elseif talkState[talkUser] == 1 then

if (string.len(msg) > 10 and string.len(msg) < 90) then

selfSay(" {"..msg.."} tem certeza que deseja reportar isso ? {yes} or {no}", cid)

str = msg

talkState[talkUser] = 2

else

selfSay('minimo 10 letras e máximo 90 letras, incluindo espaços', cid)

end

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

if getGlobalStorageValue(87955) == -1 then setGlobalStorageValue(87955, 1) end

setPlayerStorageValue(cid, storage, os.time()+delaytime)

selfSay('Obrigado, nos agradecemos a sua colaboraçao', cid)

f:write(""..getGlobalStorageValue(87955).." - "..getPlayerName(cid).." reported a bug at " .. os.date("%d %B %Y - %X.", os.time()) .."\n"..str..".\n\n----------------------------------------------------------\n")

f:close()

setGlobalStorageValue(87955, getGlobalStorageValue(87955)+1)

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

doTeleportThing(cid, pos)

talkState[talkUser] = 0

npcHandler:releaseFocus(cid)

elseif msg == "no" and talkState[talkUser] >= 1 then

selfSay("tudo bem então.", cid)

str = nil

talkState[talkUser] = 0

npcHandler:releaseFocus(cid)

end

return TRUE

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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
local msg = string.lower(msg)
local storage = 787544
local delaytime = 120
local a = "data/logs/reports.txt"
local f = io.open(a, "a+")
local pos = {x = 1120, y = 932 , z = 7}
local itemid = 2123


if isInArray({"reportar"}, msg) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
selfSay('digite o seu {report} por favor', cid)
talkState[talkUser] = 1
else
selfSay('You must wait ' .. getPlayerStorageValue(cid, storage) - os.time() .. ' seconds to report.', cid)
talkState[talkUser] = 0
end
elseif talkState[talkUser] == 1 then
if (string.len(msg) > 10 and string.len(msg) < 90) then
selfSay(" {"..msg.."} tem certeza que deseja reportar isso ? {yes} or {no}", cid)
str = msg
talkState[talkUser] = 2
else
selfSay('minimo 10 letras e máximo 90 letras, incluindo espaços', cid)
end
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
if doPlayerRemoveItem(cid, itemid, 1) then
if getGlobalStorageValue(87955) == -1 then setGlobalStorageValue(87955, 1) end
setPlayerStorageValue(cid, storage, os.time()+delaytime)
selfSay('Obrigado, nos agradecemos a sua colaboraçao', cid)
f:write(""..getGlobalStorageValue(87955).." - "..getPlayerName(cid).." reported a bug at " .. os.date("%d %B %Y - %X.", os.time()) .."\n"..str..".\n\n----------------------------------------------------------\n")
f:close()
setGlobalStorageValue(87955, getGlobalStorageValue(87955)+1)
doTeleportThing(cid, pos)
talkState[talkUser] = 0
else
selfSay("você precisa de 1 "..getItemNameById(itemid).." para reportar!.", cid)
npcHandler:releaseFocus(cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] >= 1 then 
selfSay("tudo bem então.", cid)
str = nil 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

 

 

 

Obs: Porque não pede as alterações do npc em um único tópico?

Link para o comentário
Compartilhar em outros sites

  • 0

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
local msg = string.lower(msg)
local storage = 787544
local delaytime = 120
local a = "data/logs/reports.txt"
local f = io.open(a, "a+")
local pos = {x = 1120, y = 932 , z = 7}
local itemid = 2123


if isInArray({"reportar"}, msg) then
if (getPlayerStorageValue(cid, storage) <= os.time()) then
selfSay('digite o seu {report} por favor', cid)
talkState[talkUser] = 1
else
selfSay('You must wait ' .. getPlayerStorageValue(cid, storage) - os.time() .. ' seconds to report.', cid)
talkState[talkUser] = 0
end
elseif talkState[talkUser] == 1 then
if (string.len(msg) > 10 and string.len(msg) < 90) then
selfSay(" {"..msg.."} tem certeza que deseja reportar isso ? {yes} or {no}", cid)
str = msg
talkState[talkUser] = 2
else
selfSay('minimo 10 letras e máximo 90 letras, incluindo espaços', cid)
end
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
if doPlayerRemoveItem(cid, itemid, 1) then
if getGlobalStorageValue(87955) == -1 then setGlobalStorageValue(87955, 1) end
setPlayerStorageValue(cid, storage, os.time()+delaytime)
selfSay('Obrigado, nos agradecemos a sua colaboraçao', cid)
f:write(""..getGlobalStorageValue(87955).." - "..getPlayerName(cid).." reported a bug at " .. os.date("%d %B %Y - %X.", os.time()) .."\n"..str..".\n\n----------------------------------------------------------\n")
f:close()
setGlobalStorageValue(87955, getGlobalStorageValue(87955)+1)
doTeleportThing(cid, pos)
talkState[talkUser] = 0
else
selfSay("você precisa de 1 "..getItemNameById(itemid).." para reportar!.", cid)
npcHandler:releaseFocus(cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] >= 1 then
selfSay("tudo bem então.", cid)
str = nil
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

 

 

 

Obs: Porque não pede as alterações do npc em um único tópico?

foi mal vei e que eu tenho uma ideia e depois vem outra ideia pra melhorar a primeira e por ai vai...

vlws

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...