ban / kick hiba

Indította Nicolas, 2016. szeptember 02. - 19:34:04

Előző téma - Következő téma

Nicolas

Üdv!
Valamiért nem akar müködni a kick/ban parancs, az ugyan ezen alapuló unban parancs azonban működik szóval nem értem mi lehet a gondja
A megadott admin level szint is meg volt adva.
(Igen, a lent látható script egy más által készített script, ezért a fejemet ne vegyétek)
Előre is köszönöm a segítséget!
Script:
 

addCommandHandler(\"ban\",
function(playerSource,commandName,targetPlayer,ttime,...)
if getElementData(playerSource, \"acc.adminLevel\") >= 3 then
   local ttime = tonumber ( ttime )
   if targetPlayer and ttime then
      local targetPlayer, targetPlayerName = exports[\'nl_system\']:findPlayerByPartialNick(thePlayer,targetPlayerNick,nil,1)
      local pSerialC = getPlayerSerial(targetPlayer)
      local duration = (ttime*60)*60
      local reason = table.concat({...}, \" \")
      local adminName = getPlayerAdminName(playerSource)
      local time = getRealTime()
      local hours = time.hour
      local minutes = time.minut
      date = string.format(\"%04d.%02d.%02d\", time.year + 1900, time.month + 1, time.monthday )
      if ttime == 0 then
         dbExec(connection ,\"INSERT INTO bans SET accountID=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?,Date=?\",getElementData(targetPlayer, \"acc.accountID\"), adminName ,23414590357, pSerialC, reason,targetPlayerName,date)
      else
         dbExec(connection ,\"INSERT INTO bans SET accountID=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?,Date=?\",getElementData(targetPlayer, \"acc.accountID\"), adminName ,getRealTime()[\"timestamp\"]+duration, pSerialC, reason,targetPlayerName,date)
      end
      if ttime == 0 then
         text = \"Örök\"
      else
         text = ttime .. \" óra\"
      end
      kickPlayer (targetPlayer, adminName, reason )
      outputChatBox(\"BAN - \"..adminName .. \" kitiltotta \".. targetPlayerName ..\" játékost.\",root,225, 0, 0,true)
      outputChatBox(\"BAN - Kitiltás ideje: \" .. text .. \" - Indok: \" .. reason .. \"\",root,225, 0, 0,true)
   else
      outputChatBox (\"Használat:#ffffff /\" .. commandName .. \" [iD] [óra (0 - örök)] [indok]\", playerSource,141,177,61,true)
   end
end
end
)
addCommandHandler(\"kick\",
function(playerSource,cmd, player,...)
if getElementData(playerSource,\"acc.adminLevel\") >= 8 then
   local Text = table.concat({...},\" \")
   if player and (Text or Text ~= \"\") then
      local targetPlayer, targetPlayerName = exports[\'nl_system\']:findPlayerByPartialNick(thePlayer,targetPlayerNick,nil,1)   
      kickPlayer ( targetPlayer, playerSource, Text )
   else
      outputChatBox(\"#ffffff/\".. cmd ..\" [Név] [szöveg]\", playerSource,166,196,103,true)         
   end
end
end
)

almightymartin

www.twitch.tv/almightymartin

Az év STAFF tagja - 2015
Az év RP szervere - 2015 - [rc-rp.hu]

Red County Role Play [rc-rp.hu] - Tulajdonos
Project San Andreas [psa.hu] - Főadminisztrátor
See MTA LV [see-game.com] - Admin 4

Nicolas

Javítottam, elnézést, csak 24 órás meló után már fáradt vagyok, de ezzel egyenlő mértékben haladni is szeretnék

ustanmufj


Nicolas

Nem ad vissza semmilyen hiba értéket, nem hoz fel semmit ha beírom, de viszont unban nál vissza adja a string et azaz a \"használat\" értéket, amely azonos függvénnyel van írva.

ustanmufj

Huu bakker akkor nem tudok segíteni :(

Nicolas

Azért köszönöm :) addig is tovább próbálgatom :) Hát ha az lesz vele mint a kulcsos kapu rendszerrel hogy egyszer csak lőn működik :)

Xistance

Idézetet írta: Nicolas date=1472837644\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62953\" data-ipsquote-contentclass=\"forums_TopicÜdv!
Valamiért nem akar müködni a kick/ban parancs, az ugyan ezen alapuló unban parancs azonban működik szóval nem értem mi lehet a gondja
A megadott admin level szint is meg volt adva.
(Igen, a lent látható script egy más által készített script, ezért a fejemet ne vegyétek)
Előre is köszönöm a segítséget!
Script:
 

addCommandHandler(\"ban\",
function(playerSource,commandName,targetPlayer,ttime,...)
if getElementData(playerSource, \"acc.adminLevel\") >= 3 then
   local ttime = tonumber ( ttime )
   if targetPlayer and ttime then
      local targetPlayer, targetPlayerName = exports[\'nl_system\']:findPlayerByPartialNick(thePlayer,targetPlayerNick,nil,1)
      local pSerialC = getPlayerSerial(targetPlayer)
      local duration = (ttime*60)*60
      local reason = table.concat({...}, \" \")
      local adminName = getPlayerAdminName(playerSource)
      local time = getRealTime()
      local hours = time.hour
      local minutes = time.minut
      date = string.format(\"%04d.%02d.%02d\", time.year + 1900, time.month + 1, time.monthday )
      if ttime == 0 then
         dbExec(connection ,\"INSERT INTO bans SET accountID=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?,Date=?\",getElementData(targetPlayer, \"acc.accountID\"), adminName ,23414590357, pSerialC, reason,targetPlayerName,date)
      else
         dbExec(connection ,\"INSERT INTO bans SET accountID=?, bannedBy=?, timeZone=?, playerSerial=?, reason = ?, playername=?,Date=?\",getElementData(targetPlayer, \"acc.accountID\"), adminName ,getRealTime()[\"timestamp\"]+duration, pSerialC, reason,targetPlayerName,date)
      end
      if ttime == 0 then
         text = \"Örök\"
      else
         text = ttime .. \" óra\"
      end
      kickPlayer (targetPlayer, adminName, reason )
      outputChatBox(\"BAN - \"..adminName .. \" kitiltotta \".. targetPlayerName ..\" játékost.\",root,225, 0, 0,true)
      outputChatBox(\"BAN - Kitiltás ideje: \" .. text .. \" - Indok: \" .. reason .. \"\",root,225, 0, 0,true)
   else
      outputChatBox (\"Használat:#ffffff /\" .. commandName .. \" [iD] [óra (0 - örök)] [indok]\", playerSource,141,177,61,true)
   end
end
end
)
addCommandHandler(\"kick\",
function(playerSource,cmd, player,...)
if getElementData(playerSource,\"acc.adminLevel\") >= 8 then
   local Text = table.concat({...},\" \")
   if player and (Text or Text ~= \"\") then
      local targetPlayer, targetPlayerName = exports[\'nl_system\']:findPlayerByPartialNick(thePlayer,targetPlayerNick,nil,1)   
      kickPlayer ( targetPlayer, playerSource, Text )
   else
      outputChatBox(\"#ffffff/\".. cmd ..\" [Név] [szöveg]\", playerSource,166,196,103,true)         
   end
end
end
)

 

ACL-ben engedélyezd a kickPlayer változót

Nicolas

Betettem, csináltam egy restartot de nem épp akar működni, vagy én vagyok nagyon fáradt és már nem tudom mit hova írok, vagy szeret kitolni velem  :D
Megtudod mondani mit írtam el vagy mi lehet a hiba?
XML:
 
 
<group name=\"Admin\">
        <acl name=\"Moderator\"></acl>
        <acl name=\"SuperModerator\"></acl>
        <acl name=\"Admin\"></acl>
        <acl name=\"RPC\"></acl>
        <object name=\"resource.*\"></object>
    </group>
<acl name=\"Admin\">
<right name=\"function.kickPlayer\" access=\"true\" />
(és még tovább a többi...)
</acl>

ustanmufj

Akkor írtad bele az ACL-be amikor futott a szerver, és úgy restartoltad? Mert akkor probáld úgy, hogy nem fut a szeró beírod ACL-be, és utána inditod el a szervert.

Nicolas

Mindig ugy restartolom hogy ctrl+c leall, majd kilep a cmd ablak, majd elinditom ujra a szervert

ustanmufj

Az oké, de mikor írod bele az ACL-be?

Nicolas

acl be egyszer kell beleírnom, az ACL config-file ba, onnantól onnan olvassa ki minden egyes szerver indításkor tudtommal. De ha ebben tévedek akkor elnézést.

ustanmufj

De milyen állapotban volt a szerver amikor beleírtad az ACL-be?

Nicolas

#14
Le volt állítva, de még mindig nem értem mi a köze hozzá ha utána már többször is le volt állítva és el volt indítva. Ha futó állapotba írom bele akkor a következő indításnál lép életbe az új ACL konfiguráció elvileg.