Postado Dezembro 6, 2015 9 anos Fala Galera, Boa tarde !! Então, estou querendo fazer um evento. E ainda estou aprendendo a mexer com essa parte do tibia. Mas o que eu queria, e não estou conseguindo é que tipo. Eu tenho uma area que vai de x1, y1, z1 a x2, y2, z2. E eu preciso que meu script a cada 5 segundos percorra essa area, e se ele nao achar nenhum monstro vivo nessa area, ai ele via sumonar outro. A parte de sumonar eu ja tenho, so nao sie como fazer para percorer essa area em busca de monstos. obs: se a pessoa tivesse um summon na area, isso bugaria o script?
Postado Dezembro 7, 2015 9 anos Autor Estou tentando fazer assim for xx = config.fromPosition.x, config.toPosition.x do for yy = config.fromPosition.y, config.toPosition.y do for zz= config.fromPosition.z, config.toPosition.z do local areapos2 = {x = xx, y = yy, z = zz, stackpos = 253} local getMonsters2 = getThingfromPos(areapos2) if isMonster(getMonsters2.uid) then config.temMonstro = 1 else config.temMonstro = 0 end end end end mas o temMonstro ta vindo sempre 0, mesmo que tenha monstros
Postado Dezembro 7, 2015 9 anos Posta todo o script. Discord: vankk #7765 Precisando de ajuda? Entre em contato comigo via Discord. Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.
Postado Dezembro 8, 2015 9 anos Autor Ta ae, o script todo local config = { playerCount = 2006, -- Global storage para contar a quantidade de players no evento! omegaredCount = 2007, -- Global storage para contar a quantidade de monstros no evento! teleportActionId = 2008, teleportPosition = {x = 166, y = 52, z = 7, stackpos = 1}, -- aonde o teleporte será criado teleportToPosition = {x = 1661, y = 532, z = 6}, -- aonde o teleporte vai te levar teleportId = 1387, -- id do teleport timeToStartEvent = 1, -- Minutos para fechar o tp timeBetweenSpawns = 15, -- Segundo para iniciar o evento -- Nome dos monstros omegared1 = "Demon", omegared2 = "Demon", omegared3 = "Demon Vip II", omegared4 = "Omegared IV", omegared5 = "Omegared V", temMonstro = 0, playersNeededToStartEvent = 2, -- Players para iniciar o evento fromPosition = {x = 1627, y = 508, z = 7}, -- top left cornor of the playground toPosition = {x = 1701, y = 535, z = 7}, -- bottom right cornor of the playground } function onTime() local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doItemSetAttribute(tp, "aid", config.teleportActionId) doBroadcastMessage("Os portoes do Omegared Event abrira em " .. config.timeToStartEvent .. " minutos! Corra, que apos o inicio do evento o teleporte sera fechado", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) setGlobalStorageValue(config.omegaredCount, 0) addEvent(startEvent, config.timeToStartEvent * 1000 * 60) print(getGlobalStorageValue(2006)) end function startEvent() local get = getThingfromPos(config.teleportPosition) if get.itemid == config.teleportId then doRemoveItem(get.uid, 1) end local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then addEvent(spawnOmegared, config.timeBetweenSpawns * 1000) doBroadcastMessage("Boa sorte, e que os Jogos Comecem! Portoes abertos!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "O primeiro Omegared sera sumonado em " .. config.timeBetweenSpawns .. " segundos! Boa Sorte!") end end end end else doBroadcastMessage("O evento omegared nao comecou por ter poucos players participando\n Sao necessario " .. config.playersNeededToStartEvent .. " players para o evento!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) end end end end end end function spawnOmegared() for xx = config.fromPosition.x, config.toPosition.x do for yy = config.fromPosition.y, config.toPosition.y do for zz= config.fromPosition.z, config.toPosition.z do local areapos2 = {x = xx, y = yy, z = zz, stackpos = 253} local getMonsters2 = getThingfromPos(areapos2) if isMonster(getMonsters2.uid) then config.temMonstro = 1 else config.temMonstro = 0 end end end end doBroadcastMessage("Teste!".. config.temMonstro, MESSAGE_STATUS_CONSOLE_RED) if config.temMonstro == 0 then --pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)} pos = {x = 1665, y = 520, z = 7} if getGlobalStorageValue(config.omegaredCount) == 0 then doSummonCreature(config.omegared1, pos) setGlobalStorageValue(config.omegaredCount, getGlobalStorageValue(config.omegaredCount)+1) doBroadcastMessage("O Omegared I foi sumonado!", MESSAGE_STATUS_CONSOLE_RED) elseif getGlobalStorageValue(config.omegaredCount) == 1 then doSummonCreature(config.omegared2, pos) setGlobalStorageValue(config.omegaredCount, getGlobalStorageValue(config.omegaredCount)+1) doBroadcastMessage("O Omegared II foi sumonado!", MESSAGE_STATUS_CONSOLE_RED) elseif getGlobalStorageValue(config.omegaredCount) == 2 then doSummonCreature(config.omegared3, pos) setGlobalStorageValue(config.omegaredCount, getGlobalStorageValue(config.omegaredCount)+1) doBroadcastMessage("O Omegared III foi sumonado!", MESSAGE_STATUS_CONSOLE_RED) elseif getGlobalStorageValue(config.omegaredCount) == 3 then doSummonCreature(config.omegared4, pos) setGlobalStorageValue(config.omegaredCount, getGlobalStorageValue(config.omegaredCount)+1) doBroadcastMessage("O Omegared IV foi sumonado!", MESSAGE_STATUS_CONSOLE_RED) elseif getGlobalStorageValue(config.omegaredCount) == 4 then doSummonCreature(config.omegared5, pos) setGlobalStorageValue(config.omegaredCount, getGlobalStorageValue(config.omegaredCount)+1) doBroadcastMessage("O Omegared V foi sumonado!", MESSAGE_STATUS_CONSOLE_RED) end if getGlobalStorageValue(config.omegaredCount) < 5 then addEvent(spawnOmegared, config.timeBetweenSpawns * 1000) end else doBroadcastMessage("Roda Denovo!", MESSAGE_STATUS_CONSOLE_RED) addEvent(spawnOmegared, config.timeBetweenSpawns * 1000) end end ------EDITED-------- aaaah, ja saquei meu erro, eu acho o monstro, seto pra 1, mas o script continua rodando, e quando ele passa no outro sqm que nao tem monstro ele coloca a variavel pra 0.. vou tentar consertar aqui -----EDITED2 -------- Resolvi galera, podem fechar Editado Dezembro 8, 2015 9 anos por Strolker (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.