Tudo que glacialot postou
-
(Resolvido)Monsters que Empurra
Pessoal, tenho alumas quests aqui e os cara ficam com knight na frente blocando os boss e tacando mwall pra fazer a quest, não tem como fazer o monsters empurra os chars? no casa ele ataca o cara e dai empurra e muda de target, tem como fazer isso? agradeço desde já!
-
otservlist.org - Spoofing
Eu tenho em meu otserv uma área com TREINER OFFLINE, mas nao ta ativada, ta com grade, não da para entrar, sera que pode ser isso ?
-
otservlist.org - Spoofing
Fui banido da OTServ List, e me aparece aq seguinte mensagem oque é isso? This server is currently banned! Reason: Spoofing data info (Type: #2). Como faço para ser desbanido?
-
Monsters não se atacar
Pessoal to fazendo uma arena aqui, nela são sumonados 4 monsters, quando o player mata os 4 aparecem +4, pois bem o problema é que tem alguns monsters que matam o outro, por exemplo sai 2 hydras e 2 dragon lord, dai com as waves um mata o outro, e dai nao contabiliza que o player matou os 4 e a arena nao vai pra frente, tem como por para os bixos nao se atacarem em uma area x y?
-
Ajuda - MOD Rush War não funciona
+UP
-
Ajuda - MOD Rush War não funciona
+UP
-
(Resolvido)[Pedido] Sistema de Arena.
Show de bola, o problema estava quando substitui esse ultimo post dele copiei apenas RENA e nao ARENA como ele mesmo informou... Quero agradecer imensamente a ajuda do @ziper98 pelo esforço e dedicação aplicada nesse script, ficou 100% mesmo, tudo funcionando conforme o pedido, que você continue ajudando aqui no Forum, faz um ótimo trabalho amigo, precisamos de mais pessoas como você por aqui! Parabéns!
-
(Resolvido)[Pedido] Sistema de Arena.
Cara tu não vai acreditar mas agora ele da erro no script do NPC Script: 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(), "arena") or msgcontains(msg:lower(), "enter") then if getPlayerLevel(cid) < ARENA.level then selfSay("You do not have enough level ["..ARENA.level.."].", cid) talkState[talkUser] = 0 return true elseif getGlobalStorageValue(1000) > -1 then selfSay("Someone is at the arena right now, please wait.", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, ARENA.STORAGES.storage) > -1 then selfSay("You already completed the arena.", cid) talkState[talkUser] = 0 return true else selfSay("You really want enter in the arena? It will cost you {"..ARENA.NPC.price.."}.", cid) talkState[talkUser] = 1 return true end elseif msgcontains(msg:lower(), "yes") and talkState[talkUser] == 1 then if doPlayerRemoveMoney(cid, ARENA.NPC.price) then selfSay("Good luck! ^.^", cid) doTeleportThing(cid, ARENA.NPC.position) setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, 1) setPlayerStorageValue(cid, 90183, 1) setGlobalStorageValue(1000, 1) doWave(cid, 1) talkState[talkUser] = 0 return true else selfSay("You do not have enough money.", cid) talkState[talkUser] = 0 return true end elseif msgcontains(msg:lower(), "no") and talkState[talkUser] == 1 then selfSay("Ok, then...", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Maquina de Summon APRIMORADA
Exatamente, eu coloco o DOLL la e ee sumona mesmo tendo monstros na sala...
-
(Resolvido)[Pedido] Sistema de Arena.
Mato e nao aparece a outra WAVE do Distro: Creaturescripts: function onKill(cid, target) print("test6") if isPlayer(cid) and getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then print("test3") local new_wave = getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) + 1 if newWave() then print("test4") local reward = ARENA.WAVES[getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto)].prize local str = "You won:" if reward.cash then doPlayerAddMoney(cid, reward.cash) str = str.."\n"..reward.cash.."$" end if reward.items then for i = 1, #reward.items do local item = reward.items[i][1] local count = reward.items[i][2] if not isItemStackable(item) and count > 1 then for i = 1, count do doPlayerAddItem(cid, item, 1) end else doPlayerAddItem(cid, item, count) end str = str.."\nItem - "..count.."x "..getItemNameById(item) end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) if ARENA.WAVES[new_wave] then setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, new_wave) doWave(cid, new_wave) else local tp = doCreateTeleport(ARENA.TELEPORT.tpId, ARENA.TELEPORT.tpToPos, ARENA.TELEPORT.tpPos) doItemSetAttribute(tp, "aid", ARENA.TELEPORT.aid) end end end return true end function onLogout(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then doPlayerSendCancel(cid, "You can't logout now.") return false end end return true end function onPrepareDeath(cid) if getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, -1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setGlobalStorageValue(1000, -1) clearArena() end return true end e a LIB: ARENA = { WAVES = { [1] = { monsters = { {"Demon", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Demon", {x = 617, y = 2089, z = 6}}, {"Demon", {x = 627, y = 2086, z = 6}}, {"Demon", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 500000, --Coloque false se não for receber cash nessa wave. items = false, --Coloque false se não for receber item(s) nessa wave. }, }, [2] = { monsters = { {"Hellfire Figher", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Hellfire Figher", {x = 617, y = 2089, z = 6}}, {"Hellfire Figher", {x = 627, y = 2086, z = 6}}, {"Hellfire Figher", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = false, }, }, [3] = { monsters = { {"Orshabaal", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Orshabaal", {x = 617, y = 2089, z = 6}}, {"Orshabaal", {x = 627, y = 2086, z = 6}}, {"Orshabaal", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = { {2160, 1}, --{ID do item, quantidade}, {2160, 1}, }, }, }, }, NPC = { price = 2000, --Preço para entrar na arena. position = {x = 622, y = 2088, z = 6}, --Para onde o jogador será teleportado ao falar com o NPC. }, TELEPORT = { tpId = 1387, --ID do teleporte. tpPos = {x = 622, y = 2084, z = 6}, --Onde o teleporte será criado, ao matar o último boss. tpToPos = {x = 622, y = 2081, z = 5}, --Para onde o teleporte levará. aid = 1307, }, STORAGES = { storage = 90190, wave_sto = 90191, }, toPos = {x = 630, y = 2092, z = 6}, --Coordenadas da posição superior esquerda da arena. fromPos = {x = 614, y = 2082, z = 6}, --Coordenadas da posição inferior direita da arena. delay = 15, --Segundos para o boss aparecer. level = 100, --Level mínimo. } function doWave(cid, wave) if not isPlayer(cid) then return true elseif not ARENA.WAVES[wave] then return true elseif getPlayerStorageValue(cid, ARENA.STORAGES.storage) > -1 then return true end local monster = ARENA.WAVES[wave] local m = monster.monsters doPlayerSendTextMessage(cid, 27, "Em "..ARENA.delay.." segundos, começa seu desafio. [Wave: "..wave.."]") addEvent(function() for i = 1, #m do doCreateMonster(m[i][1], m[i][2]) end end, ARENA.delay * 1000) end function clearArena() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) then doRemoveCreature(creature) end end end end end function newWave() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) then print("test1") if not isPlayer(creature) and not isSummon(creature) then print("test5") return false end end end end end print("test2") return true end
-
(Resolvido)[Pedido] Sistema de Arena.
Amigo aonde fica os arquivos test? Na distro deu isso: ">http:// E não começou a WAVE 2 depois de matar os 4 demons da WAVE 1
-
(Resolvido)[Pedido] Sistema de Arena.
Certo, agora ele matou todos os demons, porem ele nao passa para a WAVE 2, no caso eu matei os 4 demon da wave 1, dai nao acontece mais nada, e nao ganha o premio tbm 14:36 Vandrigo Ten [9177]: hi 14:36 The Guard of Arena: Olá, Eu vendo Summon Doll, o custo é 50k cada um, para comprar fale: trade. Com ele você poderá Summon um Monstro Aleatório na Maquina de Summon na sala abaixo. 14:36 Em 15 segundos, começa seu desafio. [Wave: 1] 14:37 Você Matou 2281 Demon's. 14:37 Você Matou 2282 Demon's. 14:37 Você Matou 2283 Demon's. 14:37 Você Matou 2284 Demon's.
-
(Resolvido)[Pedido] Sistema de Arena.
Cara mudei ali conforme voce falou: ARENA = { WAVES = { [1] = { monsters = { {"Demon", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Demon", {x = 617, y = 2089, z = 6}}, {"Demon", {x = 627, y = 2086, z = 6}}, {"Demon", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 500000, --Coloque false se não for receber cash nessa wave. items = false, --Coloque false se não for receber item(s) nessa wave. }, }, [2] = { monsters = { {"Hellfire Figher", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Hellfire Figher", {x = 617, y = 2089, z = 6}}, {"Hellfire Figher", {x = 627, y = 2086, z = 6}}, {"Hellfire Figher", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = false, }, }, [3] = { monsters = { {"Orshabaal", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Orshabaal", {x = 617, y = 2089, z = 6}}, {"Orshabaal", {x = 627, y = 2086, z = 6}}, {"Orshabaal", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = { {2160, 1}, --{ID do item, quantidade}, {2160, 1}, }, }, }, }, NPC = { price = 2000, --Preço para entrar na arena. position = {x = 623, y = 2084, z = 6}, --Para onde o jogador será teleportado ao falar com o NPC. }, TELEPORT = { tpId = 1387, --ID do teleporte. tpPos = {x = 622, y = 2084, z = 6}, --Onde o teleporte será criado, ao matar o último boss. tpToPos = {x = 622, y = 2081, z = 5}, --Para onde o teleporte levará. aid = 1307, }, STORAGES = { storage = 90190, wave_sto = 90191, }, toPos = {x = 630, y = 2092, z = 6}, --Coordenadas da posição superior esquerda da arena. fromPos = {x = 614, y = 2082, z = 6}, --Coordenadas da posição inferior direita da arena. delay = 15, --Segundos para o boss aparecer. level = 100, --Level mínimo. } function doWave(cid, wave) if not isPlayer(cid) then return true elseif not ARENA.WAVES[wave] then return true elseif getPlayerStorageValue(cid, ARENA.STORAGES.storage) > -1 then return true end local monster = ARENA.WAVES[wave] local m = monster.monsters doPlayerSendTextMessage(cid, 27, "Em "..ARENA.delay.." segundos, começa seu desafio. [Wave: "..wave.."]") addEvent(function() for i = 1, #m do doCreateMonster(m[i][1], m[i][2]) end end, ARENA.delay * 1000) end function clearArena() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) then doRemoveCreature(creature) end end end end end function newWave() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) and not isPlayer(creature) and not isSummon(creature) then return false end end end end return true end mas agora voltou o problema que tinha sido resolvido antes, eu mato os bixo e eles nao morrem... O demon da esquerda la eu matei e ele fica la de pé Erro na distro:
-
(Resolvido)[Pedido] Sistema de Arena.
Não, agora nao da mais o erro, só que eu mato os 4 demons da Wave 1 e ele nao pula para a Wave 2 Olha como ta o script, eu editei oque voce foi falando ali, menos esse ultimo post que tu fez para o @olokomeu Script: ARENA = { WAVES = { [1] = { monsters = { {"Demon", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Demon", {x = 617, y = 2089, z = 6}}, {"Demon", {x = 627, y = 2086, z = 6}}, {"Demon", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 500000, --Coloque false se não for receber cash nessa wave. items = false, --Coloque false se não for receber item(s) nessa wave. }, }, [2] = { monsters = { {"Hellfire Figher", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Hellfire Figher", {x = 617, y = 2089, z = 6}}, {"Hellfire Figher", {x = 627, y = 2086, z = 6}}, {"Hellfire Figher", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = false, }, }, [3] = { monsters = { {"Orshabaal", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Orshabaal", {x = 617, y = 2089, z = 6}}, {"Orshabaal", {x = 627, y = 2086, z = 6}}, {"Orshabaal", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = { {item_id, count}, --{ID do item, quantidade}, {item_id, count}, }, }, }, }, NPC = { price = 2000, --Preço para entrar na arena. position = {x = 623, y = 2084, z = 6}, --Para onde o jogador será teleportado ao falar com o NPC. }, TELEPORT = { tpId = 1387, --ID do teleporte. tpPos = {x = 622, y = 2084, z = 6}, --Onde o teleporte será criado, ao matar o último boss. tpToPos = {x = 622, y = 2081, z = 5}, --Para onde o teleporte levará. aid = 1307, }, STORAGES = { storage = 90190, wave_sto = 90191, }, toPos = {x = 630, y = 2092, z = 6}, --Coordenadas da posição superior esquerda da arena. fromPos = {x = 614, y = 2082, z = 6}, --Coordenadas da posição inferior direita da arena. delay = 15, --Segundos para o boss aparecer. level = 100, --Level mínimo. } function doWave(cid, wave) if not isPlayer(cid) then return true elseif not ARENA.WAVES[wave] then return true elseif getPlayerStorageValue(cid, ARENA.STORAGES.storage) > -1 then return true end local monster = ARENA.WAVES[wave] local m = monster.monsters doPlayerSendTextMessage(cid, 27, "Em "..ARENA.delay.." segundos, começa seu desafio. [Wave: "..wave.."]") addEvent(function() for i = 1, #m do doCreateMonster(m[i][1], m[i][2]) end end, ARENA.delay * 1000) end function clearArena() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) then doRemoveCreature(creature) end end end end end function newWave() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) and isMonster(creature) then return false end end end end return true end
-
Maquina de Summon APRIMORADA
frompos é cima a esquerda e topos é direita embaixo né? Cara continua na mesma, eu posso sumonar quantos monstros eu quizer, e quando saio da arena e volto os monstros ainda estão lá, segue a imagem e o script: Script: local fromPos = {x = 635, y = 2032} -- Configurar position da sala. local toPos = {x = 653, y = 2051} -- Configurar position da sala. local function isThereSomeMonster() for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do local area = {x = x, y = y, z = 6} -- floor onde a sala esta. local creature = getTopCreature(area).uid if isMonster(creature) then return true end end end return false end function onUse(cid, item, fromPos, itemEx, toPos) -- [[INICIO CONFIG - Beyond Sky]] monstros = { [1] = {chance = 35, name = "Golden Demon"}, --[[Monstro do shirine fire e item fire]] [2] = {chance = 5, name = "The Handmaiden"}, --[[Monstro do shirine fire e item fire]] [3] = {chance = 5, name = "Hellfire Fighter"}, --[[Monstro do shirine fire e item fire]] [4] = {chance = 5, name = "Carrasco"}, --[[Monstro do shirine fire e item fire]] [5] = {chance = 5, name = "Demonic Dragon"}, --[[Monstro do shirine ice e item ice]] [6] = {chance = 5, name = "Mestre Ninja"}, --[[Monstro do shirine ice e item ice]] [7] = {chance = 5, name = "Crystal Dragon"}, --[[Monstro do shirine ice e item ice]] [8] = {chance = 5, name = "Orshabaal"}, --[[Monstro do shirine ice e item ice]] [9] = {chance = 5, name = "Morgaroth"}, --[[Monstro do shirine tera e item tera]] [10] = {chance = 5, name = "Juggernaut"}, --[[Monstro do shirine tera e item tera]] [11] = {chance = 5, name = "Apocalypse"}, --[[Monstro do shirine tera e item tera]] [12] = {chance = 5, name = "Massacre"}, --[[Monstro do shirine tera e item tera]] [13] = {chance = 5, name = "Glacialisty"}, --[[Monstro do shirine energy e item energ]] [14] = {chance = 5, name = "Senhor das Maquinas"}, --[[Monstro do shirine energy e item energ]] [15] = {chance = 5, name = "Senhor do Gelo"}, --[[Monstro do shirine energy e item energ]] [16] = {chance = 5, name = "Senhor das Chamas"} --[[Monstro do shirine energy e item energ]] } local uniqid = 40002 --[[UNIQUE ID DA ALAVANCA - Beyond Sky]] local ItemIdFire = 11757 --[[Item do shrine Fire]] local ItemIdIce = 6551 --[[ESSA EU NAO USO]] local ItemIdTera = 6549 --[[ESSA EU NAO USO]] local ItemIdEnergy = 6548 --[[ESSA EU NAO USO]] local PosNameFire = {x=636, y=2049, z=6} --[[Pos do monster da shrine Fire]] local PosNameIce = {x=2203, y=2079, z=8} --[[ESSA EU NAO USO]] local PosNameTera = {x=2203, y=2076, z=8} --[[ESSA EU NAO USO]] local PosNameEnergy = {x=2203, y=2088, z=8} --[[ESSA EU NAO USO]] local PosItem = {x=637, y=2044, z=6, stackpos = 255} --[[Posição do item que vai ser preciso]] local getitem = getThingfromPos(PosItem) -- [[FIM CONFIG - Beyond Sky]] for i = 1, 14 do if item.uid == uniqid and getitem.itemid == ItemIdFire and item.itemid == 9825 and (monstros[i].chance >= math.random(1, 100)) then doSummonCreature(monstros[i].name, PosNameFire) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdIce and item.itemid == 9825 and (monstros[i+4].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+4].name, PosNameIce) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+4].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdTera and item.itemid == 9825 and (monstros[i+8].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+8].name, PosNameTera) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+8].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and getitem.itemid == ItemIdEnergy and item.itemid == 9825 and (monstros[i+12].chance >= math.random(1, 100)) then doSummonCreature(monstros[i+12].name, PosNameEnergy) doRemoveItem(getitem.uid,1) doCreatureSay(cid, "A máquina de summon criou um "..monstros[i+12].name..".", TALKTYPE_ORANGE_1) doSendMagicEffect(PosItem, 13) elseif item.uid == uniqid and item.itemid == 9826 then if isThereSomeMonster() then return doCreatureSay(cid, "Ainda tem monstros no local.", TALKTYPE_ORANGE_1) and doSendMagicEffect(getPlayerPosition(cid), 2) end doTransformItem(item.uid, 9825) return true end end end "> http:// Na Imagen o GOLDEN DEMON é um BOSS, o CARRASCO é outro e o HellFireFighter seria outro...
-
(Resolvido)[Pedido] Sistema de Arena.
tranquilo @olokomeu, muito obrigado por ter ajudado até agora
-
(Resolvido)[Pedido] Sistema de Arena.
Fiz isso, agora da pra matar os 4 demons... mas eu termino de matar a wave 1 e ele nao puxa a wave 2...
-
(Resolvido)[Pedido] Sistema de Arena.
Nessa parte ai teria que por as coordenadas de cima e de baixo tbm? Assim: function clearArena() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = 614, y = 2082, z = 6} local creature = getTopCreature(area).uid if isCreature(creature) then doRemoveCreature(creature) end end end end end function newWave() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = 630, y = 2092, z = 6} local creature = getTopCreature(area).uid if isCreature(creature) and isMonster(creature) then return false end end end end return true end
-
(Resolvido)[Pedido] Sistema de Arena.
Mudei mas nao resolveu, olha oque acontece: eu mato 2 demons, dai o terceiro nao morre: http://prntscr.com/5x520g e logo apos 15 segundos ele ja puxa a segunda wave: (sem eu ter terminado de matar a primeira) http://prntscr.com/5x533n E continua o erro na distro quando eu mato os demons da arena: http://prntscr.com/5x4tlh
-
(Resolvido)[Pedido] Sistema de Arena.
Mas cara eu ja fiz tudo oque diz no topico ai, substitui todas as linhas que ele mandou.. vou por aqui pra deixar mais claro: LIB: ARENA = { WAVES = { [1] = { monsters = { {"Demon", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Demon", {x = 617, y = 2089, z = 6}}, {"Demon", {x = 627, y = 2086, z = 6}}, {"Demon", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 500000, --Coloque false se não for receber cash nessa wave. items = false, --Coloque false se não for receber item(s) nessa wave. }, }, [2] = { monsters = { {"Hellfire Figher", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Hellfire Figher", {x = 617, y = 2089, z = 6}}, {"Hellfire Figher", {x = 627, y = 2086, z = 6}}, {"Hellfire Figher", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = false, }, }, [3] = { monsters = { {"Orshabaal", {x = 617, y = 2086, z = 6}}, --{nome_do_monstro, {posição_que_vai_nascer}}, {"Orshabaal", {x = 617, y = 2089, z = 6}}, {"Orshabaal", {x = 627, y = 2086, z = 6}}, {"Orshabaal", {x = 627, y = 2089, z = 6}}, }, prize = { cash = 1000000, items = { {item_id, count}, --{ID do item, quantidade}, {item_id, count}, }, }, }, }, NPC = { price = 2000, --Preço para entrar na arena. position = {x = 623, y = 2084, z = 6}, --Para onde o jogador será teleportado ao falar com o NPC. }, TELEPORT = { tpId = 1387, --ID do teleporte. tpPos = {x = 622, y = 2084, z = 6}, --Onde o teleporte será criado, ao matar o último boss. tpToPos = {x = 622, y = 2081, z = 5}, --Para onde o teleporte levará. aid = 1307, }, STORAGES = { storage = 90190, wave_sto = 90191, }, toPos = {x = 614, y = 2082, z = 6}, --Coordenadas da posição superior esquerda da arena. fromPos = {x = 630, y = 2092, z = 6}, --Coordenadas da posição inferior direita da arena. delay = 15, --Segundos para o boss aparecer. level = 100, --Level mínimo. } function doWave(cid, wave) if not isPlayer(cid) then return true elseif not ARENA.WAVES[wave] then return true elseif getPlayerStorageValue(cid, ARENA.STORAGES.storage) > -1 then return true end local monster = ARENA.WAVES[wave] local m = monster.monsters doPlayerSendTextMessage(cid, 27, "Em "..ARENA.delay.." segundos, começa seu desafio. [Wave: "..wave.."]") addEvent(function() for i = 1, #m do doCreateMonster(m[i][1], m[i][2]) end end, ARENA.delay * 1000) end function clearArena() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) then doRemoveCreature(creature) end end end end end function newWave() for x = ARENA.fromPos.x, ARENA.toPos.x do for y = ARENA.fromPos.y, ARENA.toPos.y do for z = ARENA.fromPos.z, ARENA.toPos.z do local area = {x = x, y = y, z = z} local creature = getTopCreature(area).uid if isCreature(creature) and isMonster(creature) then return false end end end end return true end Creaturescript: function onKill(cid, target) if isPlayer(cid) and getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then local new_wave = getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) + 1 if new_wave > getPlayerStorageValue(cid, 90183) then setPlayerStorageValue(cid, 90183, new_wave) end if newWave() then local reward = ARENA.WAVES[getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto)].prize local str = "You won:" if reward.cash then doPlayerAddMoney(cid, reward.cash) str = str.."\n"..reward.cash.."$" end if reward.items then for i = 1, #reward.items do local item = reward.items[i][1] local count = reward.items[i][2] if not isItemStackable(item) and count > 1 then for i = 1, count do doPlayerAddItem(cid, item, 1) end else doPlayerAddItem(cid, item, count) end str = str.."\nItem - "..count.."x "..getItemNameById(item) end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) if ARENA.WAVES[new_wave] then setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, new_wave) doWave(cid, new_wave) else local tp = doCreateTeleport(ARENA.TELEPORT.tpId, ARENA.TELEPORT.tpToPos, ARENA.TELEPORT.tpPos) doItemSetAttribute(tp, "aid", ARENA.TELEPORT.aid) end end end return true end function onLogout(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then doPlayerSendCancel(cid, "You can't logout now.") return false end end return true end function onPrepareDeath(cid) if getPlayerStorageValue(cid, ARENA.STORAGES.wave_sto) > -1 then setPlayerStorageValue(cid, ARENA.STORAGES.wave_sto, -1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setGlobalStorageValue(1000, -1) clearArena() end return true end Melda, faltou no clear arena as coordenadas que eu substitui, vou ver agora
-
Maquina de Summon APRIMORADA
Cara ainda nao deu certo, a alavanca que tenho q por no Mapa eh a 9825 ou a 26? (na verdade ja tentei com as duas up
-
(Resolvido)[Pedido] Sistema de Arena.
Cara ele segue dando o erro na DB e assim, ele sumona 4 demon na primeira wave, dai eu mato 2 e os outros 2 eu mato mas eles nao somem e sem eu ter matado os 4 ja sai a segunda wave....
-
(Resolvido)[Pedido] Sistema de Arena.
Cara achei 3 problemas, o primeiro é que - colquei para sumonar 4 bosses, entao nasce os 4, dai eu mato 2 e os outro 2 que eu mato os bixo nao some, ele morre mas fica de pé lá. - Nao tem o deelay de 15 segundos de uma wave para outra - Quando o cara morre o proximo entra na sala e os bixo tao la ainda, ele não limpa os bixo da arena quando alguem morre E da um erro na DB http://prntscr.com/5x4tlh
-
(Resolvido)[Pedido] Sistema de Arena.
Ziper se nao for incomodar demais a que tu desenvolveu o Script, nao tem como sumonar mais que 1 monster por Wave? e tem como fazer um RANK para mim? mostrando quantas waves o cara passou? pretendo colocar mais waves e com niveis mais dificeis... teria como por tambem uma recompensa por WAVE? tipo Wave 1 500k, wave 2 1kk, wave 3 1kk + item? Muito grato e levo um REP+
-
Ajuda - MOD Rush War não funciona
up UP+