Spieler gebundene Variablen

A new update is now available, introducing seasons and more!
Latest hotfix: 0.8.0.1 (2024-12-20)
  • Germany:

    Hallo Leute,


    Ich habe stehe momentan etwas neben der Spur weiß jemand wie man
    Spieler gebundene Variablen macht?


    zb.


    [lua]
    Variable[event.player] = 1
    [/lua]
    _______________________________________________________________


    English:


    Hi Guys,


    I'm a little absent at the time does anyone know how to
    Player bound variables makes?


    for example.


    [lua]
    Variable [event.player] = 1
    [/lua]

  • You know the problem variable is set


    [lua]
    function SendMessageToAdmin(msg)
    for i = 0, MaxPlayerSlots do
    if playeronline[i:getPlayerName()]:isAdmin() then
    playeronline[i:getPlayerName()]:sendTextMessage(timePrefix{text=""..msg})
    end
    end
    end
    [/lua]

  • EN: It is also possible to set player attributes directly (you use a key [has to be a string] and a value [can be any kind of object]):
    DE: Du kannst Spielerattribute auch direkt setzen (dazu muss ein Key [muss ein Text bzw. String sein] und ein dazugehöriger Wert [jeder Objekttyp möglich] gesetzt werden):


    [lua]event.player:setAttribute("Job", "Worker");
    event.player:setAttribute("Money", 420);


    local job = event.player:getAttribute("Job"); -- returns "Worker" as string
    local money = event.player:getAttribute("Money"); -- returns 420 as integer[/lua]

  • I'm not sure, but what is playeronline in your code ? Is this an array ? A function ? What is it returning ?


    If playeronline is an array, returning I'm assuming a Player Object, you should try something like :



    [lua]function SendMessageToAdmin(msg)
    for i = 0, MaxPlayerSlots do
    actualPlayer = playeronline[i];
    if actualPlayer:isAdmin() then
    actualPlayer:sendTextMessage(timePrefix{text=""..msg})
    end
    end
    end[/lua]

  • It is also possible to set player attributes directly (you use a key [has to be a string] and a value [can be any kind of object]):


    [lua]event.player:setAttribute("Job", "Worker");
    event.player:setAttribute("Money", 420);


    local job = event.player:getAttribute("Job"); -- returns "Worker" as string
    local money = event.player:getAttribute("Money"); -- returns 420 as integer[/lua]


    Are thoose attributes stocked somewhere ? Are they persistant ?

  • Noch mal auf deutsch bitte kann das mein SendMessage Problem lösen.


    Das SendMessage Beispiel wird so in der Form wahrscheinlich nicht funktionieren. Welchen Wert hat denn die Variable "MaxPlayerSlots"? ID's werden momentan einmalig verwendet, auch nach dem Disconnect des Spielers wird die ID nicht wiederverwendet (was dazu führt, dass die ID's immer höher gezählt werden). Das wird später geändert.
    Es gibt eine Funktion, um alle Spieler als Tabelle zu erhalten, die muss allerdings noch korrigiert werden (voraussichtlich fürs nächste Update) ;)


    Are thoose attributes stocked somewhere ? Are they persistant ?


    Those attributes are valid as long as the server is running. If you shutdown the server, the attributes will be lost (but it's no problem to save the attributes, and load and set them on server start) ;)

  • Quote


    Das SendMessage Beispiel wird so in der Form wahrscheinlich nicht funktionieren. Welchen Wert hat denn die Variable "MaxPlayerSlots"? ID's werden momentan einmalig verwendet, auch nach dem Disconnect des Spielers wird die ID nicht wiederverwendet (was dazu führt, dass die ID's immer höher gezählt werden). Das wird später geändert.Es gibt eine Funktion, um alle Spieler als Tabelle zu erhalten, die muss allerdings noch korrigiert werden (voraussichtlich fürs nächste Update)


    [lua]MaxPlayerSlots = 2[/lua]


    Hab ein 2 Slots test server

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!