Ir para conteúdo

[ Ripping ] Sistema De Prisão Perfeiito


LorD Sybian

Posts Recomendados

Titulo: Jail Sistem

 

Nome: Jail Sistem (Sistema De Prisao Perfeito)

.Versão: (0.1).

Tipo do script: (Talkaction).

Servidor Testado: (The Forgotten Server).

Autor: (esK~)

Bug ? Reporte no ToPICO #

 

Jail System

Este Systema Permite Que Voce Prenda Um Jogador Por Um Determinado Tempo



Por Exemplo /jail "tempo,nome do player

O Player Ficara Determinado Tempo Na Cadeia

Muito Simples E Totalmente Configuravel

 

Abra a pasta data/Talkactions/script e adicione isso em um arquivo lua:

-- Default jail time in seconds -- 
default_jail = 30 
-- The permission you need to jail someone -- 
grouprequired = 3 
-- StorageValue that the player gets -- 
jailedstoragevalue_time = 1338 
jailedstoragevalue_bool = 1339 
-- POSIcaO DA CADEIA: -- 
jailpos = { x = POSX, y = posY, z =posz } 
-- POSICAO DO TEMPLO: -- 
unjailpos = { x = 1029, y = 1005, 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,'You were kicked from jail! See you later ') 
end 
else 
table.remove(jail_list,targetID) 
end 
end 
end </FONT></P> <P><FONT color=#007700>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, 'You are jailed until ' .. os.date("%H:%M:%S", getPlayerStorageValue(cid, jailedstoragevalue_time)) .. ' (now is: ' .. 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, 'You will be kicked from jail in one second.') 
else 
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You are not jailed.') 
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, 'You jailed '.. getCreatureName(isplayer) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').') 
doPlayerSendTextMessage ( isplayer, MESSAGE_INFO_DESCR, 'You have been jailed by '.. getCreatureName(cid) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').') 
return TRUE 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.") 
return FALSE 
end 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.") 
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) .. ' let you go out from jail! See you later') 
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You unjailed '.. getCreatureName(isplayer) ..'.') 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.") 
return FALSE 
end 
else 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.") 
return FALSE 
end 
end 
return FALSE 
end

Pronto Feito Isso Edite No Começo Do Script O Que Esta Em Vermelho

 

Logo Apos Configurar Va Em Data/talkactions/Talkactions.xml

E Adciona Isso Depois Da Tag <talkactions>

<talkaction words="!jail" script="jailsystem.lua"/>

<talkaction words="!unjail" script="jailsystem.lua"/>

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

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

 

Para Usar Basta Dar Os Commands

/jail "Tempo,Nomedoplayer

/unjail "NomeDoPlayer

 

SO FUNCIONA EM TFS
Editado por esK~
Link para o comentário
Compartilhar em outros sites

Já havia visto outros sistemas de prisao,mais igal a a esse numca axei mt criativo e bem simples.

 

Vou usar esse sistema no meu ot

 

Mt bom trabalho!

 

 

Cara isso e criativo e não e simples não demorei uns 4 dias para fazer ele para tirar bug , so para trazer com exclusividade para o XTIBIA #E você ainda fala bem simples quero ver você fazer os scripts que eu faço isso sim... kero ver #

 

esK~

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...