RigBy 285 Postado Junho 25, 2015 Share Postado Junho 25, 2015 (editado) Limite de player por sala Introdução: Esse script pode ser bem útil para baiak onde as salas tão sempre cheia de player upando ou então para eventos. O script simplesmente checa a quantidade de player que tem dentro da sala, caso não tenha atingido o limite o player pode entrar caso não, manda uma mensagem falando que a sala esta lotada. Exemplo de uso: pode servir até para a anihilator ou demon aok, invitando que um segundo time entre na sala antes que o primeiro acabe. Caso a sala esteja lotada. Caso não. Em data/movement/script, crie LimiteArea.lua e adicione. Spoiler -- Do not remove the credits ---- [MOVEEVENT] Limite de player por sala ---- Developed by Rigby ---- Especially for the Xtibia.com -- function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)local config = {-- Config ---- [ACTIONID] = {area = getPlayersInArea(AREA QUE IRA CHECAR (FROMPOS,TOPOS)), amountOfPlayers = QUANTIDADE QUE CABE, teleport = PARA ONDE SERA TELEPORTADO}[213123] = {area = getPlayersInArea({x = 1030, y = 1020, z = 7}, {x = 1040, y = 1030, z = 7}), amountOfPlayers = 1, teleport = {x = 1037, y = 1025, z = 7}},[543543] = {area = getPlayersInArea({x = 1037, y = 1025, z = 7}, {x = 1041, y = 1025, z = 7}), amountOfPlayers = 2, teleport = {x = 1036, y = 1025, z = 7}},-- Config --} if config[item.actionid] then if #config[item.actionid].area < config[item.actionid].amountOfPlayers then doTeleportThing(cid, config[item.actionid].teleport, false) doPlayerSendTextMessage(cid, 25, "Welcome") else doPlayerSendTextMessage(cid, 25, "The room already reached its limit "..config[item.actionid].amountOfPlayers.." player 's wait someone out .") doTeleportThing(cid, fromPosition) end endreturn trueend function getPlayersInArea(fromPos, toPos) -- Function made by Vodkartlocal players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return playersend Em movement/movement.xml Adicione essa tag Spoiler <movevent type="StepIn" actionid="213123;543543:ACTIONID" event="script" value="LimiteArea.lua"/> E depois adicionar o actionid no piso ou teleport pelo mapa editor. O script é fácil de se configurar mas caso tenha algum problema pode posta ai que eu vou ajuda. Caso você adicione mais locais você terá que adicione na tag também. Editado Julho 29, 2017 por Poccnn Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/ Compartilhar em outros sites More sharing options...
Bruno 536 Postado Junho 25, 2015 Share Postado Junho 25, 2015 É um excelente script, parabéns! Obrigado por compartilhar conosco. Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1657902 Compartilhar em outros sites More sharing options...
RigBy 285 Postado Junho 25, 2015 Autor Share Postado Junho 25, 2015 Obrigado :hi: Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1657908 Compartilhar em outros sites More sharing options...
HeelNox 71 Postado Junho 25, 2015 Share Postado Junho 25, 2015 Parabéns bro, evoluiu muito desde a época. Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1657916 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Junho 26, 2015 Share Postado Junho 26, 2015 esse código é bom para quem gosta de fazer quest, exemplo a firewalk boots Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1657986 Compartilhar em outros sites More sharing options...
RigBy 285 Postado Junho 26, 2015 Autor Share Postado Junho 26, 2015 (editado) #DarkHell Obrigado #Vodkart Sim, pode servir até para a anihilator ou demon aok, invitando que um segundo time entre na sala antes que o primeiro time acabe. Editado Junho 26, 2015 por RigBy Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1657999 Compartilhar em outros sites More sharing options...
System Hardcore 1 Postado Agosto 4, 2015 Share Postado Agosto 4, 2015 Junto com a área de checagem, poderia ser posto uma contagem em segundos para remover o player da área. Evitando assim que se houver perda de conexão do player ele fique trapando a sala até que o char relogue. De qualquer modo é um belo script. Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1663751 Compartilhar em outros sites More sharing options...
RigBy 285 Postado Agosto 4, 2015 Autor Share Postado Agosto 4, 2015 Isso da para se resolve de varias maneiras como deixa a sala anti-logout ou adicionar uma storage no player para caso ele logue e tenha aquela storage ele seja expulso da sala. Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1663773 Compartilhar em outros sites More sharing options...
Martelix 3 Postado Agosto 26, 2015 Share Postado Agosto 26, 2015 Simples, mas útil. Deu uma vontade de volta a mexer com OT, pena que parei na versão 8.60 (0.4) kkk. Agora TFS 1.0+, tenho que desenferrujar... Obrigado pelo script. Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1666625 Compartilhar em outros sites More sharing options...
Pedroshow 1 Postado Julho 29, 2017 Share Postado Julho 29, 2017 Tem como fazer isso em portas ? Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1720307 Compartilhar em outros sites More sharing options...
Rajas 5 Postado Agosto 9, 2017 Share Postado Agosto 9, 2017 Em 29/07/2017 at 17:04, Pedroshow disse: Tem como fazer isso em portas ? @UP Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1720741 Compartilhar em outros sites More sharing options...
KaboFlow 54 Postado Janeiro 26, 2020 Share Postado Janeiro 26, 2020 Em 25/06/2015 em 14:57, RigBy disse: Limite de player por sala Introdução: Esse script pode ser bem útil para baiak onde as salas tão sempre cheia de player upando ou então para eventos. O script simplesmente checa a quantidade de player que tem dentro da sala, caso não tenha atingido o limite o player pode entrar caso não, manda uma mensagem falando que a sala esta lotada. Exemplo de uso: pode servir até para a anihilator ou demon aok, invitando que um segundo time entre na sala antes que o primeiro acabe. Caso a sala esteja lotada. Caso não. Em data/movement/script, crie LimiteArea.lua e adicione. Ocultar conteúdo -- Do not remove the credits ---- [MOVEEVENT] Limite de player por sala ---- Developed by Rigby ---- Especially for the Xtibia.com -- function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)local config = {-- Config ---- [ACTIONID] = {area = getPlayersInArea(AREA QUE IRA CHECAR (FROMPOS,TOPOS)), amountOfPlayers = QUANTIDADE QUE CABE, teleport = PARA ONDE SERA TELEPORTADO}[213123] = {area = getPlayersInArea({x = 1030, y = 1020, z = 7}, {x = 1040, y = 1030, z = 7}), amountOfPlayers = 1, teleport = {x = 1037, y = 1025, z = 7}},[543543] = {area = getPlayersInArea({x = 1037, y = 1025, z = 7}, {x = 1041, y = 1025, z = 7}), amountOfPlayers = 2, teleport = {x = 1036, y = 1025, z = 7}},-- Config --} if config[item.actionid] then if #config[item.actionid].area < config[item.actionid].amountOfPlayers then doTeleportThing(cid, config[item.actionid].teleport, false) doPlayerSendTextMessage(cid, 25, "Welcome") else doPlayerSendTextMessage(cid, 25, "The room already reached its limit "..config[item.actionid].amountOfPlayers.." player 's wait someone out .") doTeleportThing(cid, fromPosition) end endreturn trueend function getPlayersInArea(fromPos, toPos) -- Function made by Vodkartlocal players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return playersend Em movement/movement.xml Adicione essa tag Ocultar conteúdo <movevent type="StepIn" actionid="213123;543543:ACTIONID" event="script" value="LimiteArea.lua"/> E depois adicionar o actionid no piso ou teleport pelo mapa editor. O script é fácil de se configurar mas caso tenha algum problema pode posta ai que eu vou ajuda. Caso você adicione mais locais você terá que adicione na tag também. [25/01/2020 19:42:38] [Warning - Event::loadScript] Event onStepIn not found (data/movements/scripts/Tower/Players 1.lua) Link para o comentário https://xtibia.com/forum/topic/235070-limite-de-player-por-sala/#findComment-1756412 Compartilhar em outros sites More sharing options...
Posts Recomendados