Sziasztok! Kezdő scripter vagyok, és azon gondolkodtam hogy egy privát szerveren megnézem, hogy hogyan lehetne admin-skint adni, a /adminduty parancsra.
Az adminskint megadja, de amikor kilépnék, a 0-s skin adja. Hogyan lehet változókat használni, setPlayerSkinnél?
function adminDuty(thePlayer, commandName)
if exports.global:isPlayerAdmin(thePlayer) then
local adminduty = getElementData(thePlayer, \"adminduty\")
local username = getPlayerName(thePlayer)
local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
local playerName = getPlayerName(thePlayer)
local pmid = getElementData(thePlayer, \"playerid\")
local skinadmin = getPlayerSkin(thePlayer)
if (adminduty==0) then
exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 1)
exports.global:sendMessageToAdmins(\"\" .. username .. \" szolgálatba lépett.\")
exports.infobox:showBox(getRootElement(), \"info\", playerName.. \" adminszolgálatba lépett!\\n/pm \"..pmid..\" parancsal írhatsz neki!\")
outputChatBox(\"#3399FF\".. playerName .. \"#FFFFFF adminszolgálatba lépett!#3399FF /pm #3399FF\"..pmid..\"#FFFFFF parancsal írsz neki!\", getRootElement(), 255, 255, 255,true)
setPlayerSkin(thePlayer, 299)
elseif (adminduty==1) then
exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 0)
exports.infobox:showBox(getRootElement(), \"info\", playerName.. \" kilépett adminszolgálatból!\")
outputChatBox(\"#3399FF \".. playerName .. \"#FFFFFF kilépett az adminszolgálatból!\", getRootElement(), 255, 255, 255,true)
setPlayerSkin(thePlayer, \".. skinadmin ..\")
outputChatBox(\"lefut\")
end
mysql:query_free(\"UPDATE accounts SET adminduty=\" .. mysql:escape_string(getElementData(thePlayer, \"adminduty\")) .. \" WHERE id = \" .. mysql:escape_string(getElementData(thePlayer, \"gameaccountid\")) )
exports.global:updateNametagColor(thePlayer)
end
end
addCommandHandler(\"adminduty\", adminDuty, false, false)
addCommandHandler(\"aduty\", adminDuty, false, false)
addCommandHandler(\"aszoli\", adminDuty, false, false)
mi a probléma?
zeroedit...
Heló. A mysql-en kívül van másik lehetőség?
function adminDuty(thePlayer, commandName)
local hackerusername = getPlayerName(thePlayer)
if exports.global:isPlayerAdmin(thePlayer) then
local adminduty = getElementData(thePlayer, \"adminduty\")
local username = getPlayerName(thePlayer)
local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
local playerName = getPlayerName(thePlayer)
local pmid = getElementData(thePlayer, \"playerid\")
local hp = getElementHealth(thePlayer)
if (adminduty==1) then
exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 0)
exports.infobox:showBox(getRootElement(), \"info\", playerName.. \" kilépett adminszolgálatból!\")
outputChatBox(\"#3399FF \".. playerName .. \"#FFFFFF kilépett az adminszolgálatból!\", getRootElement(), 255, 255, 255,true)
setPlayerSkin(thePlayer, skinesseg)
outputChatBox(\"hamis, \"..skinesseg..\"igaz\")
setElementHealth(thePlayer, 100)
elseif (adminduty==0) then
skinesseg = getPlayerSkin(thePlayer)
exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 1)
exports.global:sendMessageToAdmins(\"\" .. username .. \" szolgálatba lépett.\")
exports.infobox:showBox(getRootElement(), \"info\", playerName.. \" adminszolgálatba lépett!\\n/pm \"..pmid..\" parancsal írhatsz neki!\")
outputChatBox(\"#3399FF\".. playerName .. \"#FFFFFF adminszolgálatba lépett!#3399FF /pm #3399FF\"..pmid..\"#FFFFFF parancsal írsz neki!\", getRootElement(), 255, 255, 255,true)
setPlayerSkin(thePlayer, 299)
setElementHealth(thePlayer, 1000)
outputChatBox(\"igaz, \"..skinesseg..\"hamis\")
end
mysql:query_free(\"UPDATE accounts SET adminduty=\" .. mysql:escape_string(getElementData(thePlayer, \"adminduty\")) .. \" WHERE id = \" .. mysql:escape_string(getElementData(thePlayer, \"gameaccountid\")) )
exports.global:updateNametagColor(thePlayer)
else
exports.global:sendMessageToAdmins(\"\"..hackerusername..\" megpróbált bedutyzni adminként...\")
end
end
addCommandHandler(\"adminduty\", adminDuty, false, false)
addCommandHandler(\"aduty\", adminDuty, false, false)
addCommandHandler(\"aszoli\", adminDuty, false, false)
most ez a jelenlegi, viszont ez nem jó, ugyanis ha x bedutyzik és utána y is, y skinjét menti el xnek is, szóval mindketten ugyanazt a skint kapják.