Ir para conteúdo
Entre para seguir isso  
Dokmos

Dinastias - Sensor System by Dokmos

Recommended Posts

Dokmos    1
Dokmos

logo-d10.jpg

 

 

 

Action Sensor System

by Dokmos

 

 

-----------------------------------------------

 

Aqui está o script que desenvolvi para o Script Tournament do OTServer, espero que gostem e divirtam-se! :fist:

 

[ame]

[/ame]

 

-----------------------------------------------

 

Características

 

Nome: Sensor System

Tipo do script: Action

Servidor Testado: TFS

Autor: Dokmos

 

A action é simples, o jogador instala o sensor no solo e este tem um certo tempo de duração, qualquer criatura que passar no local que o sensor está instalado enviará automaticamente uma menssagem de alerta para o jogador que instalou o sensor e se essa criatura for um jogador, após alguns segundos ele recebe um alerta que sua posição foi localizada por um sensor instalado.

 

-----------------------------------------------

 

Instalação

 

 

Salve essa função como data\actions\scripts\sensor.lua

 

------------------ Sensor System by Dokmos ------------------
local ACTIONID_EMPTY = 5000 -- Actionid livre para utilização.
local STORAGE_EMPTY = 5000 -- Storage para o jogador livre para utilização.
local PLANTING_DELAY = 5 -- Tempo de duração para instalar o sensor no solo em segundos.
local SENSOR_DELAY_MINUTES = 5 -- Minutos de duração do sensor.
local SENSOR_DELAY_SECONDS = 0 -- Segundos de duração do sensor (Lembre-se Minutos:Segundos).

local function doSendAlert(cid,creature)
  if isCreature(creature) == TRUE then
     if isPlayer(creature) == TRUE then
     doPlayerSendTextMessage(creature,20,"You was localized by "..getPlayerName(cid)..".")
     end   
  doSendMagicEffect(getThingPos(creature),13)      
     if getPlayerStorageValue(cid,STORAGE_EMPTY) == 2 then
     setPlayerStorageValue(cid,STORAGE_EMPTY,1)
     end
  end
end   

local function doVerifySensor(cid,pos)
  if isPlayer(cid) == TRUE then
  creature = getThingfromPos(pos)
     if isPlayer(creature.uid) == TRUE and getPlayerStorageValue(cid,STORAGE_EMPTY) == 1 then
     setPlayerStorageValue(cid,STORAGE_EMPTY,2)
     doPlayerSendTextMessage(cid,20,"Sensor has localized "..getPlayerName(creature.uid).." a "..getPlayerVocationName(creature.uid).." Level "..getPlayerLevel(creature.uid)..".")
     addEvent(doSendAlert,2000,cid,creature.uid)
     elseif isCreature(creature.uid) == TRUE and getPlayerStorageValue(cid,STORAGE_EMPTY) == 1 then
     setPlayerStorageValue(cid,STORAGE_EMPTY,2)
     doPlayerSendTextMessage(cid,20,"Sensor has localized a "..getCreatureName(creature.uid)..".")
     addEvent(doSendAlert,2000,cid,creature.uid)
     end
     if getTileThingByPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).actionid == ACTIONID_EMPTY then
     addEvent(doVerifySensor,100,cid,pos)      
     end
  end
end

local function doSendDuration(cid,pos,minutes,seconds)
  if isPlayer(cid) == TRUE then
     if seconds > 0 then
        if minutes < 10 and seconds < 10 then
        doPlayerSendTextMessage(cid,25,"Duration of Sensor: 0"..minutes..":0"..seconds.." minutes.")
        elseif minutes < 10 then
        doPlayerSendTextMessage(cid,25,"Duration of Sensor: 0"..minutes..":"..seconds.." minutes.")
        else
        doPlayerSendTextMessage(cid,25,"Duration of Sensor: "..minutes..":"..seconds.." minutes.")
        end
     seconds = (seconds-1)
     addEvent(doSendDuration,1000,cid,pos,minutes,seconds)
     else
        if minutes > 0 then
        doPlayerSendTextMessage(cid,25,"Duration of Sensor: "..minutes..":0"..seconds.." minutes.")
        minutes = (minutes-1)
        seconds = 59
        addEvent(doSendDuration,1000,cid,pos,minutes,seconds)
        else
        doPlayerSendTextMessage(cid,25,"Duration of sensor has finished.")
        doSendMagicEffect(pos,4)
        doSetItemActionId(getThingfromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).uid,100)
        setPlayerStorageValue(cid,STORAGE_EMPTY,0)
        end
     end
  else
  doSetItemActionId(getThingfromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).uid,100)
  end
end

local function doAddSensor(cid,time,tilepos)
  if time > 0 then
  doPlayerSendTextMessage(cid,24,"Planting sensor in "..time.." seconds.")
  time = (time-1)
  addEvent(doAddSensor,1000,cid,time)
  else
  pos = getThingPos(cid)
  doPlayerSendTextMessage(cid,24,"Sensor was successful planted.")
  doSendMagicEffect(pos,3)
  [u]doPlayerSetNoMove(cid,0)[/u]
  doSendDuration(cid,pos,SENSOR_DELAY_MINUTES,SENSOR_DELAY_SECONDS)
  addEvent(doVerifySensor,3000,cid,pos)
  end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos = getThingPos(cid)
  if getTileThingByPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).actionid <= 100 and getPlayerStorageValue(cid,STORAGE_EMPTY) < 1 then
  doSetItemActionId(getThingfromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=0}).uid,ACTIONID_EMPTY)
  setPlayerStorageValue(cid,STORAGE_EMPTY,1)
  addEvent(doAddSensor,0,cid,PLANTING_DELAY,tilepos)   
  doPlayerRemoveItem(cid,5809,1)
  [u]doPlayerSetNoMove(cid,1)[/u]
  return TRUE
  else
  return FALSE
  end      
end

 

Agora, adicione este código em data\actions\actions.xml

 

<action itemid="5809" script="other/sensor.lua"/>

 

Obs: Verifique se em seu ot a função de deixar o jogador imóvel é mayNotMove() ou doPlayerSetNoMove(), nesse script coloquei doPlayerSetNoMove(), caso não seja no seu troque os doPlayerSetNoMove() sublinhados por mayNotMove(). Mas não mude os parâmetros!

 

-----------------------------------------------

 

Funcionamento

 

 

Você pode editar o script com as configurações que você desejar, eu coloquei as principais no começo do script, caso você não tenha certeza deixe o padrão como está. Qualquer erro ou bug no script poste aqui para eu dar uma verificada, lembrando que a configuração em seu OT fica nas mãos de vocês.

 

Para utilizar o sensor basta você dar um use no item 5809 (soul orb) e aproveitar!!!

 

:bye:

 

Atenciosamente,

Dokmos

Editado por Dokmos

Compartilhar este post


Link para o post
Mock    32
Mock

Cara eu achei muito legal esse seu script eu pensei que vc usva movements e nao um loop com add event :P

Isso e bom pra ots pvp enforced pra fazer traps vc decha em um certo ponto e qaundo alguem passa vc se prepara.

 

So 1 coisa...

Da proxima vez sia o Padrão de Postagem.

 

Aprovadissimo

Compartilhar este post


Link para o post
Pandoraaa    0
Pandoraaa

Muito legal e bem organizado

 

Mock tem cada dieia doidona pra usar os scripts

Compartilhar este post


Link para o post
matheusrp    0
matheusrp

Caralho vei... curti de mais esse script =x... parabéns! ;)

Compartilhar este post


Link para o post
123123    1
123123

Gostei, mto util para mtos ots, e o topico tah mto organizado.

 

APROVADO!!!

Compartilhar este post


Link para o post
MotoBoy    0
MotoBoy

caramba..

além da ideia, o jeito que você fez o script cara Oo

imressionou =O~~

parabens

tah excelente ;D

 

flws~~

Compartilhar este post


Link para o post
Dokmos    1
Dokmos

Padronizado Mock!

 

E obrigado pela aprovação. (Y)

Compartilhar este post


Link para o post
Elys Zarox    0
Elys Zarox

lawl mto bom esse script parabens mesmo por ele xD

 

@Aprovado

Compartilhar este post


Link para o post
Jonny249    0
Jonny249

O que eu achei mas interessante eh q vc nao uso movements...

muito show

parabens, continue assim dokmos

falous

By Jonny~

Compartilhar este post


Link para o post
J3@n    0
J3@n

LoL???

Q isso mano, show de bola msm

Muito fera essa action

Imagina qnd vc estiver caçando um player e colocar o radar? meu deus

Script 10

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Já fiz um script parecido, mas era um sensor que o player usava e detectava no andar abaixo dele numa area de 5x5 o que tinha e mandava uma mensagem para um 'animationeffect' na tela do player na onde o bixo se encontrava. Mas isso já faz muito tempo, na época que as criaturas não se mexiam ainda, dai era bastante utilizado nas quests e só tinha 3 charges :P

 

O seu ficou legal porque parece uma camera de vigia :P

Instalar isso nos OT's em certas partes e salvar em .txt seria bom (de certa forma) para detectar bots .. poderia por algo extra, como excesso de efeitos que o player soltou ou falas seriam gravados no txt como suspeito \o/

Compartilhar este post


Link para o post
xXHiroshiXx    0
xXHiroshiXx

mano esse script e muito bom msm vo coloca no meu ot war e muito bom msm parabens...

 

 

Caso alguem quera uma Briga Entre No Meu Ot War

 

ip:morrinhoswar.servegame.com

 

Voces Vao gostar :D

Compartilhar este post


Link para o post
henrique_ms    0
henrique_ms

Bom demais.

parabens

forcedreamwq4.png

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×