Postado Abril 26, 2018 7 anos Olá galera, eu coloquei um sistema de jail no meu serv que eu peguei de um outro otserv porem esse mesmo comando nao pega no meu serv e aparece o seguinte erro: [25/04/2018 21:00:31] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/cadeia.lua:7: '}' expected (to close '{' at line 4) near '[' [25/04/2018 21:00:31] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/cadeia.lua) [25/04/2018 21:00:32] data/talkactions/scripts/cadeia.lua:7: '}' expected (to close '{' at line 4) near '[' se alguem poder me ajudar a reparar esse error eu agradeço script do comando: Citar function onSay(cid,words,param) local t = string.explode(param, ",") local config = { [1] = {x=1024, y=906, z=10}, [2] = {x=1028, y=906, z=10} [3] = {x=1033, y=906, z=10}, [4] = {x=1033, y=898, z=10}, [5] = {x=1028, y=898, z=10} [6] = {x=1023, y=898, z=10}, } local from1,to1 = {x=1022, y=905, z=10},{x=1030, y=907, z=10} local from2,to2 = {x=1022, y=907, z=10},{x=1030, y=915, z=10} local temple = {x=1024, y=910, z=7} -- cordenadas do templo local Player_Name = getPlayerByNameWildcard(t[1]) if not t[1] then doPlayerSendTextMessage(cid, 27, "Digite o nome do jogador.") return TRUE end if not Player_Name then doPlayerSendTextMessage(cid, 27, "O jogador nao existe ou esta offline.") return TRUE end local Player_Pos = getThingPos(Player_Name) local function Unjail() if isPlayer(cid) then doTeleportThing(Player_Name, temple) end end if not tonumber(t[2]) or tonumber(t[2]) < 1 or t[2] == "" then doPlayerSendTextMessage(cid, 27, "Coloque a quantidade de tempo em minutos!") return TRUE end if getPlayerAccess(Player_Name) >= 2 then doPlayerSendTextMessage(cid, 27,"Voce nao pode prender um GM ou alguem superior a ele.") return TRUE end if isInRange(Player_Pos, from1, to1) or isInRange(Player_Pos, from2, to2) then doPlayerSendTextMessage(cid, 27,"O jogador ja esta preso!") return TRUE end doTeleportThing(Player_Name, config[math.random(#config)]) doSendAnimatedText(Player_Pos, "JAIL!", TEXTCOLOR_RED) doPlayerSendTextMessage(Player_Name, 25,"Voce foi preso por fazer algo contra as regras! e ficara preso por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") doPlayerSendTextMessage(cid, 27,"Voce prendeu o jogador "..t[1].." por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") addEvent(Unjail, t[2]*60*1000, Player_Name) return TRUE end Valendo REP+
Postado Abril 26, 2018 7 anos Solução 1 hora atrás, Jociel disse: Olá galera, eu coloquei um sistema de jail no meu serv que eu peguei de um outro otserv porem esse mesmo comando nao pega no meu serv e aparece o seguinte erro: [25/04/2018 21:00:31] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/cadeia.lua:7: '}' expected (to close '{' at line 4) near '[' [25/04/2018 21:00:31] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/cadeia.lua) [25/04/2018 21:00:32] data/talkactions/scripts/cadeia.lua:7: '}' expected (to close '{' at line 4) near '[' se alguem poder me ajudar a reparar esse error eu agradeço script do comando: Valendo REP+ Ta faltando algumas virgulas. function onSay(cid,words,param) local t = string.explode(param, ",") local config = { [1] = {x=1024, y=906, z=10}, [2] = {x=1028, y=906, z=10}, [3] = {x=1033, y=906, z=10}, [4] = {x=1033, y=898, z=10}, [5] = {x=1028, y=898, z=10}, [6] = {x=1023, y=898, z=10}, } local from1,to1 = {x=1022, y=905, z=10},{x=1030, y=907, z=10} local from2,to2 = {x=1022, y=907, z=10},{x=1030, y=915, z=10} local temple = {x=1024, y=910, z=7} -- cordenadas do templo local Player_Name = getPlayerByNameWildcard(t[1]) if not t[1] then doPlayerSendTextMessage(cid, 27, "Digite o nome do jogador.") return TRUE end if not Player_Name then doPlayerSendTextMessage(cid, 27, "O jogador nao existe ou esta offline.") return TRUE end local Player_Pos = getThingPos(Player_Name) local function Unjail() if isPlayer(cid) then doTeleportThing(Player_Name, temple) end end if not tonumber(t[2]) or tonumber(t[2]) < 1 or t[2] == "" then doPlayerSendTextMessage(cid, 27, "Coloque a quantidade de tempo em minutos!") return TRUE end if getPlayerAccess(Player_Name) >= 2 then doPlayerSendTextMessage(cid, 27,"Voce nao pode prender um GM ou alguem superior a ele.") return TRUE end if isInRange(Player_Pos, from1, to1) or isInRange(Player_Pos, from2, to2) then doPlayerSendTextMessage(cid, 27,"O jogador ja esta preso!") return TRUE end doTeleportThing(Player_Name, config[math.random(#config)]) doSendAnimatedText(Player_Pos, "JAIL!", TEXTCOLOR_RED) doPlayerSendTextMessage(Player_Name, 25,"Voce foi preso por fazer algo contra as regras! e ficara preso por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") doPlayerSendTextMessage(cid, 27,"Voce prendeu o jogador "..t[1].." por "..(tonumber(t[2])).." minuto"..(tonumber(t[2]) > 1 and "s" or "")..".") addEvent(Unjail, t[2]*60*1000, Player_Name) return TRUE end Esse aqui embaixo é o que eu uso no meu servidor. Spoiler -- Sistema adaptado por FreaksOT -- -- Tempo em segundos que alguém ficará na prisão -- default_jail = 1000 -- O group ID da permissão para alguém manda o outro para a cadeia. -- grouprequired = 5 -- StorageValue that the player gets -- jailedstoragevalue_time = 1338 jailedstoragevalue_bool = 1339 -- POSICAO DA CADEIA: -- jailpos = { x = 114, y = 56, z =7 } -- POSICAO DO LUGAR QUE ELE VOLTARÁ (RECOMENDADO TEMPO): -- unjailpos = { x = 159, y = 52, 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
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.