Beiträge von Ka3ax

    ich habe die schon auf und runter durch. Dennoch sind viele Fragen offen, weil ich das nicht alles verstehe.


    Jetzt schreibe ich einen simplen Skript und komm nicht weiter. Der Skript macht nicht das was ich will und wo ich die Fehler des Clientseitigen Skripts sind, weiß ich auch nicht.

    Wenn ich funktionen Serverseitig und Clientseitig im Skripts habe, kann ich die gegenseitig so aufrufen als ob sie in einem und dem selben skript sind?


    Oder muss ich was beachten wenn ich aus dem serverseitigen Skript auf den clientseitigen aufrufe?


    Kann mir einer erklkären was der unterschied zwischen dem "root", "resourceRoot", "getRootElement" und wie versteht man den elemenen Baum?


    EDIT: und wie kann ich die fehler im clientseitigen Skirpt sehen? Also Debug clientseitig.

    parameter können auch als Variablen übergeben werden. Aufjeden fall ist die Tabelle nicht das problem. Hab jetzt eben überprüft und es läuft genau so wie ich es haben will. Nur das mit der Skin-ID schitert es. Dazu muss ich nur wissen was ich an stelle von "player" eintrage bzw. wie ich die beiden funktionen verändere das ich dei Skin-ID bekomme


    hab jetzt versucht darüber an die Skin-id zu kommen, dann hätte ich das schon mal erledigt, aber er gibt mir immer 0 an

    http://wiki.multitheftauto.com/wiki/OnPlayerSpawn

    ahso ja klar. Habe ich schon alles gemacht: Tabelle angelegt und ich frag auch ab ob die ID auf der Black liste steht.


    Was jetzt nur noch gemacht werden muss, ist es den spieler zu bestimmten. Also was anstelle von "player" rein muss um die ID zu bestimmen und die dann evtl zu ändern.

    deshalb ja.

    Wie muss ich jetzt die funktion umbauen, damit ich an die Skin-Id ran komme

    im groben sieht es so aus

    ich glaub ich kann einfach so "player" nicht verwenden, da ich dan in der chat ausgabe "false" bekommen, also das es mit der bestimmtung nicht hingehauen hat. Da müsste normal eine zahl erscheinen, also die Skin-ID

    Lua
    function playerSkin(skin_zombie) 
    local skin = getElementModel(player) -- vom Spieler der Skin 
    outputChatBox(skin) 
    for i=0, 33, 1 do 
    if (skin_zombie[i] == skin) then 
    setElementModel(player, 0) -- Spielers Skin ändern 
    end 
    end 
    end


    PS: die tabelle "skin_zombie" wird in der funktion definiert, die die obere funktion aufruft. Also war nicht absichtig das ich eine neu tabelle erstelle, sondern das es eine tabelle erwartet wird.

    Habe ich ein neue tabelle erstellt? also ist der Parameter so OK?

    ich möchte vom Spieler auf eine bestimmte Skin id prüfen die in der Blacklist steht. Wenn die Skin id in der Blacklist enthalten ist, soll der skinn geändert werden.

    Dazu habe ich die funktion geschrieben, ich weiß aber nicht genau wie ich auf die Spiler skin zugreife. Wir das in der server oder Clientseite ausgeführt?

    Die funktion wird aus ein anderen Funktion aufgerufen, weiß nicht ob das wichtig ist.

    Lua
    function playerSkin(skin_zombie)  -- skin_zombie ist ein table mit den black listed skinst
       local skin = getElementModel("spieler")  -- vom Spieler der Skin
       for i=0, 33, 1 do
          if (skin_zombie[i] = skin) then
             setElementModel("spieler", 0) -- Spielers Skin ändern
          end
       end
    end

    hab den Code

    beim eingeben vom Befehl "/spawnbot" wird wunderbar ein bot erstellt.


    wenn ich aber spawn, dann kommt die Fehlermeldung

    Code
    ERROR: xyz/server.lua:13: attempt to perform arithmetic on local 'y' (a nil value)

    wieso, weshalb, warum?

    allso bei einer metzgerei von 300 Spieler auf dem Server, hat der ordentlich was zu tun?!


    Kann man das nicht irgendwie so machen


    so in der Art, kenn mich mit LUA ned so aus. Aber so würde der server nur was zu tun wenn der spieler den Kreis betrift und verlässt. Viel ressourcen schonnender

    Ich bin neu bei LUA, also kann ich dir keinen fertigen Code liefern.

    Aber in dem Mod "hay" kannst du auch nichts schlagen. Die verwenden in der Datei "Hay_client.lua" in der Zeile 71 das hier

    http://wiki.multitheftauto.com/wiki/ToggleControl


    es müsste also etwas mit

    Lua
    toggleControl ( player thePlayer, "fire", false)

    zu tun haben...nur muss dieses "player thePlayer" durch den spieler ausgetauscht werden.

    Davor musst du natürlich prüfen ob der Spieler sich in der Ruhezone befindet


    Evtl. kann einer was damit anfangen und dir den fertigen code geben

    das ist ja auch genau das selbe was ich drin stehen hab...den noch funzt es irgendwie nicht.

    Der Rückgabe Typ ist string von getBotMode. Die Fehlermeldung sagt auch das diese leer ist und nicht vom falschen Typ

    http://wiki.multitheftauto.com/wiki/Slothman/Slothbot#getBotMode

    Hier das ist der komplette Code


    Der Bot spawn, läuft und versucht mich zu killen. Was muss ich jetzt im klartext machen damit ich den Modus von dem Bot in der Chat box angezeigt bekomme?

    sind dei Skins eigentlich Uhrheberrechtlich geschützt?

    Ich hab mir den Slothbot runtergeladen und möchte ien paar Zombies einfügen der Script von DayZ enstpricht nicht ganz meinen Vorstellungen aber die Skins sind ganz klasse. Kann ich die in meinem Script verwenden?

    sorry hab die Fehlermeldung komplett vergessen.

    Also ich hab jetzt auf beide Art und weise Probiert

    Lua
    local bot1 = call (getResourceFromName("slothbot"), "spawnBot", x, y+6, z, rot, skin, interior, dimension, team, weapon, mode, modesubject) 
    local bot2 = exports.slothbot:spawnBot(x, y+6, z, rot, skin, interior, dimension, team, weapon, mode, modesubject) 
    outputChatBox("bot1: ".. call (getResourceFromName("slothbot"), getBotMode(bot1))) 
    outputChatBox("bot2: ".. exports.slothbot:getBotMode(bot2))

    der gibt mir folgende Fehlermeldung zurück

    Code
    ERROR: server.lua:19: attempt to call global 'getBotMode' (a nil value)

    Zeile 19 ist die erste zeile mit der Ausgabe.

    Die fehlermeldung wander aber irgendwie immer, wenn ich zb. "getBotTeam" versuche, dann sagt er das es ein bool ist obwohl team als String hinterlegt wurde.


    wenn ich die beiden ausgabezeilen vertausche, dann kommt folgendes zurück

    Code
    ERROR: server.lua:19: attempt to concatenate a nil value

    muss da evtl irgendwo dieses "root" rein?

    ich bin neu bei MTA-Scripts. Das Problem ist bestimmt ganz simpel nur blicke ich es irgendwie ned durch

    Um ein Bot zu erstellen habe ich slothbot auf den Server geschoben und mit dem Befehl erstelle ich ein Bot. Das alle funtz wunder bar

    Lua
    call (getResourceFromName("slothbot"), "spawnBot", x, y+6, z, rot, skin, interior, dimension, team, weapon, mode, modesubject)

    Nun lebt aber der Bot weiter obwohl der spieler schon längst tot ist, den er jagen sollte. Also habe ich mi überlegt einen Bot in eine Varibale zu schieben um so die Kontrolle über ihn zuhaben. Ich hab das so versucht

    Lua
    local bot1 = call (getResourceFromName("slothbot"), "spawnBot", x, y+6, z, rot, skin, interior, dimension, team, weapon, mode, modesubject) 
    outputChatBox(getBotMode(bot1))

    Das ist aber scheinbar falsch. Wie mache ich das richtig?

    XML ist jedoch auch sehr Unsicher.... sollte mal der FTP oder so gehackt werden dann können alle Daten gestealt werden und ich glaube Rechtlich kann das verfolgt werden und wenn man die SQL DB gut schützt ist es eh viel besser SQL speichern ist iwo cool :P
    Hätte ich jemand der mir helfen würde komplett MySQL zu erklären etc. würde ich sowas machen ^^


    wen der FTP gehackt wird, dann ist es wurscht ob du es in XML speicherst oder nicht. Aber um XML zu "stealen" braucht man gar nichts zu hacken. Man muss nur wissen wo sich die Datei befindet und der Webserver muss laufen.

    Rechtlich kann nichts verfolgt werden. Dein server du kannst es machen wie du willst. Solange es nicht gegen rechte verstößt. In dem Fall nicht.

    XML wurde ursprunglich zum Datenaustausch erfunden. Zwar gibt es ein Abschlag von XML der auch als Datenbank funzen kann, das hat sich aber immer nocht nicht durchsetzen können.

    Wenn dir die interne DB zur verfügung steht, dann ist es die beste wahl.