Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa Noite pessoal, não sei se estou na area correta, mais se nao tiver, peço que movam

 

então pessoal, hj eu vim pedir um script pra um evento,  "SURVIVOR"

 

pra quem não sabe ele funciona da seguinte forma

 

vão existir 4 Salas, cada sala eh pra um Lv diferente (exp: Sala 1 : Lv 50 ao 199, Sala 2 : 200 ao 299, Sala 3: 300 ao 399 Sala 4 : 400 +)  (configuravel)

então, eh war, o Ultimo que sobrar na sala irá ganhar x item (configuravel) outra coisa, quando o player morre, ele nao será desconectado do jogo, ele será teleportado pro templo

OBS: irá ganhar x item o ganhador de cada sala

vi isso em 2 servidores

se não for pedir demais, poderia ser automatico ?  :wow:  (nemsoupidãoneh)  caso não dê, pode ser por talkactions mesmo :)

 

se alguem puder me ajudar nisso darei REP+ por 1 mes, (não estou brincando, estou doido por esse evento)

 

 

desde já agradeço a todos  :D

Editado por subhe (veja o histórico de edições)

n35408.gif

Link para o post
Compartilhar em outros sites

Gostei da ideia, assim que te ajudarem vou dotar este evento no meu server

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

UP

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi:

  • De x em x horas, você quer que um portal apareça.
  • Ao aparecer, o jogador que entrar por ele, será teleportado para uma das quatro salas de acordo com o nível dele.
  • Ao entrar, espera o evento começar - ou seja, ajuntar um número maior de players dentro da arena.
  • Quando o portal tiver sido fechado, a batalha começa e o último que sobreviver, ganhará X Item.
  • Os que morrerem, irão direto para o templo.
  • O ganhador sairá por um portal dentro da arena que o levará para fora.

Esqueci de alguma coisa?

Uma outra pergunta:

  • Qual a versão do seu servidor?

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

a versão do meu servidor é 8.60 eh o Alissow 4.11

 

e outra coisa, seria assim, os jogadores iria pegar o portal e ser teleportado pra uma sala de espera. mais teria 4 salas de espera, uma para cada level (50 ao 199, 200 ao 299, 300 ao 399, 400+)

depois de uns 10 a 20 minutos (configuravel), o evento começa, independente de quantos players estiver no evento. e cada sala de espera irá teleportar os jogadores para as salas da arena, de cada lv (se ficar mais facil pra vc, poderia aparecer um portal na sala de espera, pro player entrar na arena dele, ou até uma escada que só suba, pq a arena vai ser emcima da sala de espera)  o que achar melhor ><'

 

desde já agradeço :wow:

Editado por subhe (veja o histórico de edições)

n35408.gif

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

@Frenesy foi o vencedor da Competição Mensal de Scripting...  :rolleyes:  

Mas em fim, tem um sistema postado aqui semelhante, vou adaptá-lo pra vc

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

@Frenesy foi o vencedor da Competição Mensal de Scripting...  :rolleyes:  

Mas em fim, tem um sistema postado aqui semelhante, vou adaptá-lo pra vc

ok, estou no aguardo  :wow:

n35408.gif

Link para o post
Compartilhar em outros sites

<p><span style="font-size:18px;">Bom, n&atilde;o testei, mas est&aacute; a&iacute; o que eu fiz at&eacute; agora [baseado no script '<a data-ipb=nomediaparse" href="">Evento Assasin</a&gt], criado pelo &nbsp;<strong>@zipter98</strong>...</span></p>
<p><span style="font-size:18px;">Pedi para ele dar uma olhada aqui, pois deve estar com bugs.</span></p>
<p>&nbsp;</p>
<p><span style="font-size:18px;"><strong>Como Funciona?</strong></span></p>
<ul>
<li>
<div><span style="font-size:18px;">Em x hor&aacute;rio, aparecer&aacute; um portal.</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">Ao aparecer, o jogador que entrar por ele, ser&aacute; teleportado para uma das quatro salas de acordo com o n&iacute;vel dele [50-199/200-299/300-399/400+].</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">Ao entrar, espera o evento come&ccedil;ar [sem se movimentar] - ou seja, ajuntar um n&uacute;mero maior de players dentro da arena.</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">Ap&oacute;s o tempo m&aacute;ximo de espera ou superlota&ccedil;&atilde;o das salas[todas], &eacute; avisado aos participantes para se prepararem, pois a batalha come&ccedil;ar&aacute; em X segundos.</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">Os que morrerem, ir&atilde;o direto para o templo.</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">O ganhador sair&aacute; por um portal que aparece a 2 quadrados ao seu lado direito.</span></div>
</li>
</ul>
<ul>
<li>
<div><span style="font-size:18px;">Logo ap&oacute;s entrar no portal, recebe sua recompensa.</span></div>
</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="font-size:18px;">Instala&ccedil;&atilde;o</span></strong></p>
<p>&nbsp;</p>
<p><span style="font-size:18px;">Na 'pasta data\lib', crie um arquivo com qualquer nome e coloque o seguinte c&oacute;digo;</span><br />

</p>


<pre class="_prettyXprint _lang-auto _linenums:0">
local config_SurvivalQuest = {
day = {&quot;Saturday&quot;}, --Dia(s) que ocorrer&aacute; o evento.
time = 5, --Tempo de espera de player, em minutos.
time_inicio = 5, --Tempo de espera entre o t&eacute;rmino do tempo ou vagas e o inicio da batalha, em segundos.
playerCount = {2, 20}, --Respectivamente, n&uacute;mero m&iacute;nimo e m&aacute;ximo de jogadores no evento [em cada sala de lvl].
prize = {itemid, count}, --Respectivamente, ID do pr&ecirc;mio e quantidade.
positions = {
levels = {
['50-199'] = { ----------------[sala lvl 50-199]----------------
fromPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o superior esquerda da &aacute;rea.
toPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o inferior direita da &aacute;rea.
},

['200-299'] = { ---------------[sala lvl 200-299]----------------
fromPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o superior esquerda da &aacute;rea.
toPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o inferior direita da &aacute;rea.
},

['300-399'] = { ---------------[sala lvl 300-399]----------------
fromPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o superior esquerda da &aacute;rea.
toPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o inferior direita da &aacute;rea.
},
['400'] ={ -----------------[sala lvl 400+]-----------------
fromPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o superior esquerda da &aacute;rea.
toPosition = {x = x, y = y, z = z}, --Coordenadas da posi&ccedil;&atilde;o inferior direita da &aacute;rea.
},
},
},
startTime = 20, --Tempo para iniciar o evento, em segundos.
aid = 5901,
storages = {
global = 9501,
players = 9502
storage = 9010,
},
teleport = {
tpId = xxx, --ID do teleporte.
createPos = {x = x, y = y, z = z}, --Onde o teleporte ser&aacute; criado.
},
}

function addPlayerOnSurvivalEvent(cid)
if isPlayer(cid) then
local sto = getGlobalStorageValue(config_SurvivalQuest.storages.players)
if type(sto) == &quot;number&quot; then
setGlobalStorageValue(config_SurvivalQuest.storages.players, getPlayerRoomOnSurvivalEvent(cid))
else
local str = &quot;&quot;
sto = sto:explode(&quot;,&quot;)
table.insert(sto, &quot;&quot;..getCreatureName(cid)..&quot;;&quot;..getPlayerRoomOnSurvivalEvent(cid))
for i = 1, #sto do
if str == &quot;&quot; then
str = sto
else
str = str..&quot;,&quot;..sto
end
end
setGlobalStorageValue(config_SurvivalQuest.storages.players, str)
end
setPlayerStorageValue(cid, config_SurvivalQuest.storages.storage, 1) --Salva na storage que o player est&aacute; no evento

local room = getPlayerRoomOnSurvivalEvent(cid) --Verifica a respectiva room do player

broadcastMessage(getCreatureName(cid)..&quot; entered on the Survival event [&quot;..room..&quot;]. &quot;)

--Broadcast informando quantidade de players em cada sala
local mensagem = &quot;Have &quot;
for a,b in ipairs(config_SurvivalQuest.positions.levels) do
mensagem = mensagem..#getPlayersOnSurvivalEvent(((a-99) ..&quot;-&quot;.. (a-1)))..&quot; on the room [&quot;..(a-99) ..&quot;-&quot;.. (a-1)..&quot;], &quot;
end
mensagem = mensagem.. &quot; players waiting in the event now.&quot;
broadcastMessage(mensagem)

--Teleporta o player pra sala de acordo com seu lvl
doTeleportThing(cid, getRandomPositions(config_SurvivalQuest.positions[room].fromPosition, config_SurvivalQuest.positions[room].toPosition, 1)[1])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, &quot;You entered on the Survival event.[&quot;..room..&quot;]&quot;)
doPlayerSetNoMove(cid, true) --Trava o player pra nao se movimentar durante a espera
end
end


function isFinishedSurvivalEvent() --Fun&ccedil;ao que verifica a room correspondente ao lvl do player
for a,b in ipairs(config_SurvivalQuest.positions.levels) do --loop que acessa todas as salas de lvl
if #getPlayersOnSurvivalEvent(a)&gt;0 then --Se tiver algum player na sala selecionada pelo loop
return false
end
end
return true
end

function isFullRoomOnSurvivalEvent(room) --Fun&ccedil;ao que verifica se a room est&aacute; cheia
if #getPlayersOnSurvivalEvent(room)&lt;config_SurvivalQuest.playerCount[2] then --Se tiver menos players que o m&aacute;ximo
return false
end
return true
end

function getRoomsNotHaveMinimum() --Fun&ccedil;ao que verifica quais rooms N&Atilde;O tem o minimo de players
local rooms = {} --Tabela que ser&aacute; retornada
for a,b in ipairs(config_SurvivalQuest.positions.levels) do
if #getPlayersOnSurvivalEvent(a)&lt;config_SurvivalQuest.playerCount[1] then --Se tiver menos players que o minimo
table.insert(rooms, a) --Adiciona pra tabela que ser&aacute; retornada
end
end
return rooms
end

function getPlayerRoomOnSurvivalEvent(cid) --Fun&ccedil;ao que verifica a room correspondente ao lvl do player
for a,b in ipairs(config_SurvivalQuest.positions.levels) do
val = a:explode(&quot;-&quot;)
if getPlayerLevel(cid) &lt;= val[2] then
return a
end
end
return false
end

function getPlayersOnSurvivalEvent(room)
room = (room) and room or &quot;all&quot;
local pid = {}
local sto = getGlobalStorageValue(config_SurvivalQuest.storages.players)
if type(sto) ~= &quot;string&quot; then
return false
end
sto = sto:explode(&quot;,&quot;)
for i = 1, #sto do
sto2 = sto:explode(&quot;;&quot;)
if sto2[2] == room or room == &quot;all&quot; then
local cid = getCreatureByName(sto2[1])
if isPlayer(cid) then
table.insert(pid, cid)
end
end
end
return #pid &gt; 0 and pid or false
end
function getRandomPositions(fromPos, toPos, count)
count = tonumber(count) or 1
local positions = {}
for i = 1, count do
table.insert(positions, {x = math.random(fromPos.x, toPos.x), y = math.random(fromPos.y, toPos.y), z = math.random(fromPos.z, toPos.z)})
end
return positions
end
function getPlayersInArea(fromPos, toPos)
local players = {}
for x = fromPos.x, toPos.x do
for y = fromPos.y, toPos.y do
for z = fromPos.z, toPos.z do
local pos = {x = x, y = y, z = z}
if isPlayer(getTopCreature(pos).uid) then
table.insert(players, getTopCreature(pos).uid)
end
end
end
end
return players
end
function addItem(cid, itemid, count)
if isItemStackable(itemid) then
doPlayerAddItem(cid, itemid, count)
else
if count &gt; 1 then
for i = 1, count do
doPlayerAddItem(cid, itemid, 1)
end
else
doPlayerAddItem(cid, itemid, 1)
end
end
end
</pre>
<p>

<br />
&nbsp;<br />
<span style="font-size:18px;">Agora v&aacute; na pasta 'mods' e crie um arquivo chamado '[EVENT]Survivor.xml' e coloque o seguinte c&oacute;digo;</span><br />

</p>


<pre class="_prettyXprint _lang-auto _linenums:0">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;mod name=&quot;Survivor Event&quot; version=&quot;1.0&quot; author=&quot;zipter98&quot; contact=&quot;http://www.tibiaking.com/forum/user/52847-zipter98/&quot;'>http://www.tibiaking.com/forum/user/52847-zipter98/&quot;enabled=&quot;yes&quot;&gt;
&lt;!-- Mude 19:30 para o hor&aacute;rio que quer que o evento Survival seja aberto. --&gt;
&lt;globalevent name=&quot;Survival&quot; time=&quot;19:30&quot; event=&quot;script&quot; value=&quot;Survivor/globalevents.lua&quot;/&gt;
&lt;movevent type=&quot;StepIn&quot; actionid=&quot;5901&quot; event=&quot;script&quot; value=&quot;Survivor/movements.lua&quot;/&gt;
&lt;event type=&quot;preparedeath&quot; name=&quot;deathSurvival&quot; event=&quot;script&quot; value=&quot;Survivor/creaturescripts.lua&quot;/&gt;
&lt;event type=&quot;login&quot; name=&quot;survivalLogin&quot; event=&quot;script&quot; value=&quot;Survivor/creaturescripts.lua&quot;/&gt;
&lt;event type=&quot;logout&quot; name=&quot;survivalLogout&quot; event=&quot;script&quot; value=&quot;Survivor/creaturescripts.lua&quot;/&gt;
&lt;event type=&quot;statschange&quot; name=&quot;damageSurvival&quot; event=&quot;script&quot; value=&quot;Survivor/creaturescripts.lua&quot;/&gt;
&lt;/mod&gt;&nbsp;</pre>
<p>

<br />
&nbsp;<br />
<span style="font-size:18px;">Crie uma pasta em 'mods/scripts' chamada 'Survivor'.<br />
&nbsp;<br />
Agora, crie os seguintes arquivos em 'mods/Survivor';</span></p>
<ul class="bbc">
<li><span style="font-size:18px;">globalevents.lua&nbsp;</span></li>
</ul>
<p>

</p>


<pre class="_prettyXprint _lang-auto _linenums:0">
local config = config_SurvivalQuest
function onTime()
if isInArray(config.day, os.date(&quot;%A&quot;)) then
broadcastMessage(&quot;The survival event is open! You guys have &quot;..config.time..&quot; minutes to enter.&quot;)
local item = doCreateItem(config.teleport.tpId, 1, config.teleport.createPos)
doItemSetAttribute(item, &quot;aid&quot;, config.aid)
setGlobalStorageValue(config.storages.global, 1)
addEvent(function()
if getGlobalStorageValue(config.storages.global) == 1 then
local tp = getTileItemById(config.teleport.createPos, config.teleport.tpId).uid
if tp &gt; 0 then
doRemoveItem(tp)
end
local canceleds = getRoomsNotHaveMinimum()
if #canceleds ~= 0 then
for room,_ in ipairs(canceleds) do
broadcastMessage(&quot;Not enough players to start the survival event for lvl &quot;..room..&quot;. :/&quot;)
end
if #canceleds == config.playerCount then
setGlobalStorageValue(config.storages.global, -1)
end

for room,_ in ipairs(canceleds) do
for _,player in ipairs(getPlayersOnSurvivalEvent(room)) do
setPlayerStorageValue(player, config.storages.storage, -1)
end
db.executeQuery(&quot;UPDATE player_storage SET value = -1 WHERE key = &quot;..config.storages.storage..&quot; AND value = '&quot;..room..&quot;'&quot;)
end

else
broadcastMessage(&quot;The survival event will start in &quot;..config.startTime..&quot; minutes.&quot;)
addEvent(function()
broadcastMessage(&quot;The survival event started!!!&quot;)
setGlobalStorageValue(config.storages.global, 2)
for i = 1, #getPlayersOnSurvivalEvent() do
doPlayerSetNoMove(getPlayersOnSurvivalEvent(), false)
end
end, config.startTime * 1000)
end

end
end, config.time * 60 * 1000)
end
return true
end

</pre>
<p>

</p>
<ul class="bbc">
<li><span style="font-size:18px;">creaturescripts.lua</span></li>
</ul>
<p>

</p>


<pre class="_prettyXprint _lang-">
local config = config_SurvivalQuest
function onPrepareDeath(cid)
if getGlobalStorageValue(config.storages.global) &gt; -1 and getPlayerStorageValue(cid, config.storages.storage) &gt; -1 then
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid))
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerSendTextMessage(cid, 27, &quot;Oh, you died in the survival event. :/&quot;)
setPlayerStorageValue(cid, config.storages.storage, -1)
if #getPlayersInArea(config.fromPosition, config.toPosition) == 1 then
local pid = getPlayersInArea(config.fromPosition, config.toPosition)[1]
broadcastMessage(getCreatureName(pid)..&quot; won the survival event! Congratulations to him!&quot;)
doCreatureAddHealth(pid, getCreatureMaxHealth(pid))
doCreatureAddMana(pid, getCreatureMaxMana(pid))

local position = getCreaturePosition(cid) --Pega a posi&ccedil;&atilde;o do player

position.x = position.x+1 --Adiciona 1 quadradinho pra DIREITA a variavel 'position'
if not isWalkable(position) then
position.x = position.x - 2 --Altera pra 1 quadradinho a ESQUERDA a variavel 'position'
if not isWalkable(position) then --Se n&atilde;o puder caminhar nesse local
position.x = position.x+1 --Retorna position.x ao seu valor original
position.y = position.y+1 --Altera pra 1 quadradinho ACIMA a variavel 'position'
if not isWalkable(position) then --Se n&atilde;o puder caminhar nesse local
position.y = position.y - 2 --Altera pra 1 quadradinho ABAIXO a variavel 'position'
end
end
end
local item = doCreateItem(config.teleport.tpId, 1, position) --Cria o teleport no novo local
doItemSetAttribute(item, &quot;aid&quot;, config.aid) --Adiciona a action id para teleportar ao templo

doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, &quot;You win! Congratulations!\nEnter the portal to receive your prize.&quot;)
end
end
return true
end
function onStatsChange(cid, attacker, type, combat, value)
if getGlobalStorageValue(config.storages.global) &gt; -1 and getGlobalStorageValue(config.storages.global) ~= 2 and getPlayerStorageValue(cid, config.storages.storage) &gt; -1 then
return false
end
return true
end
function onLogin(cid)
if getPlayerStorageValue(cid, config.storages.storage) &gt; -1 and getGlobalStorageValue(config.storages.global) &lt; 1 then
setPlayerStorageValue(cid, config.storages.storage, -1)
end
registerCreatureEvent(cid, &quot;damageSurvival&quot;)
registerCreatureEvent(cid, &quot;deathSurvival&quot;)
return true
end
function onLogout(cid)
if getGlobalStorageValue(config.storages.global) &gt; -1 and getPlayerStorageValue(cid, config.storages.storage) &gt; -1 then
return doPlayerSendCancel(cid, &quot;You can't logout on the survival event.&quot;) and false
end
return true
end&nbsp;</pre>
<p>&nbsp;</p>
<p>

</p>
<ul class="bbc">
<li><span style="font-size:18px;">movements.lua</span></li>
</ul>
<p>

</p>


<pre class="_prettyXprint _lang-auto _linenums:0">
function onStepIn(cid, item, position, fromPosition)
if position == config.teleport.createPos then --Se for o tp pra entrar no evento
if not isPlayer(cid) then
return true
elseif getGlobalStorageValue(config.storages.global) &lt; 1 then
return doPlayerSendCancel(cid, &quot;The event isn't open.&quot;) and doTeleportThing(cid, fromPosition)
elseif isFullRoomOnSurvivalEvent(getPlayerRoomOnSurvivalEvent(cid)) then
return doPlayerSendCancel(cid, &quot;There's already the maximum number of players on the Survival event.&quot;) and doTeleportThing(cid, fromPosition)
end
addPlayerOnEvent(cid)
if #getPlayersOnSurvivalEvent(getPlayerRoomOnSurvivalEvent(cid)) &gt;= config.playerCount[2] then
local tp = getTileItemById(config.teleport.createPos, config.teleport.tpId).uid
if tp &gt; 0 then
doRemoveItem(tp)
end
broadcastMessage(&quot;The survival event for lvl &quot;..getPlayerRoomOnSurvivalEvent(cid)..&quot; will start in &quot;..config.startTime..&quot; minutes.&quot;)
setGlobalStorageValue(config.storages.global, 3)
addEvent(function()
broadcastMessage(&quot;Registration for the survival event lvl &quot;..getPlayerRoomOnSurvivalEvent(cid)..&quot; have finished! The battle begins in 2 minutes!&quot;)
setGlobalStorageValue(config.storages.global, 2)
for i = 1, #addPlayerOnSurvivalEvent() do
doPlayerSetNoMove(addPlayerOnSurvivalEvent(), false)
end
end, config.startTime * 1000)
end
return true
else --Se for o tp para sair do evento [winner]
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
addItem(cid, config.prize[1], config.prize[2])
setPlayerStorageValue(cid, config.storages.storage, -1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, &quot;Congratulations!\nYou have received your prize: &quot;..config.prize[2]..&quot;x &quot;..getItemNameById(config.prize[1])..&quot;.&quot;)

if isFinishedSurvivalEvent() then --Se o evento terminou
setGlobalStorageValue(config.storages.global, -1) --Altera a storage global que salva o state do evento
end
end
end
</pre>
<p>

</p>
<p>&nbsp;</p>
<p><span style="color:#ff0000;">*Obs.; deixei comentado as partes que eu editei pra melhor compreens&atilde;o do c&oacute;digo.</span></p>

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

pelo que eu entendi, esse evento, todos os players de todos os levels, vão pra mesma sala de espera ? e depois vai ser teleportado pras salas de seus levels?

 

pq no evento que eu quero, são 4 salas de espera, que o player ao entrar no portal, vai ser teleportado para a sala de espera do level dele

 

se entendi mal, desculpe kk

nao entendo muito

 

irei testar só estou esperando meu notebook formatar aqui, por que no pc nao da pra testar nada, fica travando kk '-'

quando testar edito aqui

Editado por subhe (veja o histórico de edições)

n35408.gif

Link para o post
Compartilhar em outros sites

na vdd, eles esperariam na propria sala de combate ali... 

nao coloquei uma sala de espera...

 

 

o jogador que entrar por ele, será teleportado para uma das quatro salas de acordo com o nível dele [50-199/200-299/300-399/400+].

 

se eu arranjar um tempo hj coloco.  :D

Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

na vdd, eles esperariam na propria sala de combate ali... 

nao coloquei uma sala de espera...

 

 

 

se eu arranjar um tempo hj coloco.  :D

 

 

ai parceiro, se ficar melhor pra você, vc pode mandar os player pra ser teleportado para sala de espera de cada level, no caso seriam 4 salas, e quando o evento começar, aparecer uma escada pra subir, por que a sala de combate irá ser emcima da sala de espera, mais que a escada só suba e nao desça

e quando o evento acabar, aparecer o portal em um lugar configuravel, que teleport ele pra o templo, e ganhe a recompensa dele assim que ele entrar no portal

se ficar melhor pra vc, pode ser assim tbm

n35408.gif

Link para o post
Compartilhar em outros sites
Eu fiz o seguinte, os participantes são direcionados pra sala respectiva ao seu lvl logo que entra no portal, mas nao pode se movimentar até que seja anunciado o inicio do evento.
 
Explicação da variável playerCount, presente no arquivo da pasta lib...
  • quantidade mínima de participantes para que haja evento[em cada sala], quantidade máxima de players em cada sala. Cada sala vai funcionar independentemente, ou seja, pode ser que não hajam players suficientes na sala de lvl 400+, portanto, se houver algum player na sala após o término do tempo de inscrição no torneio [time], será direcionado ao templo. Isso não impede de acontecer o evento na sala de 50-199, caso hajam participantes suficientes.
Em creaturescripts.lua, tem o seguinte código...

 
    local position = getCreaturePosition(cid) --Pega a posição do player
    position.x = position.x+1 --Adiciona 1 quadradinho pra DIREITA a variavel 'position'
    if not isWalkable(position) then
       position.x = position.x - 2 --Altera pra 1 quadradinho a ESQUERDA a variavel 'position'
       if not isWalkable(position) then --Se não puder caminhar nesse local
           position.x = position.x+1 --Retorna position.x ao seu valor original
           position.y = position.y+1 --Altera pra 1 quadradinho ACIMA a variavel 'position'
           if not isWalkable(position) then --Se não puder caminhar nesse local
               position.y = position.y - 2 --Altera pra 1 quadradinho ABAIXO a variavel 'position'
           end
       end
   end
   local item = doCreateItem(config.teleport.tpId, 1, position) --Cria o teleport no novo local
   doItemSetAttribute(item, "aid", config.aid) --Adiciona a action id para teleportar ao templo
 

 
Esse código cria um portal em algum lugar viável próximo ao vencedor, evitando ter que ficar procurando.
Não tive tempo pra adicionar ele a esperar na sala de espera...
se der tempo amanhã faço pra vc.
 
Abraços.
Editado por david0703 (veja o histórico de edições)

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

ok, estou no aguardo,

por enquanto estou terminando a area do evento

n35408.gif

Link para o post
Compartilhar em outros sites
  • 1 month later...

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo