Daily Catch
28/9/2016, 07:33
Eae galera, trago-lhes mais um sistema básico, para animar seus jogadore(a)s quando estiverem no tédio, upando e tals.
Esse sistema funciona da seguinte maneira;
Testado no DarkXPoke;
O npc fala pra você escolher um entre dois pokémons;
Depois, é só ir capturar e voltar a falar com o NPC;
Sobre o sistema:
Existem 4 níveis;
facil;
médio;
difícil;
muito difícil;
recompensa configurável
Comece indo na LIB, e colocando este arquivo lá:
dailyCatch.lua
NPCS:
NPC.XML
NPC.lua
Créditos:
Quinn - Pelo sistema.
GOD Vitor - Por trazer para o PK.
Testem, qualquer erro, comentem que ajudo!
Acho que está faltando alguma parte.. Então, testem ai, e me deem informações!
Esse sistema funciona da seguinte maneira;
Testado no DarkXPoke;
O npc fala pra você escolher um entre dois pokémons;
Depois, é só ir capturar e voltar a falar com o NPC;
Sobre o sistema:
Existem 4 níveis;
facil;
médio;
difícil;
muito difícil;
recompensa configurável
Comece indo na LIB, e colocando este arquivo lá:
dailyCatch.lua
NPCS:
NPC.XML
- Spoiler:
- <?xml version="1.0" encoding="UTF-8"?>
<npc name="NOMEDONPC" script="NOMEDOARQUIVO.lua" walkinterval="350000" floorchange="0" speed="0">
<health now="150" max="150"/>
<look type="510" head="91" body="102" legs="83" feet="0"/>
</npc>
NPC.lua
- Spoiler:
- local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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 msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
local talkState = {}
local opcao1 = "";
local opcao2 = "";
local opcaoEscolhida = "";
local tchau = false
function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local objetos = getListOfObjectsByDifficulty(cid)
if not (getDistanceToCreature(cid) <= 3) then
return true
end
if getPlayerStorageValue(cid, objetos.storages.endQuest) >= 1 then
selfSay("Você já completou minha task por hoje.", cid)
talkState[talkUser] = 0
tchau = true
focus = 0
return true
end
if (msgcontains(msg, opcao1) or msgcontains(msg, opcao2)) and talkState[talkUser] == 1 then
opcaoEscolhida = msg;
setPokemonEscolhido(cid, opcaoEscolhida)
selfSay("Okay, volte quando conseguir capturar "..opcaoEscolhida.."!", cid)
setPlayerStorageValue(cid, objetos.storages.catch, 1)
talkState[talkUser] = 2;
end
if msgcontains(msg, "yes") and talkState[talkUser] ~= 2 and talkState[talkUser] ~= 3 then
setTaskDailyCatch(cid, objetos)
opcao1 = getPokemonForDailyCatch(cid, "opcao_poke1");
opcao2 = getPokemonForDailyCatch(cid, "opcao_poke2");
selfSay("Catch de nível "..getDificultyForDailyCatch(cid)..", deseja capturar "..opcao1.." ou "..opcao2.."?", cid)
talkState[talkUser] = 1;
elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
selfSay("Você conseguiu capturar "..getPokemonForDailyCatch(cid, "poke_escolhido").."?", cid)
talkState[talkUser] = 3;
elseif msgcontains(msg, "yes") and talkState[talkUser] == 3 then
if (getPlayerStorageValue(cid, objetos.storages.catchSucess) >= 1) then
selfSay("Parabéns, pegue sua recompensa", cid)
doPlayerAddExp(cid, objetos.experiencia);
doPlayerAddItem(cid, objetos.recompensa.item, objetos.recompensa.quantidade);
doSendAnimatedText(getThingPos(cid), objetos.experiencia, 173)
doSendMagicEffect(getThingPos(cid), 173)
setPlayerStorageValue(cid, objetos.storages.endQuest, 1)
dificilPokesParaDailyCatch(cid, getDificultyForDailyCatch(cid))
addOpcaoForChoosePokemonDailyCatch(cid, objetos.pokes)
else
selfSay("Você ainda não capturou ".. opcaoEscolhida ..".", cid)
end
talkState[talkUser] = 0
tchau = true
focus = 0
return true
end
if msgcontains(msg, "no") then
selfSay("Então volte mais tarde...", cid)
tchau = true
focus = 0
return true
end
if tchau then
tchau = false
selfSay('Tchau.')
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Créditos:
Quinn - Pelo sistema.
GOD Vitor - Por trazer para o PK.
Testem, qualquer erro, comentem que ajudo!
Acho que está faltando alguma parte.. Então, testem ai, e me deem informações!
Permissões neste sub-fórum
Não podes responder a tópicos
|
|