Tudo que .HuRRiKaNe postou
-
Problema com zombie event
-- CONFIG ZE_DEFAULT_NUMBER_OF_PLAYERS = 50 ZE_ACCESS_TO_IGNORE_ARENA = 4 -- POSITIONS ZE_blockEnterItemPosition = {x= 1012, y=890, z=7} ZE_enterPosition = {x = 1492, y = 1550, z = 7} ZE_kickPosition = {x=1026, y=910, z=7} ZE_spawnFromPosition = {x = 1465, y = 1534, z = 7} ZE_spawnToPosition = {x = 1521, y = 1567, z = 7} -- ITEM IDS ZE_blockEnterItemID = 1536 -- STORAGES -- - player ZE_isOnZombieArea = 34370 -- - global ZE_STATUS = 34370 -- =< 0 - off, 1 - waiting for players, 2 - is running ZE_PLAYERS_NUMBER = 34371 ZE_ZOMBIES_TO_SPAWN = 34372 ZE_ZOMBIES_SPAWNED = 34373 -- FUNCTION function setZombiesEventPlayersLimit(value) doSetStorage(ZE_PLAYERS_NUMBER, value) end function getZombiesEventPlayersLimit() return getStorage(ZE_PLAYERS_NUMBER) end function addPlayerToZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_enterPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) if(getPlayerAccess(cid) < ZE_ACCESS_TO_IGNORE_ARENA) then setPlayerZombiesEventStatus(cid, os.time()) end end function kickPlayerFromZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_kickPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) setPlayerZombiesEventStatus(cid, 0) end function getPlayerZombiesEventStatus(cid) return getCreatureStorage(cid, ZE_isOnZombieArea) end function setPlayerZombiesEventStatus(cid, value) doCreatureSetStorage(cid, ZE_isOnZombieArea, value) end function getZombiesEventPlayers() local players = {} for i, cid in pairs(getPlayersOnline()) do if(getPlayerZombiesEventStatus(cid) > 0) then table.insert(players, cid) end end return players end function getZombiesCount() return getStorage(ZE_ZOMBIES_SPAWNED) end function addZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, getStorage(ZE_ZOMBIES_SPAWNED)+1) end function resetZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, 0) end function getZombiesToSpawnCount() return getStorage(ZE_ZOMBIES_TO_SPAWN) end function setZombiesToSpawnCount(count) doSetStorage(ZE_ZOMBIES_TO_SPAWN, count) end function addZombiesEventBlockEnterPosition() if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition) end end function removeZombiesEventBlockEnterPosition() local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID) if(item.uid ~= 0) then doRemoveItem(item.uid) end end function spawnNewZombie() local posx = {} local posy = {} local posz = {} local pir = {} for i=1, 5 do local posx_tmp = math.random(ZE_spawnFromPosition.x ,ZE_spawnToPosition.x) local posy_tmp = math.random(ZE_spawnFromPosition.y ,ZE_spawnToPosition.y) local posz_tmp = math.random(ZE_spawnFromPosition.z ,ZE_spawnToPosition.z) local pir_tmp = 0 local spec = getSpectators({x=posx_tmp, y=posy_tmp, z=posz_tmp}, 3, 3, false) if(spec and #spec > 0) then for z, pid in pairs(spec) do if(isPlayer(pid)) then pir_tmp = pir_tmp + 1 end end end posx[i] = posx_tmp posy[i] = posy_tmp posz[i] = posz_tmp pir[i] = pir_tmp end local lowest_i = 1 for i=2, 5 do if(pir[i] < pir[lowest_i]) then lowest_i = i end end local ret = (type(doCreateMonster("Zombie Event", {x=posx[lowest_i], y=posy[lowest_i], z=posz[lowest_i]}, false)) == 'number') if(ret) then addZombiesCount() end return ret end
-
[TalkActions] /mute, /desmute apenas no Help-Channel!
No meu servidor de dragon ball está funcionando, provavelmente é sua distro que não tem as funções necessárias.
-
[8.60] Zanera Evolution
Informações: Mapa Evolution's editado Houses 100% Quests 100% Trainers Teleports Eventos Automáticos E mais! Imagens: Download: http://www.mediafire.com/download/fr1ont5e91wrprb/Zanera-Evolution.rar Scan: https://www.virustotal.com/pt/file/858045082e7a4abf87518c7b201130ebebab58654a5c0666e1f3f3b24f756154/analysis/1438445459/ Créditos: Zanera Team Wartio
-
[TalkActions] /mute, /desmute apenas no Help-Channel!
Em data/talkactions/scripts crie um arquivo muteplayer.lua e coloque dentro: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, 21, "Digite o comando correto.") return true end local t = string.explode(param, ",") player = getPlayerByName(t[1]) local condition = createConditionObject(CONDITION_MUTED) if(not t[2] or t[2] == '') then doPlayerSendTextMessage(cid, 21, "Digite o comando correto.") end if t[2] then time = tonumber(t[2]*60000) -- 10*1000 is 10 seconds. if(isPlayer(player) == TRUE and getPlayerGroupId(cid) > getPlayerGroupId(player) and getPlayerFlagValue(player, PLAYERFLAG_CANNOTBEMUTED) == false) then setConditionParam(condition, CONDITION_PARAM_TICKS, time) setConditionParam(condition, CONDITION_PARAM_SUBID, 4) doAddCondition(player, condition) doPlayerSendTextMessage(player, MESSAGE_STATUS_WARNING, "Voce foi silenciado no Help-Channel por " .. getPlayerName(cid) .. " por " .. t[2] .. " minuto(s).") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(player) .. " foi silenciado no Help-Channel por " .. t[2] .. " minuto(s).") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Jogador " .. t[1] .. " não existe ou não está online.") end end return true end Salve e vá em talkactions/talkactions.xml e adicione: <talkaction log="yes" words="/mute;/desmute" access="1" event="script" value="muteplayer.lua"/> Salve e de /reload talkactions! Pronto é só usar o /mute, nome, minutos
-
[Talk] Comando de Mute [ Help ]
muteplayer.lua function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, 21, "Digite o comando correto.") return true end local t = string.explode(param, ",") player = getPlayerByName(t[1]) local condition = createConditionObject(CONDITION_MUTED) if(not t[2] or t[2] == '') then doPlayerSendTextMessage(cid, 21, "Digite o comando correto.") end if t[2] then time = tonumber(t[2]*60000) -- 10*1000 is 10 seconds. if(isPlayer(player) == TRUE and getPlayerGroupId(cid) > getPlayerGroupId(player) and getPlayerFlagValue(player, PLAYERFLAG_CANNOTBEMUTED) == false) then setConditionParam(condition, CONDITION_PARAM_TICKS, time) setConditionParam(condition, CONDITION_PARAM_SUBID, 4) doAddCondition(player, condition) doPlayerSendTextMessage(player, MESSAGE_STATUS_WARNING, "Voce foi silenciado no Help-Channel por " .. getPlayerName(cid) .. " por " .. t[2] .. " minuto(s).") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(player) .. " foi silenciado no Help-Channel por " .. t[2] .. " minuto(s).") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Jogador " .. t[1] .. " não existe ou não está online.") end end return true end talkactions.xml <talkaction log="yes" words="/mute;/desmute" access="1" event="script" value="muteplayer.lua"/>
-
Problema com zombie event
Boa tarde, bom eu configurei o zombie event perfeitamente no meu servidor, só que quando o ultimo sobrevivente é kickado da arena ele recebe o premio mas o evento não termina continua nascendo monstros lá na arena e também não aparece a mensagem do vencedor e quanto tempo durou o evento, meu distro é o 0.4 uso o mesmo script em outro servidor com o mesmo distro e funciona normalmente, script onattack: function loseOnZombieArena(cid) kickPlayerFromZombiesArea(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce perdeu.") local players = getZombiesEventPlayers() if(#players <= 1) then local winner = players[1] if(winner) then local reward = { [11487] = "War Boots", [11481] = "War Shuriken", } local rand = {} for itemid, _ in pairs(reward) do table.insert(rand, itemid) end rand = rand[math.random(#rand)] doPlayerAddItem(cid, rand) doPlayerAddItem(winner, 11192, 500, true) doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ganhou o Zombie Event.") doBroadcastMessage("Depois de " .. os.time() - getPlayerZombiesEventStatus(winner) .. " segundos, o jogador " .. getCreatureName(winner) .. " ganhou o Zombie Arena Event com " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zumbis!") kickPlayerFromZombiesArea(winner) else doBroadcastMessage("O evento acabou, infelizmente ninguém ganhou!") end doSetStorage(ZE_STATUS, 0) doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS) doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0) doSetStorage(ZE_ZOMBIES_SPAWNED, 0) local width = (math.max(ZE_spawnFromPosition.x, ZE_spawnToPosition.x) - math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)) / 2 + 1 local height = (math.max(ZE_spawnFromPosition.y, ZE_spawnToPosition.y) - math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)) / 2 + 1 local centerPos = {x=math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)+width,y=math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)+height,z=ZE_spawnFromPosition.z} for z = math.min(ZE_spawnFromPosition.z, ZE_spawnToPosition.z), math.max(ZE_spawnFromPosition.z, ZE_spawnToPosition.z) do centerPos.z = z for i, uid in pairs(getSpectators(centerPos, width, height, false)) do if(isMonster(uid)) then doRemoveCreature(uid) end end end end end function onStatsChange(target, cid, changetype, combat, value) if((cid and isMonster(cid) and getCreatureName(cid) == "Zombie Event") or (isInRange(getThingPosition(target), ZE_spawnFromPosition, ZE_spawnToPosition) and changetype == STATSCHANGE_HEALTHLOSS and math.abs(value) >= getCreatureHealth(target))) then doCreatureAddHealth(target, getCreatureMaxHealth(target)) loseOnZombieArena(target) return false end return true end Erro na distro quando o ultimo jogador vence e é teleportado para o templo:
-
Mostrar coldown que ainda falta ...
Tenta dessa forma e veja se vai funcionar..
-
Mostrar coldown que ainda falta ...
function onCastSpell(cid, var) local waittime = 1 local storage = 5963 if exhaustion.check(cid, storage) then doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.", TALKTYPE_MONSTER) return false end exhaustion.set(cid, storage, waittime) return TRUE end
-
[8.60] DBRelated 1.2 Site + Data + Sources
Hehe estou aqui no fórum com essa intenção
-
[8.60] DBRelated 1.2 Site + Data + Sources
Compilei a distro e adicionei ao tópico para ajudar quem não conseguiu! Down: http://www.mediafire.com/download/2ykpwpa4fa2knzk/Distro_%28Executavel%29_8.60_Dbo_Related_-_By_Animal_Pak%21.rar Scan: https://www.virustotal.com/pt/file/ffd037b5dfa3c6e5529490e460d075da3b4c24e8a230671a7d0c11f0dbc6d8d4/analysis/1438323955/
-
NPC que troca nome
Tenta: 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, "trocar nome") then if getPlayerItemCount(cid, 1010) < 30 then npcHandler:say("Você não tem a quantidade necessária para trocar seu nome!}", cid) return TRUE end doPlayerRemoveItem(cid, 1010, 30) npcHandler:releaseFocus(cid) doAddPlayerBanishment(getPlayerGUID(cid), PLAYERBAN_LOCK) doRemoveCreature(cid) return TRUE end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) <?xml version="1.0" encoding="UTF-8"?> <npc name="Trocar Nome" script="data/npc/scripts/name.lua" walkinterval="0" speed="0" floorchange="0"> <health now="100" max="100"/> <look type="240"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, eu posso {trocar nome} por 30 pontos!" /> </parameters> </npc>
-
[8.60] DBRelated 1.2 Site + Data + Sources
Eu tenho dois servidores, não dá tempo pra eu compilar não.. se alguém quiser compilar e postar o link pra quem não sabe, o projeto ta ai
-
[PEDIDO] NPC tira red
Aqui está: 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, "remover") then npcHandler:say("Voce quer remover seu red skull? {yes} ou {no}.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "no") and talkState[talkUser] == 1 then npcHandler:say("Esta bem, quando decidir fale comigo novamente.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then if getCreatureSkullType(cid) < SKULL_RED then npcHandler:say("Voce nao esta red skull.", cid) else if doPlayerRemoveItem(cid, 1010, 5) then db.executeQuery("UPDATE killers SET unjustified = '0' WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = "..getPlayerGUID(cid)..")") doCreatureSetSkullType(cid, 0) npcHandler:say("Seu red skull foi removido.", cid) else npcHandler:say("Voce nao tem o necessario para remover seu red skull.", cid) end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
[8.60] DBRelated 1.2 Site + Data + Sources
Eu posso mandar por pm, lord vou dar uma olhada nesse erro, caso eu não consiga te ajudar abra um tópico no suporte aqui do fórum!
-
Help me plx! erro mysql deaths
Executa esse comando na database: DROP TABLE IF EXISTS `killers`; CREATE TABLE `killers` ( `id` INT NOT NULL AUTO_INCREMENT, `death_id` INT NOT NULL, `final_hit` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE, `unjustified` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE, `war` INT NOT NULL DEFAULT 0, PRIMARY KEY (`id`), FOREIGN KEY (`death_id`) REFERENCES `player_deaths`(`id`) ON DELETE CASCADE ) ENGINE = InnoDB;
-
(Resolvido)Essa pot healar no máximo 150k de health e mana!
Essa da minha assinatura, nto war..
-
(Resolvido)Essa pot healar no máximo 150k de health e mana!
No momento eu tenho esse script de uma pot vip em meu servidor, no caso ela heala toda life e mana do personagem, gostaria de saber se alguém consegue ajeitar para ela healar apenas 150k no máximo de life e mana, segue: local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) if(not isPlayer(itemEx.uid)) then return FALSE end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end doAddCondition(cid, exhaust) doCreatureAddMana(itemEx.uid, (getCreatureMaxMana(itemEx.uid))) doCreatureAddHealth(itemEx.uid, (getCreatureMaxHealth(itemEx.uid))) doSendMagicEffect(getThingPos(itemEx.uid), 5) doCreatureSay(itemEx.uid, "I feel powerful!", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) return TRUE end
-
[8.60] DBRelated 1.2 Site + Data + Sources
http://www.tibiaking.com/forum/topic/28214-tutorial-criando-client-proprio-sem-vapus-completo/
-
[8.60] DBRelated 1.2 Site + Data + Sources
Crie o exe do client aqui http://vapus.net/customclient
-
[8.60] DBRelated 1.2 Site + Data + Sources
Poste o erro aqui por favor.
-
[8.60] DBRelated 1.2 Site + Data + Sources
O dat e o spr estão ali cara, só fazer o client e .PIC ao critério do seu servidor..
-
[8.60] DBRelated 1.2 Site + Data + Sources
Aqui no tibiaking tem os tutoriais necessários, basta usar a ferramenta de busca.
-
[8.60] DBRelated 1.2 Site + Data + Sources
Que bom, também comecei um projeto em cima desse
-
[8.60] DBRelated 1.2 Site + Data + Sources
Sim só configurar pra rodar em sqlite, você precisa compilar as sources para o seu s.o!
-
[8.60] DBRelated 1.2 Site + Data + Sources
Eu frequento diversos fóruns rs, esse eu vi em um polonês