Szerző Téma: Admin név segítség  (Megtekintve 2673 alkalommal)

Admin név segítség
« Dátum: 2016. augusztus 20. - 03:54:07 »
0 Show voters
Próbálok összehozni egy működő adminnév scriptet. Amikor bedutyzok rendesen átváltja a nevemet anick-re, viszont ha kidutyzom nem vált vissza a régi névre. Nem tudom mi lehet a gond a scripttel, hátha valaki tud segíteni. Elég kezdő vagyok még ezekhez, előre is bocsássatok meg. (Ez csak az aduty/anick része a scriptnek, több minden van az egészben.)
 
function adminDuty(thePlayer, commandName)
    if exports.global:isPlayerAdmin(thePlayer) then
        local adminduty = getElementData(thePlayer, \"adminduty\")
        local getAccuratePlayerName = getPlayerName(thePlayer)
        -- local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
        local playerName = getPlayerName(thePlayer)
        local pmid = getElementData(thePlayer, \"playerid\")
       
        if (adminduty==0) then
             local eredetinev = getPlayerName(thePlayer)
                setElementData(thePlayer, \"eredetineve\", eredetinev)
           
           
            local anicks = getElementData(thePlayer, \"anick\")
            local anick = table.concat({anicks}, \"_\")
           
      exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
              setPlayerName(thePlayer, anicks)
              exports.wls_info:addNotification(root,anicks .. \" adminszolgálatba lépett.\",\"info\")
                setPlayerNametagColor ( thePlayer, 0, 206, 209 )
             exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 1)
        end
        exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 0)
        if (adminduty==1) then
            local ernev = getElementData(thePlayer, \"eredetinev\")
            local anicks = getElementData(thePlayer, \"anick\")
           
            exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
            setPlayerName(thePlayer, ernev)
   
   
            exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 0)
            exports.wls_info:addNotification(root,anicks .. \" kilépett az adminszolgálatból.\",\"info\")
        end
        mysql:query_free(\"UPDATE accounts SET adminduty=0 WHERE id = \" .. mysql:escape_string(getElementData(thePlayer, \"gameaccountid\")) )
        exports.global:updateNametagColor(thePlayer)
    end
end
addCommandHandler(\"adminduty\", adminDuty, false, false)
addCommandHandler(\"aduty\", adminDuty, false, false)
« Utoljára szerkesztve: 2016. augusztus 20. - 03:56:16 írta Milan0831 »

Admin név segítség
« Válasz #1 Dátum: 2016. augusztus 20. - 10:34:38 »
0 Show voters
Debug ír hibát?

Admin név segítség
« Válasz #2 Dátum: 2016. augusztus 20. - 15:00:14 »
0 Show voters
Hali Bob, Sergio vagyok  :D
[2016-08-20 14:53:54] WARNING: adminsystem/commandsS.lua:1347: Bad argument @ \'setPlayerName\' [Expected string at argument 2, got boolean]
Ez az egyik hiba amit kiír és ez szúrt nekem jobban szemet.

Admin név segítség
« Válasz #3 Dátum: 2016. augusztus 20. - 15:07:46 »
0 Show voters
Idézetet írta: Milan0831 date=1471658047\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62748\" data-ipsquote-contentclass=\"forums_Topic
Próbálok összehozni egy működő adminnév scriptet. Amikor bedutyzok rendesen átváltja a nevemet anick-re, viszont ha kidutyzom nem vált vissza a régi névre. Nem tudom mi lehet a gond a scripttel, hátha valaki tud segíteni. Elég kezdő vagyok még ezekhez, előre is bocsássatok meg. (Ez csak az aduty/anick része a scriptnek, több minden van az egészben.)
 
function adminDuty(thePlayer, commandName)
    if exports.global:isPlayerAdmin(thePlayer) then
        local adminduty = getElementData(thePlayer, \"adminduty\")
        local getAccuratePlayerName = getPlayerName(thePlayer)
        -- local adminrang = exports.global:getPlayerAdminTitle(thePlayer)
        local playerName = getPlayerName(thePlayer)
        local pmid = getElementData(thePlayer, \"playerid\")
       
        if (adminduty==0) then
             local eredetinev = getPlayerName(thePlayer)
                setElementData(thePlayer, \"eredetineve\", eredetinev)
           
           
            local anicks = getElementData(thePlayer, \"anick\")
            local anick = table.concat({anicks}, \"_\")
           
      exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
              setPlayerName(thePlayer, anicks)
              exports.wls_info:addNotification(root,anicks .. \" adminszolgálatba lépett.\",\"info\")
                setPlayerNametagColor ( thePlayer, 0, 206, 209 )
             exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 1)
        end
        exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 0)
        if (adminduty==1) then
            local ernev = getElementData(thePlayer, \"eredetinev\")
            local anicks = getElementData(thePlayer, \"anick\")
           
            exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
            setPlayerName(thePlayer, ernev)
   
   
            exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"adminduty\", 0)
            exports.wls_info:addNotification(root,anicks .. \" kilépett az adminszolgálatból.\",\"info\")
        end
        mysql:query_free(\"UPDATE accounts SET adminduty=0 WHERE id = \" .. mysql:escape_string(getElementData(thePlayer, \"gameaccountid\")) )
        exports.global:updateNametagColor(thePlayer)
    end
end
addCommandHandler(\"adminduty\", adminDuty, false, false)
addCommandHandler(\"aduty\", adminDuty, false, false)

 

A setelementdatánál \"eredetineve\" van, a getElementData-nál pedig \"eredetinev\".

Admin név segítség
« Válasz #4 Dátum: 2016. augusztus 20. - 15:11:29 »
0 Show voters
Sajnos ez nem segített. Gondolom még van benne valami hiba, azért köszönöm.

Admin név segítség
« Válasz #5 Dátum: 2016. augusztus 20. - 15:43:36 »
0 Show voters
Idézetet írta: Milan0831 date=1471698689\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62748\" data-ipsquote-contentclass=\"forums_Topic
Sajnos ez nem segített. Gondolom még van benne valami hiba, azért köszönöm.
 
Így mit ír a debug?

Admin név segítség
« Válasz #6 Dátum: 2016. augusztus 20. - 15:49:18 »
0 Show voters
[2016-08-20 15:32:12] ERROR: Client (Sergio) triggered serverside event adminDuty1, but event is not added serverside
[2016-08-20 15:32:13] ERROR: Client (Sergio) triggered serverside event adminDuty0, but event is not added serverside
Ezeket spammeli a debug folyamatosan.

Admin név segítség
« Válasz #7 Dátum: 2016. augusztus 20. - 15:56:02 »
0 Show voters
addEvent(\"adminDuty1\", true)
addEvent(\"adminDuty0\", true)

 
btw. nem írtál el valamit? :D

Admin név segítség
« Válasz #8 Dátum: 2016. augusztus 20. - 15:59:20 »
0 Show voters
Idézetet írta: Milan0831 date=1471700958\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62748\" data-ipsquote-contentclass=\"forums_Topic
[2016-08-20 15:32:12] ERROR: Client (Sergio) triggered serverside event adminDuty1, but event is not added serverside
[2016-08-20 15:32:13] ERROR: Client (Sergio) triggered serverside event adminDuty0, but event is not added serverside
Ezeket spammeli a debug folyamatosan.
 
Az adminduty1 és az adminduty0 nevű event nincs hozzáadva a szerveroldalhoz. Magyarán az addEvent-et írhattad el.

Admin név segítség
« Válasz #9 Dátum: 2016. augusztus 20. - 16:24:34 »
0 Show voters
addEvent hozzáadva normálisan, köszönöm srácok. Viszont most már semmiféle hibát nem ír a debug minden full jó egyszerűen csak nem váltja vissza a nevet. Oda tök jól váltja debug is írja h megváltozott a nevem majd amikor kilépek semmi.

Admin név segítség
« Válasz #10 Dátum: 2016. augusztus 20. - 17:09:43 »
0 Show voters
Idézetet írta: Milan0831 date=1471703074\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62748\" data-ipsquote-contentclass=\"forums_Topic
addEvent hozzáadva normálisan, köszönöm srácok. Viszont most már semmiféle hibát nem ír a debug minden full jó egyszerűen csak nem váltja vissza a nevet. Oda tök jól váltja debug is írja h megváltozott a nevem majd amikor kilépek semmi.
 
m
Most jobban átnéztem és teszteltem. Lehet az lehet a problém hogy nem tudja honnan lekérni hogy mi az ic név. Oda szerintem tegyél be egy lekérést. Ha a zeró mysqlt használod ez magától értetődő honnan kell.
UI:Áve Toscani írom ezt jelentésekhez :)

Admin név segítség
« Válasz #11 Dátum: 2016. augusztus 20. - 19:59:23 »
0 Show voters
Idézetet írta: Milan0831 date=1471703074\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62748\" data-ipsquote-contentclass=\"forums_Topic
addEvent hozzáadva normálisan, köszönöm srácok. Viszont most már semmiféle hibát nem ír a debug minden full jó egyszerűen csak nem váltja vissza a nevet. Oda tök jól váltja debug is írja h megváltozott a nevem majd amikor kilépek semmi.
 
Elsősorban minek is van egybe a kettő? Írd meg két külön parancsba.

Admin név segítség
« Válasz #12 Dátum: 2016. augusztus 20. - 21:03:22 »
0 Show voters
Rendben, megpróbálok írni egy másikat.

Nem elérhető Xenius

  • 668
    • Profil megtekintése
Admin név segítség
« Válasz #13 Dátum: 2016. augusztus 20. - 22:32:11 »
0 Show voters
local anicks = getElementData(thePlayer, \"anick\") or \"Hiba a lekérdezéskor\"

Admin név segítség
« Válasz #14 Dátum: 2016. augusztus 21. - 01:28:19 »
0 Show voters
Újra lett írva az egész rendszer, mivel nem akart működni az előző. Viszont megint ugyanaz a problémám, hogy nem adja vissza a nevet. Több féle módon is próbáltam lekérni. Volt már külön funkció is névlekérésre, de próbáltam egy egyszerű getPlayerName-el is. Egyikkel sem működik, nagyon nagyon megköszönném ha valaki tudna ezzel is segíteni.
Itt a script anick funkció része:
 
function anick ( thePlayer, commandName, who, rank )
if (exports.global:isSuperAdmin(thePlayer)) then
        if not (who) then
   outputChatBox(\"#0086c9[Használat]#C4C4C4 Használd :/setanick [iD] [admin név]\", thePlayer, 255, 255, 255,true)
   outputChatBox(\"#0086c9[Használat]#C4C4C4 Ezzel A Parancsal Tudod Beállítani hogy Mi legyen Az Admin Neve\", thePlayer, 255, 255, 255, true)
else
            local targetPlayer, targetPlayerName = exports.global:findPlayerByPartialNick(thePlayer, who)
            if (targetPlayer) then
                 local getAccuratePlayerName = getPlayerName(thePlayer)
                 rank = rank
                 setElementData ( targetPlayer, \"anick\", rank )
       outputChatBox(\"#0086c9[Admin-Napló]:#C4C4C4 Beállítottad \" .. targetPlayerName .. \" admin nevét erre:#FF0202 \" .. rank .. \".\", thePlayer, 255, 255, 255,true)
       mysql:query_free(\"UPDATE characters SET anick = \'\" .. mysql:escape_string(rank) .. \"\' WHERE id = \" .. mysql:escape_string(getElementData( targetPlayer, \"dbid\" )) )
                 local targetAdminTitle = exports.global:getPlayerAdminTitle(targetPlayer)
            end
        end
    end
end

 
Illetve itt van a script azon része, hogy amikor bedutyzik egy admin átváltsa a nevét anickre, illetve vissza. Itt lesz valahol hiba úgy gondolom.
 
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 = getElementData(thePlayer, \"anick\") or getPlayerName(thePlayer)
        local pmid = getElementData(thePlayer, \"playerid\")
        if ( adminduty == 0 ) then
            local eredetinev = getPlayerName(thePlayer)
                setElementData(thePlayer, \"eredetineve\", eredetinev)         
   local anicks = getElementData(thePlayer, \"anick\")
            local anick = table.concat({anicks}, \"_\")
            exports[\'anticheat-system\']:changeProtectedElementDataEx ( thePlayer, \"adminduty\", 1 )
            outputChatBox(\"#7CC576\".. playerName .. \"#FFFFFF adminszolgálatba lépett! A#7CC576 /pm #7CC576\"..pmid..\"#FFFFFF paranccsal tudsz neki írni!\", getRootElement(), 255, 255, 255,true)
   exports.cf_info:addNotification(root,playerName .. \" adminszolgálatba  lépett!\",\"info\")
   exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
   setPlayerName(thePlayer, anicks)
   exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 0)
        else
    local eredetinev = getElementData(thePlayer, \"eredetineve\")
            exports[\'anticheat-system\']:changeProtectedElementDataEx ( thePlayer, \"adminduty\", 0 )
   exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 1)
   setPlayerName(thePlayer, eredetinev)
   exports[\'anticheat-system\']:changeProtectedElementDataEx(thePlayer, \"legitnamechange\", 0)
            outputChatBox(\"#7CC576\".. playerName .. \"#FFFFFF kilépett az adminszolgálatból!\", getRootElement(), 255, 255, 255,true)
   exports.cf_info:addNotification(root,playerName .. \" kilépett az adminszolgálatból!\",\"info\")
        end
        mysql:query_free ( \"UPDATE accounts SET adminduty=\" .. mysql:escape_string(getElementData(thePlayer, \"adminduty\")) .. \" WHERE id = \" .. mysql:escape_string(getElementData(thePlayer, \"gameaccountid\")) )
    end
end
addCommandHandler(\"adminduty\", adminDuty, false, false)
addCommandHandler(\"aduty\", adminDuty, false, false)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal