- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Jump - Deixem seus players se suisidarem
SM
moveevent
Jump - Deixem seus players se suisidarem
Por SmiX, 05 de jan. de 2013 em Actions e Talkactions
suicidio system
script
otserv
1
928
Por SmiX, 05 de jan. de 2013 em Actions e Talkactions
info
Grupo: Conde
Registrado: 25/01/12
Posts: 963
Reputação: +265
Olá pessoal, estou hoje aqui para postar um sistema que vi em outro Fórum e, que foi criado pelo o mágico dos scripitings o Skyen Hasus. O sistema retrata o suicídio em OtServers. Vamos deixar de falar e vamos ao que interessa:
Como funciona?
O player está andando, por qualquer área, e quando pisa no chão com o id (460) e cai em outro floor. E consequentemente perde life e pode até chegar ao óbito. Dependendo do floor que ele esteja maior será a chance de morte.
O que precisa?
Você precisa, colocar no mapa, no lugar aonde quer que o player caira, o chão com o id(460), pois ele não aparece in-game.
data/movements/scripts/jump.lua
local hit = 500 local function getDownPos(spos, dir) spos.stackpos = 0 if dir == NORTH then spos.y = spos.y - 1 elseif dir == WEST then spos.x = spos.x - 1 end repeat spos.z = spos.z + 1 local thing = getThingfromPos(spos, false).uid if thing > 0 then return spos end until not (spos.z >= 0 and spos.z <= 7) return false end function onStepIn(cid, item, pos, frompos) local downpos = getDownPos({x=pos.x, y=pos.y, z=pos.z, stackpos=pos.stackpos}, getPlayerLookDir(cid)) if not downpos then return doTeleportThing(cid, frompos) end local floors = downpos.z - pos.z if floors <= 0 then return doTeleportThing(cid, frompos) end doTeleportThing(cid, downpos) doCreatureAddHealth(cid, -math.abs(hit*floors)) doSendMagicEffect(downpos, CONST_ME_DRAWBLOOD) return true endVocê pode alterar o dano de cada andar na linha: local hit = 500
data/movements/movements.xml
Espero que tenham gostado do trabalho do grande Skyen Hasus.
Editado Janeiro 5 por SmiX