Tudo que Weslley Kiyo postou
-
Source Poketibia - Códigos de derrubar
Tem um outro código que faz derrubar o servidor caso ele seja compilado em GUI no windows se não me engano. E pelo que me lembre, se usar em linux também derruba depois de um tempo.. Infelizmente não lembro onde que ele está localizado, mas tentem procurar em game.cpp OBS: As sources do DxP não são recomendadas de serem usadas para um servidor. A mesma causa lag e consome uma vasta memória do DEDICADO (já tentei abrir e não gostei dos resultados). Com 1 player online, mesmo estando em um dedicado fica lagado.
-
Servidor Global (o 8.60 mais completo)
Fiz o script de snow funcionar para cada SQM.. Sim, cada sqm diferente, ele tem um tipo de pegada diferente igual global Bônus -- Conhecem essa área? rsrs Servidor está quase pronto no quesito 'sistemas' e mapa. Rookguard já está idêntica ao Global. Main, apenas as falas dos npcs estão prontas, ainda faltam as quests e missions.
-
Porta que abre com chave
2 a 1 1 - Faz a quest e da look na chave e na porta para ver se os ActionID estão iguais (alguns servidores o sistema de quests não funcionam direito) 2 - A porta que você adicionou não é compatível. Precisa ser uma porta locker.. Me informa o ID da porta que você colocou.
-
Servidor Global (o 8.60 mais completo)
Ver GIF clicando Aqui! @OFFTOPIC O fórum não permite gif ... Deu trabalho, e muitoo pra fazer os vials funcionarem kk
-
Ajuda na source
Não buga, pode fazer sem dó
-
Porta que abre com chave
Não é assim... Olha só, vou por algumas imgs de como configurar Você precisa de uma porta Locked e deixar o ActionID dela igual na img (O actionID da porta precisa ser o msm ActionID da chave para ela abrir) - como mostra a imagem: Para setar o ActionID na chave, existem 3 maneiras. 1 - Você cria uma quest com a key, como na imagem: 2 - Você cria um npc que pode vender a key ou fazer alguma quest no npc para ganha-la, fica ao seu critério. Usando esse código: if msgcontains(msg, "key") then npcHandler:say("Do you want to buy the Key to Adventure for 5 gold coins?", cid) npcHandler.topic[cid] = 4 elseif npcHandler.topic[cid] == 4 then if msgcontains(msg, "yes") then if getPlayerMoney(cid) >= 5 then npcHandler:say("Here you are.", cid) doPlayerRemoveMoney(cid, 5) -- money local key = doCreateItemEx(2088, 1) -- key (null) doSetItemActionId(key, 4600) -- actionID (key) doPlayerAddItemEx(cid, key, 1) -- key (actionId) else npcHandler:say("You don't have enough money.", cid) end elseif msgcontains(msg, "no") then npcHandler:say("As you wish.", cid) else npcHandler:say("Only nonsense on your mind, eh?", cid) end npcHandler.topic[cid] = 0 3 - Você pode setar a ActionID com o GOD: /attr ActionID, 4600
-
Servidor Global (o 8.60 mais completo)
(uma das áreas novas - Quara Dungeon http://www.tibiawiki.com.br/wiki/Quara_Dungeon) OBS: Servidor na versão 8.60 crianças! rsrs
-
Porta que abre com chave
Em todo servidor esse sistema já existe. Basta setar uma ActionID na chave e a mesma ActionID na porta. Assim ela só vai abrir se você usar a chave
-
Rme
https://github.com/hjnilsson/rme Mais em baixo, no site, possui um mini-tutorial como compilar em linux
-
Vida e mana
- Seus piores erros sendo OT-ADMIN?!
LuL kkkk Dessa eu não sabia '-' ou não lembrava rsrs- Seus piores erros sendo OT-ADMIN?!
acharam q tu jogava no serv né? kkkkk- (Resolvido)[AJUDA] LASTKILL MONSTERS
- (Resolvido)[AJUDA] LASTKILL MONSTERS
Ai você complica HEUIHEIUWHEU Não sei fazer um for para ele checar dependendo do monstro que matar, então... Você vai ter q adicionar 1 script para cada boss morto EX Add uma tag no monstro: <script> <event name="BossDivino1"/> </script> E em creaturescript.xml <event type="death" name="BossDivino1" event="script" value="BossDivino1.lua"/> E no .lua você muda o doPlayerAddItem(deathList[1], 6527, 70) -- 70 = quantidade Para adicionar outro, basta adicionar a tag, bossdivino2, bossdivino3,bossdivino4... E também altera em creaturescript.xml, em name="bossDivino2"... e em value que você vai criar um arquivo .lua para cada boss da Rep no vodkart, robei o script dele, FALO MERMO HGERUHEUWHEU- (Resolvido)[AJUDA] LASTKILL MONSTERS
É pq nunca mechi com OnDeath ou OnKill isso pra mim é complicado kk Tenta esse function onDeath(cid, corpse, deathList) if isPlayer(deathList[1]) then doPlayerAddItem(deathList[1], 6527, 70) -- itemid, amount doBroadcastMessage("O jogador "..getCreatureName(deathList[1]).." deu o ultimo HIT no Boss Divino e ganhou 70 Event Tokens!") doSendMagicEffect(getPlayerPosition(deathList[1]), 12) end return true end OU esse function onDeath(cid, corpse, deathList) if isPlayer(deathList[1]) then doPlayerAddItem(deathList[1], 6527, 70) -- itemid, amount doBroadcastMessage("O jogador "..getCreatureName(deathList[1]).." deu o ultimo HIT no Boss Divino e ganhou 70 Event Tokens!") end return true end- (Resolvido)[AJUDA] LASTKILL MONSTERS
Retira a linha: doSendMagicEffect(getPlayerPosition(deathList[1]), 12)- (Resolvido)[AJUDA] LASTKILL MONSTERS
function onDeath(cid, corpse, deathList) if isPlayer(deathList[1]) then doPlayerAddItem(deathList[1], 6527, 70) -- itemid, amount doBroadcastMessage("O jogador "..getCreatureName(deathList[1]).." deu o ultimo HIT no "..getCreatureName(target).." e ganhou 70 Event Tokens!") doSendMagicEffect(getPlayerPosition(deathList[1]), 12) end return true end Agora adiciona a tag nos monstros que você quer fazer o script funcionar... <script> <event name="BossDivino"/> </script> Não esquece em creatures.xml <event type="death" name="BossDivino" event="script" value="ScriptFDP_DA_POHA_HEUHEU.lua"/>- (Resolvido)[AJUDA] LASTKILL MONSTERS
Q loucura kkk Tenta mudar essa linha: if isPlayer(cid) and not isPlayer(target) then Para: if isPlayer(killer[1]) and not isPlayer(target) then- Trocar de Vocation Por Pergaminho
function onUse(cid, item, frompos, item2, topos) if getVocationInfo(getPlayerVocation(cid)).name == "Hashirama" then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce Ja é um Hashirama!") elseif getPlayerLevel > 50 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode trocar de character, apenas player level inferior a 50") else doPlayerSetVocation(cid, 1) doCreatureSay(cid, "Hashirama Owns!!", 19) doSendMagicEffect(getCreaturePosition(cid), 1) doCreatureChangeOutfit(cid, {lookType = 1}) if getPlayerStorageValue(cid, 5) < 1 then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+80000) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+80000) setPlayerStorageValue(cid, 5, 1) end setPlayerStorageValue(cid, 16200, 1) setPlayerStorageValue(cid, 300, (getPlayerVocation(cid))) doRemoveItem(item.uid) end return TRUE end- (Resolvido)[AJUDA] LASTKILL MONSTERS
local im = { [1] = {item = {6527, 70}, monster = {"Boss Divino Prata"}}, [2] = {item = {6527, 70}, monster = {"Boss Divino Ouro"}}, [3] = {item = {6527, 70}, monster = {"Boss Divino Bronze"}} } function onDeath(cid, corpse, killer) if isPlayer(cid) and not isPlayer(target) then for _, all in pairs(im) do -- print(getCreatureName(target)) -- Caso nao funcione, tente usar isso para pegar o nome exato do seu monstro. if getCreatureName(target) == all.monster[1] then doBroadcastMessage("O jogador " ..getPlayerName(cid).. " matou o " ..getCreatureName(target).. " e ganhou 70 Events Tokens.") doPlayerAddItem(cid, all.item[1], all.item[2]) end end end return true end Agora vai, agora vai HEUHEUE em creatures.xml muda para: event type="death" em creatures.xml muda para: name="BossDivino" adiciona a TAG no monstro: <script> <event name="BossDivino"/> </script>- Seus piores erros sendo OT-ADMIN?!
Contem ai suas merdas sendo OT-ADMIN HEUHEUHEUHEU Só vou contar uma... Era um de meus primeiros servidores, tinha em média 60~100 players. Ai fiz um evento de um boss. No começo tinha colocado muito hp e ninguém conseguia matar. Ai depois arrumei o HP, passou +/- 15 min, uns 40 nego tentando mata-lo. Quando ele morreu, player que tava lvl 400 foi pra 410. Mas tinham players lvl 30~50, esses uparam pro 800 pois eu usava stages e até lvl 100 a XP era muito maior. HEWUIHEWUIHEUIWHEIUWHEU MANo, pense na merda kkkkkkkkkkkkkkkkkk- (Resolvido)[AJUDA] LASTKILL MONSTERS
@mateusmoretti Foi mal, tenta agr local im = { [1] = {item = {6527, 70}, monster = {"Boss Divino Prata"}}, [2] = {item = {6527, 70}, monster = {"Boss Divino Ouro"}}, [3] = {item = {6527, 70}, monster = {"Boss Divino Bronze"}} } function onDeath(cid, target, lastHit) if isPlayer(cid) and not isPlayer(target) then for _, all in pairs(im) do -- print(getCreatureName(target)) -- Caso nao funcione, tente usar isso para pegar o nome exato do seu monstro. if getCreatureName(target) == all.monster[1] then doBroadcastMessage("O jogador " ..getPlayerName(cid).. " matou o " ..getCreatureName(target).. " e ganhou 70 Events Tokens.") doPlayerAddItem(cid, all.item[1], all.item[2]) end end end return true end- (Resolvido)[AJUDA] LASTKILL MONSTERS
local im = { [1] = {item = {6527, 70}, monster = {"Boss Divino Prata"}}, [2] = {item = {6527, 70}, monster = {"Boss Divino Ouro"}}, [3] = {item = {6527, 70}, monster = {"Boss Divino Bronze"}} } function onDeath(cid) if isPlayer(cid) and not isPlayer(target) then for _, all in pairs(im) do -- print(getCreatureName(target)) -- Caso nao funcione, tente usar isso para pegar o nome exato do seu monstro. if getCreatureName(target) == all.monster[1] then doBroadcastMessage("O jogador " ..getPlayerName(cid).. " matou o " ..getCreatureName(target).. " e ganhou 70 Events Tokens.") doPlayerAddItem(cid, all.item[1], all.item[2]) end end end return true end- Servidor Global (o 8.60 mais completo)
Agradeço! Existem um script na própria source que permite aumentar a XP pela quantidade de players na PT. -- Party System experienceShareRadiusX = 60 -- Área máxima para dividir XP experienceShareRadiusY = 60 -- Área máxima para dividir XP experienceShareRadiusZ = 1 -- Andar máximo para dividir XP experienceShareLevelDifference = 2 / 3 -- Diferença de Level para dividir XP extraPartyExperienceLimit = 10 -- Limite máximo de aumento na XP (em porcentagem) extraPartyExperiencePercent = 2 -- Aumento(em porcentagem) na XP para cada player acrescentado na PT experienceShareActivity = 5 * 60 * 1000 -- Tempo de atividade em dividir XP Bem, a cada player na pt, a XP aumenta 2%. Máximo de 10% ao dividir XP (5 players na pt para chegar ao limit) Claro, ainda vou fazer testes. Sobre o RPG... Assim que estiver tudo concluído, online e sem bugs, irei adicionar quests e npcs com tasks customs ou você andar de um npc para outro. E até mesmo quests custom, porém nada que fuja do Global! Eventos que vou adicionar no servidor também darão XP ao vencedor/vencedores. (OBS: Nada de evento baiak HUEHEUHEU apenas zombie event, war-entrosa e outros que não seja apelativo) Bem, a Stage do servidor realmente é muito mais hard. Servidor está configurado para 2x até o 100, após isso, 1.5x e logo mais, 1x... A ideia é fazer players level 100 serem end-game e lvl 200 ser hardcore. Porém, haverá tasks, diárias iguais global(com Xp aumentados) e outras coisas que vão facilitar no UP. Também possuiem áreas novas do global (que possuem suporte para versão 8.60) Posso adicionar facilmente essas áreas, porém, os monstros não serão iguais (em sprites), mas posso deixar a XP e as skills dos mesmos parecidas. Ficaria estranho, portanto decidi por apenas hunts e áreas que possuem suporte para 8.60. Futuramente, com o servidor online eu posso estudar melhor o caso de por hunts novas do global mas com monstros customs. Mas não posso dizer 100% que irei fazer isso. Sim, porém serão quests lendárias. Quests que vão se basear em histórias e mitos do tibia. Assim também como Spike Sword em Rook Golden helmet por exemplo, era um loot do Daemon. Se por acaso eu adicionar esse monstro com uma chance de spawnar em RAID de 0.1% e claro, aumentar HP/DANO dele. Ao mata-lo, ele poderá dropar o golden helmet, porém terá uma chance de 0.01% Bem, é apenas uma ideia. Mas ao spawnar, vai aparecer um aviso Global e vão haver guilds, players e muito pvp na área dele rsrs Sobre upgrade nesses itens lendários, eu não posso fazer isso pois foge do Global se tornando um 4fun. E isso eu não quero. @Nandozeraah O servidor terá Regen 2x. Qualquer classe poderá matar outra se souber jogar bem. Se for 2 ou 3 players, as porções não conseguiram dar conta em healar tanto dano. Agora em relação ao dano de spells, isso precisamos testar e balancear antes de lançar o servidor. Vídeo fora do ar rsrs- Servidor Global (o 8.60 mais completo)
Obrigado pelas dicas. Tenho um bom tempo de ot-admin, subyth que está trabalhando comigo possui uns 7 anos ou mais de otservers e já passamos por muitas coisas. Sabemos realmente fazer um servidor dar certo, mesmo sendo hardcore. Exemplo: Algumas quests precisam esperar horas para o npc entregar a recompença. No nosso são apenas minutos e outros nem precisam esperar. Ao clicar no gold, ele se transforma, não precisando ter que voltar Depot sempre que estiver sem cap. Haverá Train Room e pesca lhe dará XP. Vocações estará muito bem balanceadas. Muitas quests não será necessário concluir toda ela.. Rashid por exemplo, basta você saber onde ele está, não precisa fazer missão São coisas que dão vantagem e outras tiram paciência, basta saber equilibrar bem. Nosso servidor será completo porém com algumas facilidades para não se tornar algo chato ou enjoativo. - Seus piores erros sendo OT-ADMIN?!
Informação Importante
Confirmação de Termo