Szerző Téma: /makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek  (Megtekintve 2447 alkalommal)

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Dátum: 2014. augusztus 03. - 18:15:04 »
0 Show voters
Sziasztok. Az egyik barátomnak segítek a szerverében, és ezt a makeadmin-t megpróbáltam minnél jobban kidekorálni, hogy jól nézzen ki. Még annyit szeretnék beleírni, hogy például egy főadmin ne tudjon másnak se főadmint, se az fölötti rangot adni. Segítenétek?

Nem elérhető pavip

/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #1 Dátum: 2014. augusztus 03. - 18:46:36 »
0 Show voters
Nem tudom neked luában megírni de, nagyjából elmagyarázom. Csinálsz 2 változót az egyik a játékos admin szintje a másik a adni kívánt adminszint. Utánna egy if elágazással összeveted a kettőt :)
Valahogy így:
 
loacal adminszint = Lekérdezed a játékos admin szintjét
Local adandoszint = lekérdezed a parancsban megadott szintet
if adminszint <= adandoszint then
OutputChatBox(\"Nincs kellő adminszinted!\", source)
end

 
Nagyjából valahogy így :D Azért egy lua scripter nézzen rá hátha hülyeséget írtam :D
Ha pedig nem erre gondoltál akkor szólj :D

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #2 Dátum: 2014. augusztus 03. - 18:55:10 »
0 Show voters
Köszi a gyors választ. Valahogy így csináltam Én is, de megpróbálom, köszi.

Dupla üzenet összevonva ekkor: 2014. augusztus 03. - 23:46:12

Nem túl jó. :/ és hogyan lehet megcsinálni hogy ne adja meg az admint?
« Utoljára szerkesztve: 2014. augusztus 03. - 23:46:12 írta Martin »

Nem elérhető pavip

/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #3 Dátum: 2014. augusztus 04. - 00:28:56 »
0 Show voters
Ezt nem értem :O egyszerűen kiveszed azt a sort amivel átállítod az adminszintet. De azt is if-ekkel kéne megcsinálni, nem? Esetleg hibát ír ki? Vagy mi nem jó?

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #4 Dátum: 2014. augusztus 04. - 11:22:03 »
0 Show voters
Az egész parancs alap rossz lesz, próbáltam mindenhogyan.

Nem elérhető Erik3333

  • 945
  • SMF | phpBB | TS3 | PHP | HTML | CSS | JS | PAWN | JAVA
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #5 Dátum: 2014. augusztus 04. - 12:05:33 »
0 Show voters
Másold be légy szíves az alap adminadás parancsot módosítás nélkül.

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #6 Dátum: 2014. augusztus 04. - 12:34:45 »
0 Show voters
Oké, csak én már átírtam benne sok mindent, úgy meg mûködik. Ha ezt másolnám be?

Nem elérhető pavip

/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #7 Dátum: 2014. augusztus 04. - 12:35:37 »
0 Show voters
Az is jó csak lássunk már tisztán :D

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #8 Dátum: 2014. augusztus 04. - 12:43:25 »
0 Show voters
Oké amint géphez ülök bemásolom.

Dupla üzenet összevonva ekkor: 2014. augusztus 04. - 13:51:03

 function makePlayerAdmin(thePlayer, commandName, who, rank)
if (exports.global:isSuperAdmin(thePlayer)) then
if not (who) then
   outputChatBox(\"HASZNÁLD: /\" .. commandName .. \" [iD/NévRészlet] [Rang]\", thePlayer, 255, 194, 14)
else
   local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
   if (targetPlayer) then
      local username = getPlayerName(thePlayer)
      local accountID = getElementData(targetPlayer, \"gameaccountid\")
      exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminlevel\", tonumber(rank))
      rank = tonumber(rank)
      if (rank<1337) then
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"hiddenadmin\", 0)
      end
      local query = mysql:query_free(\"UPDATE accounts SET admin=\'\" .. mysql:escape_string(tonumber(rank)) .. \"\', hiddenadmin=\'0\' WHERE id=\'\" .. mysql:escape_string(accountID) .. \"\'\")
      outputChatBox(\"Beállítottad \" .. targetPlayerName .. \" Admin rangját erre: \" .. rank .. \".\", thePlayer, 0, 255, 0)
      local hiddenAdmin = getElementData(thePlayer, \"hiddenadmin\")
      local targetAdminTitle = exports.global:getPlayerAdminTitle(targetPlayer)
      if (rank>0) or (rank==-999999999) then
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminduty\", 1)
      else
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminduty\", 0)
      end
      exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"ideiglenes\", 0)
      mysql:query_free(\"UPDATE accounts SET adminduty=\" .. mysql:escape_string(getElementData(targetPlayer, \"adminduty\")) .. \" WHERE id = \" .. mysql:escape_string(getElementData(targetPlayer, \"gameaccountid\")) )
      exports.global:updateNametagColor(targetPlayer)
      if (hiddenAdmin==0) then
         local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
         outputChatBox(adminTitle .. \" \" .. username .. \" beállította az Admin rangodat erre: \" .. rank .. \".\", targetPlayer, 255, 194, 14)
         exports.global:sendMessageToAdmins(\"AdmCmd: \" .. tostring(adminTitle) .. \" \" .. username .. \" set \" .. targetPlayerName .. \"\'s admin level to \" .. rank .. \".\")
      else
         outputChatBox(\"Egy rejtett Admin beállította az Admin rangodat erre: \" .. rank .. \".\", targetPlayer, 255, 194, 14)
      end
   end
end
end
end
addCommandHandler(\"makeadmin\", makePlayerAdmin, false, false)
« Utoljára szerkesztve: 2014. augusztus 04. - 13:51:03 írta Martin »

Nem elérhető Erik3333

  • 945
  • SMF | phpBB | TS3 | PHP | HTML | CSS | JS | PAWN | JAVA
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #9 Dátum: 2014. augusztus 04. - 14:47:36 »
0 Show voters
 function makePlayerAdmin(thePlayer, commandName, who, rank)
if (exports.global:isSuperAdmin(thePlayer)) then
if not (who) then
   outputChatBox(\"HASZNÁLD: /\" .. commandName .. \" [iD/NévRészlet] [Rang]\", thePlayer, 255, 194, 14)
else
   local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
   
   if (targetPlayer) then
      local username = getPlayerName(thePlayer)
      local accountID = getElementData(targetPlayer, \"gameaccountid\")
      local sAdminSzint = getElementData(thePlayer, \"adminlevel\")
      local jAdminSzint = getElementData(targetPlayer, \"adminlevel\")
      if sAdminSzint <= jAdminSzint then
         outputChatBox(\"Nincs elég rangod \" .. username .. \" adminszintje módosításához!\", thePlayer, 255, 0, 0)
         return
      end
      
      exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminlevel\", tonumber(rank))
      
      rank = tonumber(rank)
      
      if (rank<1337) then
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"hiddenadmin\", 0)
      end
      
      local query = mysql:query_free(\"UPDATE accounts SET admin=\'\" .. mysql:escape_string(tonumber(rank)) .. \"\', hiddenadmin=\'0\' WHERE id=\'\" .. mysql:escape_string(accountID) .. \"\'\")
      outputChatBox(\"Beállítottad \" .. targetPlayerName .. \" Admin rangját erre: \" .. rank .. \".\", thePlayer, 0, 255, 0)
      
      local hiddenAdmin = getElementData(thePlayer, \"hiddenadmin\")
      local targetAdminTitle = exports.global:getPlayerAdminTitle(targetPlayer)
      if (rank>0) or (rank==-999999999) then
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminduty\", 1)
      else
         exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"adminduty\", 0)
      end
      exports[\'anticheat-system\']:changeProtectedElementDataEx(targetPlayer, \"ideiglenes\", 0)
      mysql:query_free(\"UPDATE accounts SET adminduty=\" .. mysql:escape_string(getElementData(targetPlayer, \"adminduty\")) .. \" WHERE id = \" .. mysql:escape_string(getElementData(targetPlayer, \"gameaccountid\")) )
      exports.global:updateNametagColor(targetPlayer)
      
      if (hiddenAdmin==0) then
         local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)
         outputChatBox(adminTitle .. \" \" .. username .. \" beállította az Admin rangodat erre: \" .. rank .. \".\", targetPlayer, 255, 194, 14)
         exports.global:sendMessageToAdmins(\"AdmCmd: \" .. tostring(adminTitle) .. \" \" .. username .. \" set \" .. targetPlayerName .. \"\'s admin level to \" .. rank .. \".\")
      else
         outputChatBox(\"Egy rejtett Admin beállította az Admin rangodat erre: \" .. rank .. \".\", targetPlayer, 255, 194, 14)
      end
   end
end
end
end
addCommandHandler(\"makeadmin\", makePlayerAdmin, false, false)

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #10 Dátum: 2014. augusztus 04. - 15:12:13 »
0 Show voters
Köszi szépen, megpróbálom.:)

Dupla üzenet összevonva ekkor: 2014. augusztus 04. - 18:14:08

Nem működik. :/
« Utoljára szerkesztve: 2014. augusztus 04. - 18:14:08 írta Martin »

Nem elérhető Erik3333

  • 945
  • SMF | phpBB | TS3 | PHP | HTML | CSS | JS | PAWN | JAVA
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #11 Dátum: 2014. augusztus 04. - 19:13:08 »
0 Show voters
Kiír valamilyen hibát?
Kiírja az üzenetet, ha nagyobb szintűnek akarod módosítani?

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #12 Dátum: 2014. augusztus 04. - 19:37:11 »
0 Show voters
Minden rang módosításnál kiírja, és minden olyan mint régen. Lehet adni nagyobbat, meg mindent.

Nem elérhető Erik3333

  • 945
  • SMF | phpBB | TS3 | PHP | HTML | CSS | JS | PAWN | JAVA
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #13 Dátum: 2014. augusztus 04. - 21:36:49 »
0 Show voters
Ezt a sort törld ki:
 
local jAdminSzint = getElementData(targetPlayer, \"adminlevel\")

 
Ezt pedig:
 
if sAdminSzint <= jAdminSzint then

 
erre:
 
if sAdminSzint <= tonumber(rank) then

 
Ezt:
 
outputChatBox(\"Nincs elég rangod \" .. username .. \" adminszintje módosításához!\", thePlayer, 255, 0, 0)

 
erre:
 
outputChatBox(\"A saját rangodnál nem tudsz nagyobb rangot adni!\", thePlayer, 255, 0, 0)

Nem elérhető Martin

  • 160
    • Profil megtekintése
/makeadmin - saját rangjánál nagyobbat ne tudjon adni senkinek
« Válasz #14 Dátum: 2014. augusztus 04. - 21:44:07 »
0 Show voters
Köszönöm szépen. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal