Postado Fevereiro 28, 2021 4 anos .Qual servidor ou website você utiliza como base? OTX2 / TFS 0.4 Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. Citar Não Você tem o código disponível? Se tiver publique-o aqui: Spoiler local PosicionesDeLosJugadores = { { x = 32249, y = 31585, z = 7, stackpos = 253 }, -- ultimo sempre sem virgula { x = 32249, y = 31586, z = 7, stackpos = 253 }, { x = 32249, y = 31587, z = 7, stackpos = 253 }, { x = 32249, y = 31588, z = 7, stackpos = 253 } } local DestinoDeLosJugadores = { { x = 32250, y = 31600, z = 8 }, -- ultimo sempre sem virgula { x = 32250, y = 31600, z = 8 }, { x = 32250, y = 31600, z = 8 }, { x = 32250, y = 31600, z = 8 } } local monsters = { {nome = "Rat", pos = {x= 32244, y= 31594, z=8}}, -- MONSTRO QUE VAI NASCER SE SÓ 1 PLAYER FOR TELEPORTADO {nome = "Spider", pos = {x= 32244, y= 31594, z=8}}, -- MONSTRO QUE VAI NASCER SE 2 PLAYERS FOR TELEPORTADO {nome = "Dwarf", pos = {x= 32244, y= 31594, z=8}}, -- MONSTRO QUE VAI NASCER SE 3 PLAYERS FOR TELEPORTADO {nome = "Elf", pos = {x= 32244, y= 31594, z=8}}, -- MONSTRO QUE VAI NASCER SE 4 PLAYERS FOR TELEPORTADO {nome = "Rotworm", pos = {x= 32244, y= 103159450, z=8}} -- MONSTRO QUE VAI NASCER SE 5 PLAYERS FOR TELEPORTADO } --# Cantidad minima de jugadores que pueden entrar. local JugadoresMinimosParaEntrar = 1 local NivelMinimoRequerido = 1 --# Esta funcion solo se puede modificar si usara otro tipo de palanca. local function onUseLever(item) doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945)) return true end --# Funcion principal, no necesitas editarla solo configurar las variables al comienzo del script!!! function onUse(cid, item, fromPosition, target, toPosition) local count_players = 0 local _errorLvl = 0 local GrupoDeJugadores = {} local index = 1 local _errorInfo = '' for _, position in pairs(PosicionesDeLosJugadores) do local Jugador = getThingfromPos(position) if isPlayer(Jugador.uid) then if getPlayerLevel(Jugador.uid) >= NivelMinimoRequerido then GrupoDeJugadores[index] = Jugador index = index + 1 else _errorLvl = _errorLvl + 1 end end end if _errorLvl > 0 then _errorInfo = ' (The minimum level is ' .. NivelMinimoRequerido .. ' and some players do not meet this requirement.)' end if ((index * 2) > (#PosicionesDeLosJugadores + #DestinoDeLosJugadores)) then if getPlayerAccess(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'A symmetry error has been detected in the code, check the console for more details.') end print('ERROR: The variables do not comply with a correct symmetry.') --!!! Solution: reparar las tablas de posiciones... return false end if #GrupoDeJugadores == 0 then doPlayerSendCancel(cid, 'There is no player in his starting position.' .. _errorInfo) return onUseLever(item) end if #GrupoDeJugadores < JugadoresMinimosParaEntrar then doPlayerSendCancel(cid, 'To start, there must be at least ' .. JugadoresMinimosParaEntrar .. ' players.' .. _errorInfo) return onUseLever(item) end for _, Jugador in pairs(GrupoDeJugadores) do doSendMagicEffect(getCreaturePosition(Jugador.uid), CONST_ME_POFF) doTeleportThing(Jugador.uid, DestinoDeLosJugadores[_]) count_players = count_players + 1 doSendMagicEffect(DestinoDeLosJugadores[_], CONST_ME_TELEPORT) ---------- sistema de criar bixos por jogadores ----- if (i == #DestinoDeLosJugadores) and (count_players == 0) then return true end end if count_players == 1 then doSummonCreature(monsters[1].nome, monsters[1].pos) elseif count_players == 2 then doSummonCreature(monsters[2].nome, monsters[2].pos) elseif count_players == 3 then doSummonCreature(monsters[3].nome, monsters[3].pos) elseif count_players == 4 then doSummonCreature(monsters[4].nome, monsters[4].pos) elseif count_players == 5 then doSummonCreature(monsters[5].nome, monsters[5].pos) ---------- fim do sistema de criar monstros por jogadores ------ doPlayerSendCancel(cid, 'You are welcome!') end return onUseLever(item) end ---------------------- kick test 2 Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Salve ! Gostaria de pedir ajuda com uma coisa ... eu não estou conseguindo dar um clear na area do boss ... "EXEMPLO" se eu entro e não consigo matar o boss ... ao entrar de novo terá 2 boss ... Outro problema é fazer uma checagem ... se existir algum player fazendo a boss room o outro player que puxar a alavanca consegue descer gostaria de bloquear isso com uma mensagem que esta ocupado ... e o ultimo problema é adicionar um tempo para que o player ou os players que fizerem esta boss room só possam fazer novamente após 12 horas ... e também adicionar um tempo X para que o player ou os players possam fazer o boss se não conseguirem serão kickados para fora da sala estou a dias procurando uma solução e enchendo o saco de muita gente pra fazer isso dar certo ... Editado Fevereiro 28, 2021 4 anos por Helviiozin (veja o histórico de edições)
Postado Março 3, 2021 4 anos ?Coloque isso nas funçoes da lib do servidor (Data/lib/compat/compat.lua)? Spoiler function removeMonsterInArea() -- by Daaniel Gay local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if getCreatureName(tile.uid) == config.boss then doRemoveCreature(tile.uid) end end end end end ? Script do item vai ficar assim? Spoiler local Room_ini = {0, 0, 0} -- canto superior esquerdo da sala local Room_fim = {0, 0, 0} -- canto inferior direito da sala local Teleport_Player = {0, 0, 0} -- aonde o player ira ser teleportado local Monster_name = "Flame Arcixt Gostoso" -- nome do monstro local Monster_poss = {x,x,videos} -- posição que o monstro vai nascer function onUse(cid,item,fromPosition,itemEx,toPosition) if #getPlayersInRange(Room_ini, Room_fim) >= 1 then doPlayerSendCancel(cid,"Tem alguém nessa sala.") return TRUE else removeMonsterInArea(Room_ini, Room_fim) doTeleportThing(cid,Teleport_Player) doCreateMonster(NOME,Monster_poss) return TRUE end end Editado Março 3, 2021 4 anos por FlameArcixt (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.