Muito bom o script, vo usar a segunda versao, vou ver se tenho ideias para melhorar o script.
Abraços
Muito bom o script, vo usar a segunda versao, vou ver se tenho ideias para melhorar o script.
Abraços
info
Grupo: Campones
Registrado: 26/09/10
Posts: 4
Reputação: 0
Char 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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gê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?
info
Grupo: Campones
Registrado: 26/09/10
Posts: 4
Reputação: 0
Char 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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gê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"/>
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

Nossa Muito bom esse script,usei Ele para uma Quest no meu servidor,MT Bom mesmo REP+!
info
Grupo: Campones
Registrado: 26/09/10
Posts: 4
Reputação: 0
Char no Tibia: Will Pexeira

Thanks Vodk, Rep + também ;]
![]()
info
Grupo: Campones
Registrado: 17/06/10
Posts: 61
Reputação: +4
Char 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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gê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?
info
Grupo: Campones
Registrado: 17/06/10
Posts: 61
Reputação: +4
Char no Tibia: Churupettinha
eu quero um que nem esse aki olha
Editado Setembro 28 por Churupetinha
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gê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
info
Grupo: Campones
Registrado: 17/06/10
Posts: 61
Reputação: +4
Char no Tibia: Churupettinha
Vou testa mano aki pra ver se fico bom
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

vlw obrigado galere
Editado Fevereiro 11 por Vodkart
info
Grupo: Campones
Registrado: 05/02/11
Posts: 2
Reputação: 0
Char 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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gê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 endmovements.xml
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 endmovements.xml
Editado Março 18 por Vodkart