-
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 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
-
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?
-
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ó?
-
Az egész parancs alap rossz lesz, próbáltam mindenhogyan.
-
Másold be légy szíves az alap adminadás parancsot módosítás nélkül.
-
Oké, csak én már átírtam benne sok mindent, úgy meg mûködik. Ha ezt másolnám be?
-
Az is jó csak lássunk már tisztán :D
-
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)
-
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)
-
Köszi szépen, megpróbálom.:)
Dupla üzenet összevonva ekkor: 2014. augusztus 04. - 18:14:08
Nem működik. :/
-
Kiír valamilyen hibát?
Kiírja az üzenetet, ha nagyobb szintűnek akarod módosítani?
-
Minden rang módosításnál kiírja, és minden olyan mint régen. Lehet adni nagyobbat, meg mindent.
-
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)
-
Köszönöm szépen. :)
-
A végére leesett mit szeretnél kihozni belőle :D
-
Köszi szépen mûködött. :)
-
[mod]Megoldódott, zárom.[/mod]