Dokmos 4 Postado Dezembro 15, 2008 Share Postado Dezembro 15, 2008 (editado) Action Sensor System by Dokmos ----------------------------------------------- Aqui está o script que desenvolvi liberado do Dinastias, espero que gostem e divirtam-se! ----------------------------------------------- Características 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) doPlayerSetNoMove(cid,0) 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) doPlayerSetNoMove(cid,1) return TRUE else return FALSE end end Agora, adicione este código em data\actions\actions.xml <action itemid="5809" script="other/sensor.lua"/> ----------------------------------------------- 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!!! :positive: Atenciosamente, Dokmos Editado Dezembro 15, 2008 por Dokmos Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/ Compartilhar em outros sites More sharing options...
h3online 1 Postado Dezembro 15, 2008 Share Postado Dezembro 15, 2008 (editado) CARA FANTASTICOOOOOOOOOOOOOOOOOOOOOOOO!!! FUNFO BLZ AKI TU E DO NIVEL DE COLEX NOS SCRIPTS PARABENS MESMO N ESKECENDO CONDE SAPO E NEM do tibi4ee Editado Dezembro 15, 2008 por h3online Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-656757 Compartilhar em outros sites More sharing options...
Dokmos 4 Postado Dezembro 15, 2008 Autor Share Postado Dezembro 15, 2008 Obrigado h3online, Espero estar sempre contribuindo com o que tenho aprendido para aqueles que estão inciando nos scripts, pois sei como é difícil no começo e que acima de tudo é preciso ter vontade de crescer e superar-se! :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-656767 Compartilhar em outros sites More sharing options...
Eventide 23 Postado Dezembro 15, 2008 Share Postado Dezembro 15, 2008 (editado) é, mereceu o 2° lugar naquele torneio... :-D só achei que deveria ter encurtado mais U.u tá muito grande e sem necessidade.. em breve eu posto o meu script. :-P Editado Dezembro 15, 2008 por Eventide Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-656775 Compartilhar em outros sites More sharing options...
Dokmos 4 Postado Dezembro 15, 2008 Autor Share Postado Dezembro 15, 2008 Obrigado Eventide, Gostaria de ver seu script e sobre o tamanho do meu script, eu o fiz antes de ler aqueles tutoriais de tabelas e vetores, aliás seu tutorial de maths ficou muito bom! :positive: Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-656786 Compartilhar em outros sites More sharing options...
MarcolinoGOD 1 Postado Dezembro 16, 2008 Share Postado Dezembro 16, 2008 Muito bom este script! Só por na entrada da hunt e ver se alguem esta invadindo a cave... Parabéns e obrigado por compartilhar!!! :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-657676 Compartilhar em outros sites More sharing options...
Nostradamus 6 Postado Dezembro 16, 2008 Share Postado Dezembro 16, 2008 Gostei da idéia, bastante criativo e nada complexo de se fazer. Nesse caso aí nem precisava declarar as funções como local já que o sistema de scripting dos servidores atual itera cada código individualmente. Claro, se você for criar funções de mesmo nome que essas, aí sim vale a pena usar as funções locais. O strackback não é muito preciso em qualquer tipo de declarações do tipo local, até mesmo para localização via _G. Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-657721 Compartilhar em outros sites More sharing options...
Dokmos 4 Postado Dezembro 17, 2008 Autor Share Postado Dezembro 17, 2008 Obrigado Nostradamus Na verdade sempre tive esta dúvida de colocar ou não o local, valeu! Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-658369 Compartilhar em outros sites More sharing options...
Vi Vanderlaysk 0 Postado Dezembro 19, 2008 Share Postado Dezembro 19, 2008 Aee \o/ Mto roxx ;} Mas funfa em TFS ? testei aki no meo ot e ele equipo e talz mas num detecto nada .. passei por um monte de bixos no mesmo lugar várias vezes e ele num fez nada ... Tem como fazer ele funfar equipando tipo como um amulet .. igual as Soft Boots? [onEquip] ? tentei colocar isso em vez de [onUse] Abraço ! e Obrigado pelo script Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-660281 Compartilhar em outros sites More sharing options...
Dokmos 4 Postado Dezembro 20, 2008 Autor Share Postado Dezembro 20, 2008 Vi Vanderlaysk, Ele funciona sim em TFS, você tem que ver se a versão do seu TFS aceita a função doPlayerSetNoMove ou mayNotMove, aí é só trocar no script. É possível utilizá-lo onEquipe, você precisaria adaptar alguns detalhes. Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-660455 Compartilhar em outros sites More sharing options...
Vi Vanderlaysk 0 Postado Dezembro 22, 2008 Share Postado Dezembro 22, 2008 Huumm .. interessante ... mas entao .. Pode me dizer como faço isso ? Eh que nao sou scripter... tenho alguma dificuldades ainda de saber o que fazer em relaçao a scripst lua ;P e tipo ... quando a gente coloca alguma coisa no OT e quer colocar créditos de alguma coisa que é criada por outra pessoa ... qual a melhor forma de fazer isso ? Por exemplo ... meu OT vai ser sério ... entao eu queria clocar créditos desse sistema pra vc, Dokmos... Eu colocaria alguma coisa no proprio item ou na MOTD (Message of the Day) ? Da um help ae xDD Abraço! Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-661565 Compartilhar em outros sites More sharing options...
Zafor 1 Postado Dezembro 22, 2008 Share Postado Dezembro 22, 2008 Rox... Tem também como você posta o sistema de Magias =D Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-661870 Compartilhar em outros sites More sharing options...
Dokmos 4 Postado Dezembro 22, 2008 Autor Share Postado Dezembro 22, 2008 (editado) Huumm .. interessante ... mas entao .. Pode me dizer como faço isso ? Eh que nao sou scripter... tenho alguma dificuldades ainda de saber o que fazer em relaçao a scripst lua ;P e tipo ... quando a gente coloca alguma coisa no OT e quer colocar créditos de alguma coisa que é criada por outra pessoa ... qual a melhor forma de fazer isso ? Por exemplo ... meu OT vai ser sério ... entao eu queria clocar créditos desse sistema pra vc, Dokmos... Eu colocaria alguma coisa no proprio item ou na MOTD (Message of the Day) ? Da um help ae xDD Abraço! Obrigado pelo reconhecimento, melhor que ver o trabalho elogiado é vê-lo reconhecido! Isso até motiva scripters a compartilhar suas funções, actions e seus melhores trabalhos, pois além dos jogadores terem seus OT's com ótimas actions os progamadores têm seu trabalho reconhecido! Você pode colocar no MOTD Sensor System by Dokmos, é só você adicionar esta linha na linha 70 do script: doPlayerSendCancel(cid,"Sensor System by Dokmos.") Então o script ficará assim: . . . local function doAddSensor(cid,time,tilepos) if time > 0 then doPlayerSendTextMessage(cid,24,"Planting sensor in "..time.." seconds.") doPlayerSendCancel(cid,"Sensor System by Dokmos.") time = (time-1) addEvent(doAddSensor,1000,cid,time) else pos = getThingPos(cid) doPlayerSendTextMessage(cid,24,"Sensor was successful planted.") doSendMagicEffect(pos,3) doPlayerSetNoMove(cid,0) doSendDuration(cid,pos,SENSOR_DELAY_MINUTES,SENSOR_DELAY_SECONDS) addEvent(doVerifySensor,3000,cid,pos) end end . . . E novamente obrigado! Em breve libero outras actions bem legais... :positive: Editado Dezembro 22, 2008 por Dokmos Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-661949 Compartilhar em outros sites More sharing options...
Rocky 0 Postado Dezembro 22, 2008 Share Postado Dezembro 22, 2008 Noosssa muito bom...gostei desse sistema muito criativo VLW Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-661961 Compartilhar em outros sites More sharing options...
PedrinhuHenrique 7 Postado Dezembro 22, 2008 Share Postado Dezembro 22, 2008 Parabens Dokmos muito bom o script, bem inovador mesmo! Link para o comentário https://xtibia.com/forum/topic/102605-dinastias-sensor-system-by-dokmos/#findComment-661963 Compartilhar em outros sites More sharing options...
Posts Recomendados