[Movements] Summon Tile

Vodkart
em Actions e Talkactions
  • 1
  • 2

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

Server testado:

 

Baiak 8.54 ~ 8.60

 

Mix War 8.60

 

Real server 8.57 ~ 8;60

 

 

 

Explicação:

 

O Script é um como um "trap"(armadilha) em que o mesmo é executado quando um jogador passa por cima do piso,

 

ao passar é criado Vários ou Randomicamente alguns monstros(a sua escolha,são duas versões de script)

 

sendo cada monstro em sua determinada pos.

 

 

 

Vamos ao script.

 

 

 

------------------------------//----------------------------------

 

Primeira versão : Sumonar monstros randomicamente

 

 

 

 

 

summontile.lua

 

--[[script By Vodkart]]-- 
function onStepIn(cid, item, position, fromPosition) 
--[[
Nome do monstros, Coordenada de onde ele irá ser sumonado.
Pode adicionar mais monstro caso assim desejar.
--]]


local M = {  
[1] = {"cyclops",{x=157, y=35, z=7}},  
[2] = {"Demon",{x=161, y=38, z=7}},
[3] = {"Hydra",{x=155, y=38, z=7}},
[4] = {"Dragon",{x=160, y=39, z=7}} 
}  

local storage = 14678 -- n mexa 
local time_summon = 1 -- tempo em minutos

if not isPlayer(cid) then
return false
elseif getGlobalStorageValue(storage) >= os.time() then
return false
end
r = math.random(1, #M)  
doCreateMonster(M[r][1], M[r][2])
doCreatureSay(cid, "Oh my god, a trap!", 19)   
setGlobalStorageValue(storage, os.time()+time_summon*60)   
return TRUE  
end

 

movements.xml

 

<movevent type="StepIn" uniqueid="14500" event="script" value="summontile.lua"/>

 

 

 

 

 

 

Segunda versão : Sumonar todos os monstro de Uma vez só

 

 

 

 

tilesummon.lua

 

--[[script By Vodkart]]-- 
function onStepIn(cid, item, position, fromPosition) 
--[[ 
Nome do monstros, Coordenada de onde ele irá ser sumonado. 
Pode adicionar mais monstro caso assim desejar. 
--]] 
local M = {  
[1] = {"cyclops",{x=157, y=35, z=7}},  
[2] = {"Demon",{x=161, y=38, z=7}}, 
[3] = {"Hydra",{x=155, y=38, z=7}}, 
[4] = {"Dragon",{x=160, y=39, z=7}}  
}  

local storage = 13311 -- n mexa 
local time_summon = 3 -- intervalo de tempo em minutos para nao summonar novamente 

if not isPlayer(cid) then
return FALSE
elseif getGlobalStorageValue(storage) >= os.time() then 
return FALSE
end
for i = 1, #M do  
doCreateMonster(M[i][1], M[i][2]) 
end 
doCreatureSay(cid, "OMG, a trap!", 19)  
setGlobalStorageValue(storage, os.time()+time_summon*60)   
return TRUE  
end

 

movements.xml

 

<movevent type="StepIn" uniqueid="14600" event="script" value="tilesummon.lua"/>

 

 

 

bossisg.png

Saymon14

.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 05/05/10Posts: 544

Muito bom o script, vo usar a segunda versao, vou ver se tenho ideias para melhorar o script.

 

Abraços

 

Não entro em equipes, já tenho meu projeto, não insista.

 

 

 

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

PeixeAquatico

>> Celso <<
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/09/10Posts: 4Char no Tibia: Will Pexeira

Eu queriade algo similar. Muito bom e funcionou direitinho... Thanks :smile_positivo:

 

Dúvida: Existe algum script postado no Xtibia que ao player pisar em certo tile, apareçam ao redor dele algum item que o trape? Por exemplo a rock stone (ID - 1304)? Eu também precisava disso para uma quest :S

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

@UP

ele vai trapar o player com as pedras,e dps de certo tempo as pedras vao sumir sozinhas?

ou a pedra vai se fechando neles e o player morre na hora?

bossisg.png

PeixeAquatico

>> Celso <<
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/09/10Posts: 4Char no Tibia: Will Pexeira

Sumir depois de 5 minutos :S

 

A idéia da quest, é pisar nos tiles certos durante a primeira parte... Os errados serão demarcados com o ground diferente e se pisar ficar preso. É meio complicado pra explicar, porque faz parte do RPG do jogo... Mais a idéia é, que o player (não um criatura ou um npc ou um item) se pisar no tile tal, fique rodeado pelas pedras por 5 minultos sem ter como sair :S

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

@UP

 

 

 

 

rocktrap.lua

function onStepIn(cid, item, position, fromPosition)
local p = position
local rock_id = 1304
local Timewall = 1 -- em minutos


   rocks = {
   {
   {{x=p.x-3, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x-3, y=p.y-2, z=p.z}, rock_id},
   {{x=p.x-3, y=p.y-1, z=p.z}, rock_id},
   {{x=p.x-3, y=p.y,   z=p.z}, rock_id},
   {{x=p.x-3, y=p.y+1, z=p.z}, rock_id},
   {{x=p.x-3, y=p.y+2, z=p.z}, rock_id},
   {{x=p.x-3, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x-2, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x-1, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x,   y=p.y-3, z=p.z}, rock_id},
   {{x=p.x+1, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x+2, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x-2, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x-1, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x,   y=p.y+3, z=p.z}, rock_id},
   {{x=p.x+1, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x+2, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y+3, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y-3, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y-2, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y-1, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y,   z=p.z}, rock_id},
   {{x=p.x+3, y=p.y+1, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y+2, z=p.z}, rock_id},
   {{x=p.x+3, y=p.y+3, z=p.z}, rock_id},
   }
}

function trap(x) -- function by Azi
nbr = x[2]
rocks = x[1]
for i=1,#rocks[nbr] do
rock = rocks[nbr][i][1]
rock.stackpos = 1
doSendMagicEffect(rock, 2)
doPlayerSetNoMove(cid, 0)
doRemoveItem(getThingfromPos(rock).uid,1)
end
end

for i=1,#rocks[1] do
doSendMagicEffect(rocks[1][i][1], 2)
doCreateItem(rocks[1][i][2], 1, rocks[1][i][1])
end

doPlayerSetNoMove(cid, 1)
addEvent(trap, (Timewall*60*1000), {rocks, 1, cid})
return TRUE
end 

 

movements.xml

<movevent type="StepIn" uniqueid="13900" event="script" value="rocktrap.lua"/> 

 

 

bossisg.png

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

Nossa Muito bom esse script,usei Ele para uma Quest no meu servidor,MT Bom mesmo REP+!

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

PeixeAquatico

>> Celso <<
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/09/10Posts: 4Char no Tibia: Will Pexeira

Thanks Vodk, Rep + também ;]

 

:wubsmiley:

churupetinha

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/10Posts: 61Char no Tibia: Churupettinha

thiago esse seu script e muito bom mas sera que tem como vc editar ele pra me? assim o seu o player so pode pisar uma vez so ne?

eu queria que o player pisase toda hora

tipo assim ele pisa no tile os bicho aparese e quando ele pisa-se dnv aparese-se

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

@UP

o script ta para quando pisar ele aparece o monstro ai tem um tempo estipulado para o bicho aparecer denovo(ex: 3 minutos),nesse meio tempo voce pode passar por cima e nao vai summona nenhum bicho.

 

Você quer que ele passe pelo piso e sempre que passar criar os bixo,ou sejá sem tempo é isso?

bossisg.png

churupetinha

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/10Posts: 61Char no Tibia: Churupettinha

eu quero um que nem esse aki olha

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

@UP

 

 

--[[script By Vodkart and MatheusMkalo]]--

--[[ 
Nome do monstros, Coordenada de onde ele irá ser sumonado. 
Pode adicionar mais monstro caso assim desejar. 
--]] 
local M = {  
["Cyclops"] = {x = 157, y = 35, z = 7, stackpos=255},  
["Demon"] = {x = 161, y = 38, z = 7, stackpos=255}, 
["Hydra"] = {x = 155, y = 38, z = 7, stackpos=255}, 
["Dragon"] = {x = 160, y = 39, z = 7, stackpos=255}  
}  

function removeCreatures(pos)
   for i,x in pairs(pos) do
       doRemoveCreature(getThingFromPos(x).uid)
   end
end

local s = 46846

function onStepIn(cid, item, position, fromPosition)
if getPlayerStorageValue(cid, s)  == -1 then   
if isPlayer(cid) == TRUE then
for i,x in pairs(M) do
doCreateMonster(i,x)
end
setPlayerStorageValue(cid, s, 1)
else
return FALSE
end
elseif getPlayerStorageValue(cid, s)  >= 1 then 
removeCreatures(M)
setPlayerStorageValue(cid, s, -1)
end
return TRUE
end

 

 

bossisg.png

churupetinha

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/10Posts: 61Char no Tibia: Churupettinha

Vou testa mano aki pra ver se fico bom

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

vlw obrigado galere

bossisg.png

amonruiz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/02/11Posts: 2Char no Tibia: Love Halls Sv2

Ainda nao funciono Aqui puis assm \/

 

function onStepIn(cid, item, position, fromPosition)

--[[

Nome do monstros, Coordenada de onde ele irá ser sumonado.

Pode adicionar mais monstro caso assim desejar.

--]]

local M = {

[1] = {"Gigante de Gelo",{x=408, y=317, z=9}},

[2] = {"Gigante de Gelo",{x=161, y=38, z=7}},

[3] = {"Gigante de Gelo",{x=155, y=38, z=7}},

[4] = {"Gigante de Gelo",{x=160, y=39, z=7}}

}

 

local storage = 13311 -- n mexa

local time_summon = 1 -- intervalo de tempo em minutos para nao summonar novamente

 

if isPlayer(cid) == TRUE then

if getGlobalStorageValue(storage) <= os.time() then

for i = 1, #M do

doCreateMonster(M[1], M[2])

end

doCreatureSay(cid, "OMG, a trap!", 19)

setGlobalStorageValue(storage, os.time()+time_summon*60)

end

else

return FALSE

end

return TRUE

end

  • 1
  • 2