Postado Julho 8, 2016 9 anos 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?
Postado Julho 8, 2016 9 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Agosto 4, 2016 9 anos 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 Agosto 4, 2016 9 anos por chbuss (veja o histórico de edições)
Postado Abril 29, 2017 8 anos 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.