Ir para conteúdo

Script Verificar Se O Player Esta Na Sala


cucara

Posts Recomendados

Tipo do script: Easy

Protocolo (versão do Tibia): 0.3.6 tfs

Servidor utilizado:The forgoten server

Nível de experiência:Aprendiz

Adicionais/Informações: Easy

 

preciso de um script que quando o player puxa a alavanca, ele verifica se ha alguem dentro da sala.Se houver, falar que ha gente.Se nao houver, remover todos os monstros presentes nela.

 

REP + pra quem me ajudar, script mt simplisinho esse aqui, nao to conseguindo faze so

Editado por LELEDOSCU
Link para o comentário
Compartilhar em outros sites

Velho, e facil para voce que nao entende de scripts, mas o unico jeito que eu conheço e verificando cada posiçao da sala, o que e facil, mas contem uma tonelada de funçoes. Nao te culpo por isso, foi uma palhaçada esse nivel de experiencia, ja que para um nao-scripter medir o nivel do script, so com sorte para acertar. As vezes eles esquecem de pensar na hora de criar as regras xD.

 

Claro que pode ter outro jeito que eu desconheça, mas boa sorte ai, Ate.

Link para o comentário
Compartilhar em outros sites

Aqui o script:

 

c1 = {x=, y=, z=} --canto de cima do lado direito ( </\ )
c2 = {x=, y=, z=} --canto de baixo do lado esquerdo ( \/> )

function onUse(cid, item, frompos, item2, topos)
for x = c1.x, c2.x do
 for y = c1.y, c2.y do
  if isPlayer(getThingFromPos({x=x, y=y, z=c1.z, stackpos=253}).uid) then
   doPlayerSendTextMessage(cid, 22, 'Há alguém na sala.')
   return 1
  end
 end
end
for x = c1.x, c2.x do
 for y = c1.y, c2.y do
  if isMonster(getThingFromPos({x=x, y=y, z=c1.z, stackpos=253}).uid) then
   doRemoveCreature(getThingFromPos({x=x, y=y, z=c1.z, stackpos=253}).uid)
  end
 end
end
doPlayerSendTextMessage(cid, 22, 'Os monstros foram removidos.')
return 1
end

 

 

Você precisará colocar o conteúdo acima, entre spoilers, em um arquivo lua e depois registrar um action id no actions.xml e no alavanca, pelo map editor, precisará também configurar 2 coordenadas no scripts.

 

Para que o funcionamento do script seja 100%, a sala deve ter um formato retangular.

O script não suporta uma 'sala' com mais de 1 andar.

 

Velho, e facil para voce que nao entende de scripts, mas o unico jeito que eu conheço e verificando cada posiçao da sala, o que e facil, mas contem uma tonelada de funçoes. Nao te culpo por isso, foi uma palhaçada esse nivel de experiencia, ja que para um nao-scripter medir o nivel do script, so com sorte para acertar. As vezes eles esquecem de pensar na hora de criar as regras xD.

 

Claro que pode ter outro jeito que eu desconheça, mas boa sorte ai, Ate.

O 'for' facilita. :winksmiley02: Editado por Eskylo
Link para o comentário
Compartilhar em outros sites

é meu script é mais complexo que isso:

 

function onUse(cid, item, frompos, item2, topos)

local portal_quest01_pos = {x=33079, y=31014, z=2, stackpos=2}

if item.uid == 32145 then

if item.itemid == 1946 then

 

player1pos = {x=33080, y=31014, z=2, stackpos=253}

player1 = getThingfromPos(player1pos)

 

player2pos = {x=33081, y=31014, z=2, stackpos=253}

player2 = getThingfromPos(player2pos)

 

 

if player1.itemid > 0 and player2.itemid > 0 then

 

player1level = getPlayerLevel(player1.uid)

player2level = getPlayerLevel(player2.uid)

 

 

questlevel = 120

 

if player1level >= questlevel then

 

queststatus1 = getPlayerStorageValue(player1.uid,6300)

queststatus2 = getPlayerStorageValue(player2.uid,6300)

 

 

if queststatus1 == -1 and queststatus2 == -1 then

 

if 1==1 then

demon1pos = {x=33062, y=31035, z=3}

demon2pos = {x=33064, y=31035, z=3}

 

 

doSummonCreature("Baron Brute", demon1pos)

doSummonCreature("The Axeorcist", demon2pos)

 

 

nplayer1pos = {x=33062, y=31027, z=3}

nplayer2pos = {x=33064, y=31027, z=3}

 

 

doSendMagicEffect(player1pos,2)

doSendMagicEffect(player2pos,2)

 

 

doTeleportThing(player1.uid,nplayer1pos)

doTeleportThing(player2.uid,nplayer2pos)

 

 

doSendMagicEffect(nplayer1pos,10)

doSendMagicEffect(nplayer2pos,10)

 

 

doTransformItem(item.uid,1945)

 

else

doPlayerSendCancel(cid,"Sorry, not possible.")

end

else

doPlayerSendCancel(cid,"Sorry, not possible.")

end

else

doPlayerSendCancel(cid,"Sorry, not possible.")

end

end

if item.uid == 32145 then

if item.itemid == 1945 then

doTransformItem(item.uid,1946)

 

 

 

 

end

end

return 1

end

end

end

 

sim é zao arena

 

estou fazendo zao arena, de um script que peguei aqui mesmo no xtibia, mas ele colocava uns orbs em cima e dps nao dava pra excluir ou era sujeito a bugs

 

agr nao consegui adicionar esse script acima nesse meu script, por favor, editem ai e me mander

 

O que fazer :

verificar se há players no local.Se há players, os dois caras que esperam nao pode entrar na arena.Se nao tiver ngm la, verificar se há mosntros prensentes e excluilos e teleportalos.

 

REP++

 

bump ;@

 

bump @;

é urgente plx

 

bum @

 

bump@

 

BUMP @

 

@bump!

Editado por LELEDOSCU
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...