Postado Dezembro 25, 2013 11 anos Olá abigos e abigas, fiz um script aqui meio atrasado para o natal rs, bom eu até que gostei espero que vocês achem algo útil para ele. Abra a pasta NPC crie um arquivo com nome papainoel.xml e adicione isso dentro: <?xml version="1.0"?> <npc name="Papai Noel" script="data/npc/scripts/papainoel.lua" walkinterval="1000" floorchange="0"> <health now="100" max="100"/> <look type="160" head="0" body="112" legs="93" feet="95"/> <parameters> <parameter key="message_greet" value="Ho-Ho! {|PLAYERNAME|}, para pegar seu presente basta voce falar {present druid}, {present sorcerer}, {present knight} ou {present paladin}!" /> </parameters> </npc> Depois abra a pasta NPC/scripts crie um arquivo com o nome papainoel.lua e adicione isso dentro: 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 itemdruid = {{2160, 100}, {9778, 1}, {6512, 1}} -- itens que Elder Druid ira ganhar local itemsorcerer = {{2160, 100}, {8867, 1}, {6512, 1}} -- itens que Master Sorcerer ira ganhar local itemknight = {{2160, 100}, {2472, 1}, {6512, 1}} -- itens que Elite Knight ira ganhar local itempaladin = {{2160, 100}, {2500, 1}, {6512, 1}} -- itens que Royal Paladin ira ganhar local a = { level = 150, -- Level para falar com o Papai Noel storage = 72621, -- Não trocar } if msgcontains(msg, 'present druid') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 6 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Druid}!', cid) for _, b in pairs(itemdruid) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elder Druid} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present sorcerer') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 5 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Sorcerer}!', cid) for _, b in pairs(itemsorcerer) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Master Sorcerer} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present knight') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 8 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Knight}!', cid) for _, b in pairs(itemknight) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Elite Knight} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end if msgcontains(msg, 'present paladin') then if getPlayerStorageValue(cid,a.storage) == -1 then if getPlayerVocation(cid) == 7 then if getPlayerLevel(cid) >= a.level then selfSay('Ho-ho Feliz Natal '..getPlayerName(cid)..', você recebeu seus itens de {Paladin}!', cid) for _, b in pairs(itempaladin) do doPlayerAddItem(cid, b[1], b[2]) doSendMagicEffect(getPlayerPosition(cid), 28) setPlayerStorageValue(cid,a.storage,1) end else doSendMagicEffect(getPlayerPosition(cid), 2) selfSay('{'..getPlayerName(cid)..'} você precisa ser level {'..a.level..'} para receber sua recompensa, faltam apenas {'..a.level - getPlayerLevel(cid)..'}. Ho-ho!', cid) end else selfSay('Voce não é {Royal Paladin} '..getPlayerName(cid)..'!', cid) end else selfSay('{'..getPlayerName(cid)..'} voce ja pegou seu presente!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Informações: - O npc verificar a vocação do player e adiciona itens conforme sua vocação. - O level minimo para se usar o NPC é 150 - Só pode pegar o presente uma vez - Itens e level minimo configurável. Imagens do NPC: Ao falar com o npc: NPC verificando que o player pediu o presente que não é da sua vocação: NPC verificando que o player não tem o level minimo para pegar o presente e informando quantos leveis faltam para o player poder pegar o presente: Mensagem ao receber o presente: NPC informando que o player já pegou o presente: Créditos: Markin Editado Dezembro 25, 2014 10 anos por Markin (veja o histórico de edições) 16/11/2014 23/11/2014 RIP AnneMotta 21/01/2012 - 15/01/2014 Liga das lendas: DIAMOND É A META
Postado Dezembro 26, 2013 11 anos Autor Opa, muito obrigado! Editado Dezembro 26, 2013 11 anos por AnneMotta (veja o histórico de edições) 16/11/2014 23/11/2014 RIP AnneMotta 21/01/2012 - 15/01/2014 Liga das lendas: DIAMOND É A META
Postado Dezembro 26, 2013 11 anos Belo script mas anne teria como adicionar pro papai noel tbm ter chance de dar vip alguns dias pra cada voc ??? se puder me ajudar ja dou meu REP '-'
Postado Dezembro 26, 2013 11 anos Autor Se você utiliza vip system eu não faço a minima ideia de como fazer, nunca usei o vip system, sempre uso premium... 16/11/2014 23/11/2014 RIP AnneMotta 21/01/2012 - 15/01/2014 Liga das lendas: DIAMOND É A META
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.