Postado Dezembro 6, 2015 10 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 10 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 10 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 10 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 10 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.