Ir para conteúdo

Featured Replies

Postado
Em 06/05/2012 at 15:40, Vodkart disse:
 

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 config = {

hours = 24,

storage = 58485,

rewards = {{itemid = 2173,chance = 15},{itemid = 2123,chance = 25},{itemid = 2160,chance = 30}} -- itens que ele poderá ganhar 

}

function doAddReward()

a = true

while a == true do

local m = math.random(1,#config.rewards)

if config.rewards[m].chance > math.random(1, 100) then

doPlayerAddItem(cid, config.rewards[m].itemid, isItemStackable(config.rewards[m].itemid) and 100 or 1)

npcHandler:say("seu prêmio foi: "..getItemNameById(config.rewards[m].itemid), cid)

a = false

end

end

end

if isInArray({"presente","present"}, msg) then

npcHandler:say("você deseja receber seu presente agora?! {yes}", cid)

talkState[talkUser] = 1

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

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

doAddReward()

setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600)

else

npcHandler:say("Desculpe, mas você deve aguardar até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar seu presente novamente!", cid)

talkState[talkUser] = 0

end

elseif msg == "no" 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())

 

 

Ótimo Script REP+

Téria como colocar pra somente level xx+ usar? Ex: level 120+ se for 120- o npc não dá o present?

  • Respostas 19
  • Visualizações 4.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:o

  • Não, ele é basico. Ele adiciona uma storagevalue ao player, quando é 00:00 hr no computador ele rezeta o storagevalue do player, mais não avisa o tempo que falta para pegar novamente.

Postado
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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid, msg:lower()
local config = {
level = 120,
hours = 24,
storage = 58485,
rewards = {{itemid = 2173,chance = 15},{itemid = 2123,chance = 25},{itemid = 2160,chance = 30}} -- itens que ele poderá ganhar 
}
function doAddReward()
a = true
while a == true do
local m = math.random(1,#config.rewards)
if config.rewards[m].chance > math.random(1, 100) then
doPlayerAddItem(cid, config.rewards[m].itemid, isItemStackable(config.rewards[m].itemid) and 100 or 1)
npcHandler:say("seu prêmio foi: "..getItemNameById(config.rewards[m].itemid), cid)
a = false
end
end
end
if isInArray({"presente","present"}, msg) then
if getPlayerLevel(cid) < config.level then
npcHandler:say("Desculpe, mas você precisa ter no minimo level "..config.level.." para receber sua recompensa diaria.", cid)
else
npcHandler:say("você deseja receber seu presente agora?! {yes}", cid)
talkState[talkUser] = 1
end
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerStorageValue(cid,config.storage) <= os.time() then
doAddReward()
setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600)
else
npcHandler:say("Desculpe, mas você deve aguardar até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar seu presente novamente!", cid)
talkState[talkUser] = 0
end
elseif msg == "no" 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())

ok

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • 4 weeks later...
Postado
Em 08/07/2016 ás 11:04, Vodkart disse:

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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid, msg:lower()
local config = {
level = 120,
hours = 24,
storage = 58485,
rewards = {{itemid = 2173,chance = 15},{itemid = 2123,chance = 25},{itemid = 2160,chance = 30}} -- itens que ele poderá ganhar 
}
function doAddReward()
a = true
while a == true do
local m = math.random(1,#config.rewards)
if config.rewards[m].chance > math.random(1, 100) then
doPlayerAddItem(cid, config.rewards[m].itemid, isItemStackable(config.rewards[m].itemid) and 100 or 1)
npcHandler:say("seu prêmio foi: "..getItemNameById(config.rewards[m].itemid), cid)
a = false
end
end
end
if isInArray({"presente","present"}, msg) then
if getPlayerLevel(cid) < config.level then
npcHandler:say("Desculpe, mas você precisa ter no minimo level "..config.level.." para receber sua recompensa diaria.", cid)
else
npcHandler:say("você deseja receber seu presente agora?! {yes}", cid)
talkState[talkUser] = 1
end
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerStorageValue(cid,config.storage) <= os.time() then
doAddReward()
setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600)
else
npcHandler:say("Desculpe, mas você deve aguardar até "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar seu presente novamente!", cid)
talkState[talkUser] = 0
end
elseif msg == "no" 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())

ok

 

Teria como por para o npc checar o ip do player ? pra não criarem outros personagens ou contas apenas para pegar o presente

Editado por chbuss (veja o histórico de edições)

  • 6 months later...
  • 2 months later...
Postado

Desculpe reviver, mais eu preciso muito deste scrpt porem não encontro do jeito que preciso, ele funciona do jeitinho que esta ai porem sem level papra pegar o item e apenas mais um detalhe. para o player poder pegar o presente diário ele tem que ter x horas online no dia. Ex: se o cara ficou online 7 horas no total entre login's e logout's ele podera pegar o item do dia. se alguem puder ajudar.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.1k

Informação Importante

Confirmação de Termo