Histórico de Curtidas
-
MIzakinha recebeu reputação de jvictorv em Base PokeWish + Pokelightmeu filho, ta cheio de virus e trojan esse executavel ai, só vc fazer o scan. Deleta isso logo
-
MIzakinha deu reputação a becertified em Base PokeWish + Pokelightesse executável está cheio de vírus
-
MIzakinha recebeu reputação de Jnofom em Base PokeWish + PokelightEnvia para mim também, por favor? Estou muito querendo testar essa base
-
MIzakinha deu reputação a ZenohXX em Base PokeWish + PokelightNesses últimos dias andei bem ocupado.
Estou trabalhando nesse momento no problema do cliente e logo postarei ele corrigido.
Após isso, disponibilizarei o servidor para ser executado no Windows (será um requisito ter o Docker instalado na máquina para rodar o projeto e ter noções básicas sobre containers).
-
MIzakinha deu reputação a ZenohXX em Base PokeWish + PokelightOlá, contextualizando, para quem não me conhece, por algum tempo trabalhei em um servidor de poketibia chamado Pokelight.
Utilizamos a base, que compramos, do PokeWish parar criar nosso servidor Pokelight, mas com o tempo a staff acabou optando por tomar outros rumos, tanto profissionais quanto pessoais e acabou que não fazia mais sentido continuarmos com o projeto.
Sabendo do potencial dessa base e da paixão que ainda tenho por poketibia, na esperança de que surja um servidor bacana com esta base, venho disponibilizar todos os arquivos do servidor.
Vídeos do projeto
Em breve farei alguns tutoriais e observações de como fazer o melhor uso possível dos arquivos e disponibilizarei mais recursos usados durante o projeto, além de dar suporte a solução de problemas aqui neste tópico.
Utilize Ubuntu 20.04 para executar o servidor.
Servidor:
Link para download (Servidor Wish, cliente Wish, ferramentas e sources): https://drive.google.com/file/d/14Kl7Bw86Y9Cm1GPy-BUuDJSYqHBUCdGV
Link para download (RME): https://drive.google.com/file/d/1bwAcuhkRxF2RZ_rcpvSOvxExrWE9oMDC
Link para download (Cliente Pokelight): https://drive.google.com/file/d/1PFUp7grPXcV2enUp3Og7BO9LFnSjs5Il
Link para download (Servidor Pokelight última versão): https://drive.google.com/file/d/1057SbzLui7uOXcxJMoc5yaa3_9F8O-os/
Scan: Arquivos passam de 700MB, não é possível fazer o scan.
-
MIzakinha deu reputação a WhiteBubble em NPC com task de matar X monstrosBoa noite, segue abaixo o script: OBS: é o mais simples possivel kk
em Data/NPC e cria um arquivo xml chamado Billie.xml e adicione o código dentro:
Agora em Data/NPC/Scripts crie um arquivo chamado Billie.lua e insira o código dentro:
Agora vai em Data/Creaturescripts/Scripts e crie um arquivo chamado task_billie e adicione o código dentro:
Ainda em Data/Creaturescripts/Scripts abra o arquivo login.lua e vá procure pela parte onde fica os registros de eventos no código, e adicione a seguinte linha embaixo do último evento:
E por último, em Data/Creaturescripts abra o creaturescripts.xml e adicione a tag:
-
MIzakinha recebeu reputação de WhiteBubble em Item que invoca monstrosSempre foi digimon kkkk, eu colocava pokemon pq a galera nao ta acostuma com digimon eu acho, no script é a mesma coisa entao n tinha problema haha
Vou testar aqui se deu certo, obrigado!
Então, acho que não funcionou. Tá sumonando sempre os mesmos. Sumona dois do [1] e um do [2]. Sempre eles. Não tá aleatório
Consegui resolver, modifiquei um pouco o script que o @WhiteBubble mandou ai em cima e funcionou. Obrigado @WhiteBubble pela ajuda mais uma vez.
Pra quem quiser vou deixar aqui embaixo
-
MIzakinha deu reputação a WhiteBubble em Item que invoca monstrosDesistiu do pokemon ? agora é digimon ? kk, brincadeiras a parte com base no seu script, testa esse:
local NUMBER = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER2 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local NUMBER3 = math.random(1,5) -- Alterar o numero maximo pelo numero final da tabela. local KEY = { [1] = "Demon", [2] = "Dragon", [3] = "Demodras", [4] = "Hydra", [5] = "Rotworm", } local config = { exaust_sto = 5555, -- Storage que contabiliza o exaust exaust_time = 60 -- Segundos de Exaust } function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) local VALUE = KEY[NUMBER] local VALUE2 = KEY[NUMBER2] local VALUE3 = KEY[NUMBER3] local MONSTER_1 = VALUE local MONSTER_2 = VALUE2 local MONSTER_3 = VALUE3 if getTileInfo(getThingPos(cid)).protection then return doPlayerSendCancel(cid, "Este item nao pode ser usado em area PZ") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false else if not exhaustion.check(cid, config.exaust_sto) then doRemoveItem(item.uid, 1) exhaustion.set(cid, config.exaust_sto, config.exaust_time) local target1 = doCreateMonster(MONSTER_1, pos) local target2 = doCreateMonster(MONSTER_2, pos) local target3 = doCreateMonster(MONSTER_3, pos) doPlayerSendTextMessage(cid, 27, "Voce invocou o monstro!!") doSendMagicEffect(pos, CONST_ME_TELEPORT) return true else doPlayerSendTextMessage(cid, 27, "Exhaustion!! Wait ".. exhaustion.get(cid, config.exaust_sto) .." seconds.") doSendMagicEffect(pos, POFF) return false end end return true end
Quanto ao monstro sumir, isso está além do meu conhecimento.
-
MIzakinha deu reputação a WhiteBubble em NPC falando com 1 player por vezTente usar esse npcsystem, faz um backup do seu antes, fica em data/npc/lib
npcsystem.rar
-
MIzakinha deu reputação a FlameArcixt em Verificar quantidade de dias VIP ao logar
-
MIzakinha deu reputação a FlameArcixt em Verificar quantidade de dias VIP ao logarmanda seu login.lua e o numero da storage
-
MIzakinha deu reputação a WhiteBubble em Box para iniciantesNão prefere um script que ao player alcançar determinado level ele receba tal item ? Iria ter de criar apenas 3 scripts, do seu modo iria ter de usar 3 itens para as box.
-
MIzakinha deu reputação a WhiteBubble em Box para iniciantesDesculpa a demora pra fazer, eu estava muito ocupado com meu servidor, mas te respondendo, segue abaixo o pedido.
Em actions, scripts crie um arquivo com nome "boxlvl25.lua"
e adicione dentro:
Agora em actions.xml adicione:
<action itemid="id_da_box" event="script" value="boxlvl25.lua"/>
Explicando o script, cada box que for criar você vai ter que alterar o storage por um valor diferente, no exemplo ai ta "55931" então na proxima box vai ter que ser "55932" ou qualquer outro numero, assim por diante, esse metodo e para o player não ficar criando varios personagens pra pegar a box e usar em um personagem só.
Para mudar o level que vai usar a box é em:
getPlayerLevel(cid) < 25 , onde ta 25 é o level necessario e abaixo tem mais um getPlayerlevel que tambem deve ser alterado.
Agora pra adicionar os itens que vai ganhar você altera nessa parte
doPlayerAddItem(cid, 2160, 1) Onde esta 2160 é o id do item que vai ganhar e o 1 logo após é a quantidade
se quiser adicionar mais itens é só copiar esse pedaço e adicionar abaixo dessa maneira:
doPlayerAddItem(cid, 2159, 1)
doPlayerAddItem(cid, 2162, 1)
doPlayerAddItem(cid, 2160, 1)
Qualquer duvida só perguntar.
-
MIzakinha deu reputação a FlameArcixt em Editar a UI do ClientO nome da bag é no item.xml ou outro é no client/modules/game_skills
-
MIzakinha deu reputação a FlameArcixt em ObjectBuilder Crashando ao extrairEu instalei uma outra versão, as versões funcionam quase do mesmo modo, mas resolveu
-
MIzakinha deu reputação a FlameArcixt em ObjectBuilder Crashando ao extrairMais facil voce baixar outra versão, bom, mas topico encerrado, marca uma solução ai só pre fechar o topico se for possivel.
-
MIzakinha deu reputação a FlameArcixt em "Ball" BugadaAgora manda o script das pokeballs
-
MIzakinha deu reputação a FlameArcixt em "Ball" BugadaCade o goback.lua?
-
MIzakinha deu reputação a FlameArcixt em "Ball" BugadaErro resolvido no discord, era um registro errado na tabela pokeballs do configuration.lua, tópico acabado.
-
MIzakinha deu reputação a Summ em [Pedido] NPC de addonlocal 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 -- Storage IDs -- fassassino = 22005 sassassino = 22006 newaddon = 'Ah, certo! Aqui esta o seu addon, volte sempre.' noitems = 'Voce nao tem todos os itens necessarios.' noitems2 = 'Voce nao tem todos os itens necessarios.' already = 'Parece que voce ja tem este addon, nao tente me zombar filho!' function AssassinoFirst(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end addon = getPlayerStorageValue(cid,fassassino) if addon == -1 then if getPlayerItemCount(cid,2160) >= 1 and getPlayerItemCount(cid,2160) >= 1 then if doPlayerRemoveItem(cid,2160,1) and doPlayerRemoveItem(cid,2160,1) then npcHandler:say('Ah, certo! Aqui esta o seu addon, volte sempre.') doSendMagicEffect(getCreaturePosition(cid), 13) setPlayerStorageValue(cid,fassassino,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 152, 1) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 156, 2) end end else selfSay(noitems) end else selfSay(already) end end function AssassinoSecond(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end addon = getPlayerStorageValue(cid,sassassino) if addon == -1 then if getPlayerItemCount(cid,2160) >= 1 then if doPlayerRemoveItem(cid,2160,1) then npcHandler:say('Ah, certo! Aqui esta o seu addon, volte sempre.') doSendMagicEffect(getCreaturePosition(cid), 13) setPlayerStorageValue(cid,sassassino,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 152, 2) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 156, 1) end end else selfSay(noitems) end else selfSay(already) end end node2 = keywordHandler:addKeyword({'addon1'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce pode comprar o segundo addon por. Voce tem-los com voce?'}) node2:addChildKeyword({'yes'}, AssassinoFirst, {}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem entao. Volte quando voce tem todos os itens necessarios.', reset = true}) node3 = keywordHandler:addKeyword({'addon2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce pode comprar o segundo addon por. Voce tem-los com voce?'}) node3:addChildKeyword({'yes'}, AssassinoSecond, {}) node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem entao. Volte quando voce tem todos os itens necessarios.', reset = true}) npcHandler:addModule(FocusModule:new())
-
MIzakinha deu reputação a Summ em [Pedido] NPC de addonlocal 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 -- Storage IDs -- fassassino = 22015 sassassino = 22016 newaddon = 'Ah, certo! Aqui esta o seu addon, volte sempre.' noitems = 'Voce nao tem todos os itens necessarios.' noitems2 = 'Voce nao tem todos os itens necessarios.' already = 'Parece que voce ja tem este addon, nao tente me zombar filho!' function AssassinoFirst(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local addon = getPlayerStorageValue(cid,fassassino) if addon < 1 then if getPlayerItemCount(cid,2160) >= 1 and getPlayerItemCount(cid,2160) >= 1 then if doPlayerRemoveItem(cid,2160,1) and doPlayerRemoveItem(cid,2160,1) then npcHandler:say('Ah, certo! Aqui esta o seu addon, volte sempre.') doSendMagicEffect(getCreaturePosition(cid), 13) setPlayerStorageValue(cid,fassassino,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 152, 1) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 156, 2) end end else selfSay(noitems) end else selfSay(already) end end function AssassinoSecond(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local addon = getPlayerStorageValue(cid,sassassino) if addon < 1 then if getPlayerItemCount(cid,2160) >= 1 then if doPlayerRemoveItem(cid,2160,1) then npcHandler:say('Ah, certo! Aqui esta o seu addon, volte sempre.') doSendMagicEffect(getCreaturePosition(cid), 13) setPlayerStorageValue(cid,sassassino,1) if getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, 152, 2) elseif getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 156, 1) end end else selfSay(noitems) end else selfSay(already) end end node2 = keywordHandler:addKeyword({'addon1'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce pode comprar o segundo addon por. Voce tem-los com voce?'}) node2:addChildKeyword({'yes'}, AssassinoFirst, {}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem entao. Volte quando voce tem todos os itens necessarios.', reset = true}) node3 = keywordHandler:addKeyword({'addon2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce pode comprar o segundo addon por. Voce tem-los com voce?'}) node3:addChildKeyword({'yes'}, AssassinoSecond, {}) node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem entao. Volte quando voce tem todos os itens necessarios.', reset = true}) npcHandler:addModule(FocusModule:new())
-
MIzakinha deu reputação a Summ em [Pedido] NPC de addon-- Storage IDs -- config = { Fassassino = 22115; Sassassino = 22116; } 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 if msgcontains(msg:lower(), 'addon1') then if getPlayerStorageValue(cid, config.Fassassino) < 1 then selfSay('Tem certeza ?', cid); talkState[talkUser] = 1; else selfSay('Parece que voce ja tem este addon, nao tente me zombar filho!', cid); talkState[talkUser] = 0; end elseif msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 1 then if getPlayerItemCount(cid,2160) >= 1 then if doPlayerRemoveItem(cid,2160,1) then selfSay('Ah, certo! Aqui esta o seu addon, volte sempre.', cid); doSendMagicEffect(getCreaturePosition(cid), 13); doPlayerAddOutfit(cid, 152, 1); doPlayerAddOutfit(cid, 156, 1); setPlayerStorageValue(cid, config.Fassassino, 1); talkState[talkUser] = 0; end else selfSay('Voce nao tem todos os itens necessarios.', cid); talkState[talkUser] = 0; end end if msgcontains(msg:lower(), 'addon2') then if getPlayerStorageValue(cid, config.Sassassino) < 1 then selfSay('Tem certeza ?', cid); talkState[talkUser] = 2; else selfSay('Parece que voce ja tem este addon, nao tente me zombar filho!', cid); talkState[talkUser] = 0; end elseif msgcontains(msg:lower(), 'yes') and talkState[talkUser] == 2 then if getPlayerItemCount(cid, 2160) >= 1 then if doPlayerRemoveItem(cid, 2160, 1) then selfSay('Ah, certo! Aqui esta o seu addon, volte sempre.', cid); doSendMagicEffect(getCreaturePosition(cid), 13); doPlayerAddOutfit(cid, 152, 2); doPlayerAddOutfit(cid, 156, 2); setPlayerStorageValue(cid, config.Sassassino, 1); talkState[talkUser] = 0; end else selfSay('Voce nao tem todos os itens necessarios.', cid); talkState[talkUser] = 0; end end if msgcontains(msg:lower(), 'no') and talkState[talkUser] == 1 or talkState[talkUser] == 2 then selfSay('Tudo bem entao. Volte quando voce tem todos os itens necessarios.', cid); talkState[talkUser] = 0; end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
MIzakinha deu reputação a Sanieg em [Pedido] NPC que troca Blueberries por Mana Potionsdata/npc/ crie um arquivo com o nome trade.xml
dentro coloque:
depois abra data/npc/scripts crie um arquivo com o nome trocador.lua dentro coloque:
Onde editar? IDDABLUEBERRY = Aqui coloque a id da blueberry IDDAPOTION = Aqui coloque a id da potion. e ao lado deles pode editar a quantia exemplo: doPlayerAddItem(cid, IDDAPOTION, QUANTIA) -
MIzakinha deu reputação a Summ em (Resolvido)[Pedido] Anihi Questlocal config = { daily = "no", MinLevel = 20, MaxLevel = 30, storage = 7007 } function onUse(cid, item, frompos, item2, topos) if item.uid == 7007 and item.itemid == 1945 then player1pos = {x=1104, y=1054, z=8, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=1105, y=1054, z=8, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=1106, y=1054, z=8, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=1107, y=1054, z=8, stackpos=253} player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then if getPlayerLevel(cid) >= config.MinLevel or getPlayerLevel(cid) <= config.MaxLevel then queststatus1 = getPlayerStorageValue(player1.uid,7007) queststatus2 = getPlayerStorageValue(player2.uid,7007) queststatus3 = getPlayerStorageValue(player3.uid,7007) queststatus4 = getPlayerStorageValue(player4.uid,7007) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=1146, y=1228, z=8} nplayer2pos = {x=1147, y=1228, z=8} nplayer3pos = {x=1149, y=1228, z=8} nplayer4pos = {x=1150, y=1228, z=8} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Alguém em sua equipe já fez essa quest.") end else doPlayerSendTextMessage(cid, 19, "You no have level") end else doPlayerSendCancel(cid,"Você precisa de quatro jogadores para esta quest.") end elseif item.uid ==7007 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Desculpe, não é possível.") end else return 0 end return 1 end
-
MIzakinha deu reputação a Summ em (Resolvido)[Pedido] Anihi Questlocal config = { daily = "no", MinLevel = 20, MaxLevel = 30, storage = 7007 } function onUse(cid, item, frompos, item2, topos) if item.uid == 7007 and item.itemid == 1945 then player1pos = {x=1104, y=1054, z=8, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=1105, y=1054, z=8, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=1106, y=1054, z=8, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=1107, y=1054, z=8, stackpos=253} player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then if getPlayerLevel(cid) >= config.MinLevel and getPlayerLevel(cid) <= config.MaxLevel then queststatus1 = getPlayerStorageValue(player1.uid,7007) queststatus2 = getPlayerStorageValue(player2.uid,7007) queststatus3 = getPlayerStorageValue(player3.uid,7007) queststatus4 = getPlayerStorageValue(player4.uid,7007) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=1146, y=1228, z=8} nplayer2pos = {x=1147, y=1228, z=8} nplayer3pos = {x=1149, y=1228, z=8} nplayer4pos = {x=1150, y=1228, z=8} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Alguém em sua equipe já fez essa quest.") end else doPlayerSendTextMessage(cid, 19, "You no have level") end else doPlayerSendCancel(cid,"Você precisa de quatro jogadores para esta quest.") end elseif item.uid ==7007 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Desculpe, não é possível.") end else return 0 end return 1 end Foi um erro bobo HAUSHAU, quando eu fui perceber o que tinha feito e vim corrigir tu já tinha postado.