Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/01/20 em todas áreas
-
[PokéZR] Base otPokemon.com 2018 - Server+Source+Site+New/Old Client+Laucher - Servidor Completo
dick123 reagiu a Kyyah Silva por um tópico no fórum
Olá ❤️ Ta Ai a minha primeira e ultima e unica contribuição para vocês ❤️ Esperem que gostem -Base otP -System Fly/surf/ordem/ride/tudo sem bugs.... -Novos Ataques Adicionado -Novos Pokemons -5Gen 60% Completa -Nova Saffron 2018 (ATUAL DO OTP) -Nova Battle City 2017 (ATUAL DO OTP) -Muito mais.... Caso não queira a saffron/battle city atual do otp tem a pasta World² na data com os remake antigo das cidades... Caso ache algum virus no server/source deve ser de DLL,pois tentei remover mas nao consegui... Bom Proveito ❤️ Meu Projeto: PokeZR ❤️ < > [PokeZR] Base otPokemon.com 2018 Completo < > [PokeZR] Server otPokemon.com By Kyyah Silva Scan:https://www.virustotal.com/#/file/5f96085a80b6224e1832a357cb0fedc06e4ac978b6fb626288551bf2af8a7d7f/detection Server: https://www.mediafire.com/file/1s6a2te5f1vpv23/[BASE]_PokeZR_By_Kyyah.rar/file ------------------------------------ [PokeZR] Source Server Completo By Kyyah Silva Scan:https://www.virustotal.com/#/file/62233eb2868d12b76086d4ae62e627958827119f82e9bb681c762c9015451a63/detection Source: https://www.mediafire.com/file/mgr0d5rwhvjqdxv/[SOURCE]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Site Completo otPokemon 2017 Adapt PokeZR Scan:https://www.virustotal.com/#/file/1731a5cc9276096d9c17d8f728176d93b4aa378f80d6b005a304982f0424d21f/detection Htdocs: https://www.mediafire.com/file/oe89pel8k7mj6wy/[SITE]_PokeZR_By_Kyyah.rar ------------------------------------- [PokeZR] New Client PokeZR By Kyyah Silva Scan:https://www.virustotal.com/#/file/d40e0281057106f5aa34e0a4a274d067c607f0659503c09fbfb17fddf374c0fd/detection NewClient: https://www.mediafire.com/file/r24at4gdwchn7v8/[NEW]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Old Client PokeZR By Kyyah Silva Scan:https://www.virustotal.com/#/file/7b86867aebed313dfc577eff3b01108a94d2eb99f63ac662e5cac78716afa9d1/detection OldClient: https://www.mediafire.com/file/qj5qzwz56w4bgcl/[OLD]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Laucher Old Client Completo Scan:https://www.virustotal.com/#/file/30aba94f1ad678b40e1459c934921cef23240967e608b47478e9e7818bd61a22/detection LaucherOld: https://www.mediafire.com/file/wbtdr6q6j769lh2/[OLD]_Laucher_By_Kyyah.rar1 ponto -
OtPokemon Revolution
ianmacero reagiu a RobsonSilva por um tópico no fórum
Bom Dia, Boa Tarde e Boa Noite! Galera do xtibia venho aqui trazer meu server pda com source! eu parei com otserv então achei melhor divulgar a base pra ajudar muitas pessoas! informações Do Server! [+] Server Open Source[+] Old Client[+] addonbox System 100%[+] Boost Stone System 100%[+] Shiny Stone System 100%[+] Addon System 100%[+] Bike System 100%[+] Respawn de Shiny Aléatorio[+] Respawn do Regice, Regirock, Registell 100% drop deles 100% [+] Quests: Igual do Otp, e adicionei a quest do Lugia, [+] quais quest tem? > a inicial, punch stone, venom stone, rock stone, pesadelo, lugia, dark stone, Hearth Stone, Farol, Halloween, quest do meta! [+] Balanceado alguns pokemon's shiny! [+] Mapa ta perfeito, com Johto 80% ainda falta termina![+] 1º 2º 3º 4º Geração algumas geração completo! [+] Server sem as dll ta tudo compilado pra linux! gostou do server? então já deixa aquela REP pra ajudar <3 Base 100% Rodando em WINDOWS: http://www.mediafire.com/file/wlyy3ajv3prt6jz/OtPokemon+Revolution+100%+Windows.zip Client: http://www.mediafire.com/file/bo125v1u1dtntn4/OtPokemon+Revolution+Oficial+1.0.rar Source: http://www.mediafire.com/file/wws4x8ns522tqeq/source+original.zip Base 100% Rodando em LINUX: http://www.mediafire.com/file/bd2qxy9q5gzaxow/Server+OtPokémon+Revolution.zip Scan Da Base: https://www.virustotal.com/pt/file/7a84a39ff39a442b5bfff34b007054c88b8e5ca7e17b9fca67c782f23afc7db6/analysis/1484058262/ Scan da Source: https://www.virustotal.com/pt/file/87d150406173bd6063ef1dae5aa67444e8aebfc9fb380c45050adc69d0aa3b7b/analysis/1483997818/ Scan Do Client: https://www.virustotal.com/pt/file/73e75ee08142f7d79a8fe6d495e50d6cbd8e6a52ad0430ce4aa464cd9991e6ac/analysis/1484058401/1 ponto -
Pedido de NPC que da quests paralelas
kamus9629 reagiu a Yan Oliveira por uma questão
Sobre o pedido do tópico, começando pelo primeiro NPC, vá em Data/NPC e crie um arquivo Carl.xml (lembrando que coloquei o nome do arquivo do mesmo nome do npc, caso queira mudar nome do npc sugiro mudar o do arquivo para ficar fácil de fazer manutenções futuras), após criar adicione o seguinte código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Carl" script="Carl.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="516" head="10" body="15" legs="20" feet="25"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, o que você procura?"/> </parameters> </npc> Agora vá em Data/NPC/Scripts e crie um arquivo Carl.lua e adicione o seguinte código 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 -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local nome_segundo_npc = "Joey" local storage = 9999 ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'missao') then if getPlayerStorageValue(cid, storage) == 1 then selfSay("Você deve falar diretamente com o NPC " ..nome_segundo_npc, cid) talkState[talkUser] = 0 return true else selfSay("Você gostaria de fazer a missão do NPC " ..nome_segundo_npc.. " ?", cid) talkState[talkUser] = 1 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then selfSay("Agora você está autorizado para fazer a missão do NPC "..nome_segundo_npc.. "!", cid) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não') or msgcontains(msg, 'nao')) and talkState[talkUser] == 1 then selfSay("Ok, fale comigo novamente caso queira fazer a missão do NPC " ..nome_segundo_npc.. ".", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Segundo NPC: Agora iremos criar o segundo NPC, vá em Data/NPC e crie um arquivo Joey.xml e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Joey" script="Joey.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1421" head="114" body="119" legs="114" feet="114"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, em que posso ajudar? Diga {help}, {ajuda} ou {missão} para mais informações."/> </parameters> </npc> E vá em Data/NPC/Scripts, crie um arquivo Joey.lua e adicione o código 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 -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local nome_primeiro_npc = "Carl" local nome_terceiro_npc = "Peter" local id_item = 12163 local quantidade_item = 100 local id_item_recebido = 16563 local quantidade_item_recebido = 1 ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'missao') then if getPlayerStorageValue(cid, 9999) == 1 then -- STORAGE DO PRIMEIRO NPC, OU SEJA, VERIFICA SE FALOU COM PRIMEIRO NPC. if getPlayerStorageValue(cid, 10000) == 1 then -- VERIFICA SE JÁ FEZ A MISSÃO DO SEGUNDO NPC selfSay("Você já fez minha missão, agora você deve falar diretamente com o NPC " ..nome_terceiro_npc.. ".", cid) talkState[talkUser] = 0 return true else selfSay("Preciso que você me traga " ..quantidade_item.. " seeds. Você trouxe?", cid) talkState[talkUser] = 1 return true end else selfSay("Você deve falar com o NPC " ..nome_primeiro_npc.. " para conseguir fazer minha missão.", cid) talkState[talkUser] = 0 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then if getPlayerItemCount(cid, id_item) >= quantidade_item then doPlayerRemoveItem(cid, id_item, quantidade_item) selfSay("Você me trouxe as " ..quantidade_item.. " que eu precisava. Agora você consegue falar com o NPC " ..nome_terceiro_npc.. ".", cid) doPlayerAddItem(cid, id_item_recebido, quantidade_item_recebido) doSendMagicEffect(getThingPos(cid), 29) setPlayerStorageValue(cid, 10000, 1) talkState[talkUser] = 0 return true else selfSay("Você não trouxe a quantidade de seeds que eu preciso. Me traga " ..quantidade_item.. " seeds para prosseguir com a missão.", cid) talkState[talkUser] = 0 return true end return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Terceiro NPC Agora com o terceiro e último NPC, vá em Data/NPC e crie um arquivo Peter.xml e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Peter" script="Peter.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1413" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, o que você procura aqui? Diga {help}, {ajuda} ou {missão} para mais informações."/> </parameters> </npc> E vá em Data/NPC/Scripts e crie um arquivo Peter.lua e adicione o código 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 -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local nome_segundo_npc = "Joey" ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'missao') then if getPlayerStorageValue(cid, 10000) == 1 then -- VERIFICA SE FALOU COM SEGUNDO NPC if getPlayerStorageValue(cid, 10001) == 1 then -- VERIFICA SE TERMINOU A TASK selfSay("Você já completou minha missão.", cid) talkState[talkUser] = 0 return true else selfSay("Preciso que você derrote alguns {Charmanders} para mim. Você quer fazer essa missão?", cid) talkState[talkUser] = 1 return true end else selfSay("Você deve falar com o NPC " ..nome_segundo_npc.. " para conseguir fazer minha missão.", cid) talkState[talkUser] = 0 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or (msgcontains(msg, 'task'))) and talkState[talkUser] == 1 then local id_item = 12545 local quantidade_item = 1 local exp = 10000 if getPlayerStorageValue(cid, 10002) == 1 then selfSay("Você completou minha missão! Receba sua recompensa.", cid) doPlayerAddExp(cid, exp) doPlayerAddItem(cid, id_item, quantidade_item) doSendAnimatedText(getThingPos(cid), exp, 27) setPlayerStorageValue(cid, 72451, 1) talkState[talkUser] = 0 return true else if getPlayerStorageValue(cid, 10002) < 0 then selfSay("Vá derrotar todos os {Charmanders} para mim.") setPlayerStorageValue(cid, 35000, 0) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, 10002) == 0 then selfSay("Você ainda não derrotou todos os {100 Charmanders}. Termine a missão primeiro antes de falar comigo.") talkState[talkUser] = 0 return true end return true end return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não')) and talkState[talkUser] == 1 then selfSay("Ok, fale comigo novamente caso queira fazer minha missão.", cid) talkState[talkUser] = 0 return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora é a configuração da task. Vá em Data/Creaturescripts/Scripts crie um arquivo chamado task_peter.lua e adicione o código dentro: local nome_terceiro_npc = "Peter" local storage_npc = 10002 local storage_contador = 10003 local pokemon = { [1] = {name = "Charmander", count = 100}, } local nome = pokemon[1].name local restante function onKill(cid, target) for _, t in ipairs(pokemon) do local quantidade = t.count if getCreatureName(target) == nome then if getPlayerStorageValue(cid, storage_npc) == 0 then if getPlayerStorageValue(cid, storage_contador) == quantidade then doPlayerSendTextMessage(cid, 27, "Não há mais " ..nome.. " para derrotar.") doPlayerSendTextMessage(cid, 20, "Parabéns! Você concluiu a task do " ..nome_terceiro_npc) setPlayerStorageValue(cid, storage_contador, getPlayerStorageValue(cid, storage_contador) + 1) setPlayerStorageValue(cid, storage_npc, 1) return true elseif getPlayerStorageValue(cid, storage_contador) < quantidade then -- AS STORAGES COMEÇAM COM -1, ENTÃO NESSA PARTE EU APENAS DEFINO COMO 0 PARA NA LINHA SEGUINTE JÁ IR PARA 1. NÃO COLOQUE RETURN NESSE LAÇO PORQUE VAI ENCERRAR O ESCOPO E NÃO VAI CONTAR CORRETAMENTE -- if getPlayerStorageValue(cid, storage_contador) < 0 then setPlayerStorageValue(cid, storage_contador, 0) end setPlayerStorageValue(cid, storage_contador, getPlayerStorageValue(cid, storage_contador) + 1) restante = quantidade - getPlayerStorageValue(cid, storage_contador) doPlayerSendTextMessage(cid, 27, "Faltam " ..restante.. " " ..nome.. "s para derrotar.") return true end elseif (getPlayerStorageValue(cid, storage_npc) < 0) or (getPlayerStorageValue(cid, storage_npc) > 0) then return true end return true end return true end end Agora vá em Data/Creaturescripts e abra o creaturescripts.xml e adicione o evento: <event type="kill" name="task_peter" script="task_peter.lua"/> E por último, vá em Data/Creaturescripts/Scripts ou Data/Creaturescripts/Scripts/Player (dependendo da base tem essa divisão de diretório) e procure pelo arquivo login.lua e procure pela parte dos registros de evento e adicione após o último a linha: registerCreatureEvent(cid, "task_peter") Explicação: Pelo que entendi o primeiro NPC não pedirá nada, só dará acesso ao player, então para o player falar com o segundo NPC ele tem que falar com o primeiro antes! Eu deixei também o valor das storages em sequência para ficar mais fácil de alterar, e deixei o segundo com o valor 10000 como pediu. Eu tinha feito os scripts faz tempo haha, mas eu estava testando na base DXP e nela não funciona o evento onKill, não da erro mas não funciona haha, ai perdi um tempinho até descobrir kk. Mas está ai a série de missão de npc. Testei aqui e todos os NPCs estão funcionando normalmente e a task do creaturescript está funcionando normal também, mas qualquer problema me fale.1 ponto
Líderes está configurado para São Paulo/GMT-03:00