Admin parancs (ACL)

Indította Lorain, 2017. január 25. - 21:14:40

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

Lorain

Üdv!
 
Hogyan valósítható meg, hogy újraindítható legyen egy adott resource erre a parancsra /restart [Resource Neve] és kiírja pl.: Resource újraindítva \"runcode-system\"
 
Természetesen ACL jogon keresztül, nem RPG - szerverhez kellene!
 
Köszönöm!!!

AlexSwamp

ACL jog nélkül is megoldható például serial alapon. :)
Link hozzá:https://wiki.multitheftauto.com/wiki/RestartResource\" rel=\"external nofollow\">https://wiki.multitheftauto.com/wiki/RestartResource

Robika1

\"ACL jog nélkül is megoldható\"
 
Ha jól tudom, akkor a modnak amibe benne van a restartResource, annak kell ACL jog az újraindításhoz. Egy próbát megér, de 100% hogy access denied-et fog dobni
 
Egyszerűbb akkor már magad berakni adminnak, és nem kell restartResource, meg ahhoz külön mod, meg ilyen jog olyan jog, stb.

AlexSwamp

Idézetet írta: Robika1 date=1485386726\"ACL jog nélkül is megoldható\"
   
   
      Ha jól tudom, akkor a modnak amibe benne van a restartResource, annak kell ACL jog az újraindításhoz. Egy próbát megér, de 100% hogy access denied-et fog dobni
   
      Egyszerűbb akkor már magad berakni adminnak, és nem kell restartResource, meg ahhoz külön mod, meg ilyen jog olyan jog, stb.
   


Nem arra gondoltam én ezzel az ACL jog résszel, hanem hogy ne kelljen belépkedni (+ biztonsági rést felesleges adni az emberek kezébe), illetve ha simán admin rangra teszi, az megint csak szopó, mert jön mondjuk egy SQL inject és máris van adminja és tudja használni az összes parancsot. Mondjuk serial-t is lehet trükközni, de ahhoz azért már egy szintű tudás kell (ha jó tudom lehet ilyesmit is csinálni). :D

Lorain

Ez lenne az alap script, amit Vallhalából néztem:
 

function restartResource( thePlayer, commandName, resourceName )
local theResource = getResourceFromName(tostring(resourceName))
if (theResource) then
   if getResourceState(theResource) == \"running\" then
      restartResource(theResource)
      outputChatBox( \"Resource \" .. resourceName .. \" újraindítva.\", thePlayer, 0, 255, 0 )
   end
end
end
addCommandHandler ( \"restart\", restartResource )

 
az a probléma, hogy újraindítani újra indítja, de semmi válasz üzenetet nem kapok (gondolok ez alatt a outputChatBox-részre) esetleg valaki tudná javítani?

Kriszu025

#5

function restartResource( thePlayer, commandName, resourceName )
local theResource = getResourceFromName(tostring(resourceName))
if (theResource) then
   if getResourceState(theResource) == \"running\" then
      restartResource(theResource)
      outputChatBox( \"Resource \" .. resourceName .. \" újraindítva.\", thePlayer, 0, 255, 0 )
   end
end
end
addCommandHandler ( \"restart\", restartResource )

 
Asszem így lesz jó

Lorain

valamiért még mindig nem kapok visszajelzést a \"outputChatBox\"-tól!

ustanmufj

Server vagy Kliens oldalban van a scirpt?

Lorain


ustanmufj

Vedd ki a paraméterek közül a thePlayer-t.

AlexSwamp

Idézetet írta: thegergo02 date=1485712376Vedd ki a paraméterek közül a thePlayer-t.
   


Szerver oldalon kell oda egy argument, hogy kinek fusson le, főleg ha utána van rgb és coloredCode engedélyezve, különben hibát fog ismét kapni. Mondjuk nem árt, ha nem azonos a function neve és az egyik meghívott function. :)

Lorain

#11
Még mindig nem sikerült megoldanom, várok még segítségeket! Újra indítja de semmi értesítést nem kapok vissza!
 

-- restart resources
function restartRes( thePlayer, commandName, resourceName )
if ( resourceName ) then
   local resource = getResourceFromName( resourceName )
   local restart = restartResource(resource)
      if (restart) then
      outputChatBox(\"Resource újraindítva\" .. resourceName .. , thePlayer, 0, 255, 0)
      else
      outputChatBox ( resourceName .. \"Hiba!\", thePlayer, 255, 0, 0 )
   end
end
end
addCommandHandler ( \"restart\", restartRes )

 
köszönöm!..

AlexSwamp

#12
Nálam így nézz ki és működik is. :)
 

addCommandHandler(\"res\",
    function(player, cmd, res)
   if enabledSerials[getPlayerSerial(player)] then
            local res = getResourceFromName(tostring(res))
            if res then
                restartResource(res)
         outputChatBox(\"A resource újraindítva.\", player)
            end
        end
    end
)