Sistema De Cadeia Perfeita (Com Time)

brenomadlan
em Actions e Talkactions

brenomadlan

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/01/10Posts: 12Char no Tibia: Breve um mapa novo xD

Oi, primeiramente eu sou novo aqui e decidi ajudar o Xtibia com um script bem legal.

 

Então vamos começar...

 

-Você digita /jail (e o nome do player)que ele será automaticamente teleportado para a cadeia.

-Para remover o player da cadeia é só digitar /unjail (e o nome do player) que ele sera teleportado automaticamente para um lugar desejado.

 

1º-Abra a pasta do seu OT e vá em: data\talkactions\talkactions.xml

 

2ºAdicione em duas linhas estes códigos:

 

<talkaction words="/jail" script="Cadeia.lua"/>

<talkaction words="/unjail" script="Cadeia.lua"/>

 

3º Agora vá para : data\talkactions\scripts

 

4º Copie e cole qualquer arquivo .lua e renomeie para Cadeia

 

5º Apague tudo o que tem dentro do arquivo e cole isto:

 

-- Sistema adaptado por FreaksOT --

-- Tempo em segundos que alguém ficará na prisão --

default_jail = 300

-- O group ID da permissão para alguém manda o outro para a cadeia. --

grouprequired = 3

-- StorageValue that the player gets --

jailedstoragevalue_time = 1338

jailedstoragevalue_bool = 1339

-- POSICAO DA CADEIA: --

jailpos = { x = 1196, y = 1112, z =7 }

-- POSICAO DO LUGAR QUE ELE VOLTARÁ (RECOMENDADO TEMPO): --

unjailpos = { x = 1196, y = 1100, z =7 }

-- auto kicker, dont edit

jail_list = {}

jail_list_work = 0

 

function checkJailList(param)

addEvent(checkJailList, 1000, {})

for targetID,player in ipairs(jail_list) do

if isPlayer(player) == TRUE then

if getPlayerStorageValue(player, jailedstoragevalue_time) < os.time() then

doTeleportThing(player, unjailpos, TRUE)

setPlayerStorageValue(player, jailedstoragevalue_time, 0)

setPlayerStorageValue(player, jailedstoragevalue_bool, 0)

table.remove(jail_list,targetID)

doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'Você foi chutado da prisão! Até logo')

end

else

table.remove(jail_list,targetID)

end

end

end

 

function onSay(cid, words, param)

if jail_list_work == 0 then

jail_list_work = addEvent(checkJailList, 1000, {})

end

if param == '' and (words == '!unjail' or words == '/unjail') then

if getPlayerStorageValue(cid, jailedstoragevalue_time) > os.time() then

doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você está preso até ' .. os.date("%H:%M:%S", getPlayerStorageValue(cid, jailedstoragevalue_time)) .. ' (Agora são: ' .. os.date("%H:%M:%S", os.time()) .. ').')

else

if getPlayerStorageValue(cid, jailedstoragevalue_bool) == 1 then

table.insert(jail_list,cid)

doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você vai ser expulso da prisão em um segundo.')

else

doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você não está preso.')

end

end

return TRUE

end

local jail_time = -1

for word in string.gmatch(tostring(param), "(%w+)") do

if tostring(tonumber(word)) == word then

jail_time = tonumber(word)

end

end

local isplayer = getPlayerByName(param)

if isPlayer(isplayer) ~= TRUE then

isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+1))

if isPlayer(isplayer) ~= TRUE then

isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+2))

if isPlayer(isplayer) ~= TRUE then

isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+3))

end

end

end

if jail_time ~= -1 then

jail_time = jail_time * 60

else

jail_time = default_jail

end

if words == '!jail' or words == '/jail' then

if getPlayerGroupId ( cid ) >= grouprequired then

if isPlayer(isplayer) == TRUE then

doTeleportThing(isplayer, jailpos, TRUE)

setPlayerStorageValue(isplayer, jailedstoragevalue_time, os.time()+jail_time)

setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 1)

table.insert(jail_list,isplayer)

doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você está preso '.. getCreatureName(isplayer) ..' até ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (Agora são: ' .. os.date("%H:%M:%S", os.time()) .. ').')

doPlayerSendTextMessage ( isplayer, MESSAGE_INFO_DESCR, 'Você foi preso por '.. getCreatureName(cid) ..' até ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (Agora sao: ' .. os.date("%H:%M:%S", os.time()) .. ').')

return TRUE

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player com este nome não existe ou está offline.")

return FALSE

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode libertar outros jogadores.")

return FALSE

end

elseif words == '!unjail' or words == '/unjail' then

if getPlayerGroupId ( cid ) >= grouprequired then

if isPlayer(isplayer) == TRUE then

doTeleportThing(isplayer, unjailpos, TRUE)

setPlayerStorageValue(isplayer, jailedstoragevalue_time, 0)

setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 0)

table.remove(jail_list,targetID)

doPlayerSendTextMessage(isplayer,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid) .. 'vou deixar você sair da prisão!')

doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Voce está solto '.. getCreatureName(isplayer) ..'.')

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player com este nome não existe ou está offline.")

return FALSE

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode libertar outros jogadores.")

return FALSE

end

end

return FALSE

end

 

6º Vamos entender o script:

Acompanhe a legenda abaixo:

 

Vermelho - Posição da cadeia.

Azul - Posição do lugar que o player vai sair da cadeia (recomendo que seja o templo).

Verde - Tempo (em segundos, no caso 300 segundos, ou seja, 5 minutos) que o player vai ficar na cadeia.

 

Prontinho, agora você já tem sua cadeia funcionando. Agora avaliem o tópico, o script e vote na enquente.

Valeu a todos, um abraço e muitíssimo obrigado.

Sou mapper que quer ser um script me add nu MSN: closeot@hotmail.com

Metas:

[x]Primeiro Post
[x]Primeiro Tópico
[ ]Conseguir 10 posts
[ ]Conseguir 20 posts
[ ]Conseguir 30 posts
[ ]Conseguir 50 posts
[ ]Conseguir 70 posts
[ ]Conseguir 100 posts

NatsuMcDonald

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 27/02/10Posts: 159Char no Tibia: Natsu McDonald

Otimo script, porém voce poderia deixa-lo mais formatado...

Abraços

natsugc.jpg

 

<!-- S4 League Rul3z --!>

9baaf6d82a061f2b4893272a4c.png

dragonlorde

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/03/10Posts: 78Char no Tibia: Dragonlordez

Pow da pra bota code ¬¬ assim n da nem vontade de ler :angrysmiley:

Dragonlordez~



 

ssssjb.png

 

ironm.png

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

da pra colocar também os créditos do criador do script?

 

se não me engano ja postaram esse script do Gesior aqui no fórum.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

vineratb

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/11/08Posts: 3

Esse script ja existe eu adaptei ele e criei um script que vc digita /jail Player_Name,Numero_da_Cela e o cara é teleportado para quela cela fiz ate uma ilha com a cadeia haha ficou perfect :D

LucasCastro

Lucks
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 15/01/12Posts: 100Char no Tibia: Leon Of Pandoria

Vlws aew Já to usando o script no meu OT

;D

Gostou ? REP++

whichsouthpark.jpg

I like the character Stan Marsh !! ;D

HisashiitYamaguti

O Cortiço - Aluísio Azevedo.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 17/07/11Posts: 705

Esse script já existe faz anos, eu pessoalmente já tenho ele desde de um dos primeiros ot servers a serem criados, ele vem em todos os ot servers cara, não é um system útil, pois você não acrescentou nada, só ensinou a mexer, do qual quer pessoa poderia fazer sozinho, sem explicação nenhuma, como eu.

 

Esse system não é de sua autoria e acho que ele veio com o primeiro ot server a ser criado.

 

KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK, colocou seu nome no system mais velho do mundo?

Cara se toca, esse system existe a mais tempo que você descobriu o tibia.

hisashi.png