Ir para conteúdo

Featured Replies

Postado

Esse script, funciona como creaturescript, quando mata o bixo, vai sumir esse item em uma determinada posição, e depois que acabar o tempo, nasce o item.

Gostaria de pedir, que, nesse intervalo de tempo, quando acabar, todos que tiverem dentro de uma area, X Y Z, e indiferente do andar, toma-se kick pro templo E após isso, manda uma mensagem broadcast em vermelho para todos do server.

 

{{x = 2726, y = 1157, z = 1}, {x = 2836, y = 1269, z = 10}} -- Canto superior esquerdo / inferior direito

 

function onDeath(cid, corpse, deathList)

local item = 9532 -- id do item que sera removido 
local pos = {x=2787, y=1382, z=7, stackpos=1} -- pos do item que sera removido
local pos2 = {x=2787, y=1383, z=7, stackpos=1} -- pos do item que sera removido
local pos3 = {x=2793, y=1382, z=7, stackpos=1} -- pos do item que sera removido
local pos4 = {x=2793, y=1383, z=7, stackpos=1} -- pos do item que sera removido
local time = 1 -- minutos em que a passagem ficara aberta

local rmv = getThingfromPos(pos)
local rmv2 = getThingfromPos(pos2)
local rmv3 = getThingfromPos(pos3)
local rmv4 = getThingfromPos(pos4)

doRemoveItem(rmv.uid, 1)
doRemoveItem(rmv2.uid, 1)
doRemoveItem(rmv3.uid, 1)
doRemoveItem(rmv4.uid, 1)
doBroadcastMessage("The secret passage was opened for 60 seconds." , 20)
addEvent(criar_item2, 60000 * time)
end

function criar_item2()

local item = 9532 -- id do item que sera removido 
local pos = {x=2787, y=1382, z=7, stackpos=1} -- pos do item que sera removido
local pos = {x=2787, y=1383, z=7, stackpos=1} -- pos do item que sera removido
local pos = {x=2793, y=1382, z=7, stackpos=1} -- pos do item que sera removido
local pos = {x=2793, y=1383, z=7, stackpos=1} -- pos do item que sera removido

doCreateItem(item, 1, pos)
doCreateItem(item, 2, pos2)
doCreateItem(item, 3, pos3)
doCreateItem(item, 4, pos4)
doBroadcastMessage("The secret passage was closed." , 20)

end

 

 

E um script simples, quando passar em X posição, vai nascer 5  X criaturas (podendo ser diferentes uma da outra) em determinada area:

 

{{x = 2726, y = 1157, z = 1}, {x = 2836, y = 1269, z = 10}} -- Canto superior esquerdo / inferior direito

 

 

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

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Resolvido por Dwarfer

Ir para solução
Postado
  • Solução
Spoiler

local area = {{x = 1, y = 1, z = 1}, {x = 1, y = 1, z = 1}}
local id = 9532
local time = 1

local positions = {
[1] = {x=119, y=344, z=7, stackpos=1},
[2] = {x=119, y=343, z=7, stackpos=1},
[3] = {x=119, y=342, z=7, stackpos=1},
[4] = {x=119, y=341, z=7, stackpos=1}
}

function onDeath(cid, corpse, deathList)
for _, v in pairs(positions) do
    doRemoveItem(getThingFromPos(v).uid, 1)
end
addEvent(function() 
for i = 1, #positions do
doCreateItem(id, 1, positions[i])
end
doBroadcastMessage("The secret passage was closed." , 20)
kickPlayers(area[1], area[2])
end, time * 60 * 1000)
return true
end

function kickPlayers(fromPosition, toPosition)
local players = {}
    for _, pid in ipairs(getPlayersOnline()) do
        local f = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}
        local t = {x = toPosition.x, y = toPosition.y, z = toPosition.z}
        local min = (fromPosition.z > toPosition.z and toPosition.z or fromPosition.z)
        for index = 0, math.abs(toPosition.z - fromPosition.z) do
            f.z = min + index
            t.z = min + index
            if isInRange(getPlayerPosition(pid), f, t) then
                table.insert(players, pid)
            end
        end    
    end
    if #players > 0 then
        for _, player in pairs(players) do
            doTeleportThing(player, getTownTemplePosition(getPlayerTown(player)))
        end
    end
end

 

 

10 horas atrás, jNo disse:

E um script simples, quando passar em X posição, vai nascer 5  X criaturas (podendo ser diferentes uma da outra) em determinada area:

 

{{x = 2726, y = 1157, z = 1}, {x = 2836, y = 1269, z = 10}} -- Canto superior esquerdo / inferior direito

 

Em movements/scripts crie um arquivo.lua:

 

Spoiler

local area = {{x=1,y=1,z=1}, {x=1, y = 1, z = 1}}
local monsters = {"Dwarf", "Dwarf Guard", "Dwarf Soldier", "Dwarf Geomancer", "Axeitus Headbanger"}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    local positions = {}
    for x = area[1].x, area[2].x do
        for y = area[1].y, area[2].y do
            table.insert(positions, {x = x, y = y, z = math.random(area[1].z, area[2].z)})
        end
    end
    for i = 1, #monsters do
        doCreateMonster(monsters[i], positions[math.random(1, #positions)])
    end        
return true
end

 

 

No movements.xml: <movevent type="StepIn" actionid="ACTION_ID_DO_PISO" event="script" value="NOMEDOSEUARQUIVO.lua"/>

Contato:

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo