Angepinnt Kleine-Scripting-Fragen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PXL schrieb:

      Hey ich wollte mal Wissen ob ich es realisieren kann als "Anfänger" beim Ultimate Gamemode die Option Spawn setzen zu entfernen.

      Dafür möchte ich dann allerdings das die Spieler dort wieder gespawnt werden wo Sie sich ausgeloggt haben.

      Reicht dafür eine normale function oder muss ich dafür dann auch eine Mysql abfrage machen?

      MfG
      PXL

      Harbin schrieb:

      Beim Disconnecten einfach die Koordinaten des Spielers in der Datenbank speichern und die Funktion rausnehmen die es ermöglicht den Spawn zu wechseln
      Wie @Harbin schön erklärt hat musst die die Koordinaten des Spielers abrufen und diese dann mit Hilfe von Mysql in deiner Datenbank speichern sodass beim nächsten Login die Koordinaten wieder abgerufen werden können
    • PXL schrieb:

      Hey ich wollte mal Wissen ob ich es realisieren kann als "Anfänger" beim Ultimate Gamemode die Option Spawn setzen zu entfernen.

      Dafür möchte ich dann allerdings das die Spieler dort wieder gespawnt werden wo Sie sich ausgeloggt haben.

      Reicht dafür eine normale function oder muss ich dafür dann auch eine Mysql abfrage machen?

      MfG
      PXL
      Also es schon möglich den letzten Punkt lokal abzuspeichern, aber mit der Datenbank würde das viel einfacher sein.

      dann machst du halt onQuit und dann machst du getElementPosition und dann speicherst du x y z ab

      MfG
    • PXL schrieb:

      Kann ich das auch in der DB bei Userdata mit speichern?
      Es ist doch sogar in der Datenbank (unter Userdata) vorgegeben.
      Spawn.png
      Du musst halt nur eine function erstellen die bei einem Disconnect die Koordinaten des Elements (Spielers) abfragt und abspeichert.
      Dazu könntest du z.B. das System aus der spawnpoints_server.lua kopieren, da du als Admin ja auch den Spawnpunkt "Hier" auswählen kannst.

      Quellcode

      1. if vioGetElementData ( player, "adminlvl" ) >= 1 then
      2. local x, y, z = getElementPosition ( player )
      3. vioSetElementData ( player, "spawnpos_x", x )
      4. vioSetElementData ( player, "spawnpos_y", y )
      5. vioSetElementData ( player, "spawnpos_z", z )
      6. vioSetElementData ( player, "spawnrot_x", getPedRotation ( player ) )
      7. vioSetElementData ( player, "spawnint", getElementInterior ( player ) )
      8. vioSetElementData ( player, "spawndim", getElementDimension ( player ) )
      9. triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nSpawnpunkt\ngeändert!", 5000, 0, 125, 0 )
      10. end
      Musst du halt nur überarbeiten!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von McMoneyxD ()

    • McMoneyxD schrieb:

      PXL schrieb:

      Kann ich das auch in der DB bei Userdata mit speichern?
      Es ist doch sogar in der Datenbank (unter Userdata) vorgegeben.Spawn.png
      Du musst halt nur eine function erstellen die bei einem Disconnect die Koordinaten des Elements (Spielers) abfragt und abspeichert.
      Dazu könntest du z.B. das System aus der spawnpints_server.lua kopieren, da du als Admin ja auch den Spawnpunkt "Hier" auswählen kannst.

      Quellcode

      1. if vioGetElementData ( player, "adminlvl" ) >= 1 then
      2. local x, y, z = getElementPosition ( player )
      3. vioSetElementData ( player, "spawnpos_x", x )
      4. vioSetElementData ( player, "spawnpos_y", y )
      5. vioSetElementData ( player, "spawnpos_z", z )
      6. vioSetElementData ( player, "spawnrot_x", getPedRotation ( player ) )
      7. vioSetElementData ( player, "spawnint", getElementInterior ( player ) )
      8. vioSetElementData ( player, "spawndim", getElementDimension ( player ) )
      9. triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nSpawnpunkt\ngeändert!", 5000, 0, 125, 0 )
      10. end
      Musst du halt nur überarbeiten!
      Hatte daran auch gedacht :)! Werde ich gleich mal ausprobieren!
    • McMoneyxD schrieb:

      PXL schrieb:

      Kann ich das auch in der DB bei Userdata mit speichern?
      Es ist doch sogar in der Datenbank (unter Userdata) vorgegeben.Spawn.png
      Du musst halt nur eine function erstellen die bei einem Disconnect die Koordinaten des Elements (Spielers) abfragt und abspeichert.
      Dazu könntest du z.B. das System aus der spawnpoints_server.lua kopieren, da du als Admin ja auch den Spawnpunkt "Hier" auswählen kannst.

      Quellcode

      1. if vioGetElementData ( player, "adminlvl" ) >= 1 then
      2. local x, y, z = getElementPosition ( player )
      3. vioSetElementData ( player, "spawnpos_x", x )
      4. vioSetElementData ( player, "spawnpos_y", y )
      5. vioSetElementData ( player, "spawnpos_z", z )
      6. vioSetElementData ( player, "spawnrot_x", getPedRotation ( player ) )
      7. vioSetElementData ( player, "spawnint", getElementInterior ( player ) )
      8. vioSetElementData ( player, "spawndim", getElementDimension ( player ) )
      9. triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nSpawnpunkt\ngeändert!", 5000, 0, 125, 0 )
      10. end
      Musst du halt nur überarbeiten!
      Wie kann ich den die Koordinaten in der DB speichern. Hab es nicht so mit mysql :/
    • PXL schrieb:

      McMoneyxD schrieb:

      PXL schrieb:

      Kann ich das auch in der DB bei Userdata mit speichern?
      Es ist doch sogar in der Datenbank (unter Userdata) vorgegeben.Spawn.pngDu musst halt nur eine function erstellen die bei einem Disconnect die Koordinaten des Elements (Spielers) abfragt und abspeichert.
      Dazu könntest du z.B. das System aus der spawnpoints_server.lua kopieren, da du als Admin ja auch den Spawnpunkt "Hier" auswählen kannst.

      Quellcode

      1. if vioGetElementData ( player, "adminlvl" ) >= 1 then
      2. local x, y, z = getElementPosition ( player )
      3. vioSetElementData ( player, "spawnpos_x", x )
      4. vioSetElementData ( player, "spawnpos_y", y )
      5. vioSetElementData ( player, "spawnpos_z", z )
      6. vioSetElementData ( player, "spawnrot_x", getPedRotation ( player ) )
      7. vioSetElementData ( player, "spawnint", getElementInterior ( player ) )
      8. vioSetElementData ( player, "spawndim", getElementDimension ( player ) )
      9. triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nSpawnpunkt\ngeändert!", 5000, 0, 125, 0 )
      10. end
      Musst du halt nur überarbeiten!
      Wie kann ich den die Koordinaten in der DB speichern. Hab es nicht so mit mysql :/
      Das hier ist der Quellcode aus der spawnpoints_server.lua zum Abspeichern der Koordinaten

      Quellcode

      1. dbExec ( handler, "UPDATE ?? SET ??=?, ??=?, ??=?, ??=?, ??=?, ??=? WHERE ??=?", "userdata", "Spawnpos_X", vioGetElementData ( player, "spawnpos_x" ), "Spawnpos_Y", vioGetElementData ( player, "spawnpos_y" ), "Spawnpos_Z", vioGetElementData ( player, "spawnpos_z" ), "Spawnrot_X", vioGetElementData ( player, "spawnrot_x" ), "SpawnInterior", vioGetElementData ( player, "spawnint" ), "SpawnDimension", vioGetElementData ( player, "spawndim" ), "UID", playerUID[pname] )
    • PXL schrieb:

      McMoneyxD schrieb:

      PXL schrieb:

      Kann ich das auch in der DB bei Userdata mit speichern?
      Es ist doch sogar in der Datenbank (unter Userdata) vorgegeben.Spawn.pngDu musst halt nur eine function erstellen die bei einem Disconnect die Koordinaten des Elements (Spielers) abfragt und abspeichert.
      Dazu könntest du z.B. das System aus der spawnpoints_server.lua kopieren, da du als Admin ja auch den Spawnpunkt "Hier" auswählen kannst.

      Quellcode

      1. if vioGetElementData ( player, "adminlvl" ) >= 1 then
      2. local x, y, z = getElementPosition ( player )
      3. vioSetElementData ( player, "spawnpos_x", x )
      4. vioSetElementData ( player, "spawnpos_y", y )
      5. vioSetElementData ( player, "spawnpos_z", z )
      6. vioSetElementData ( player, "spawnrot_x", getPedRotation ( player ) )
      7. vioSetElementData ( player, "spawnint", getElementInterior ( player ) )
      8. vioSetElementData ( player, "spawndim", getElementDimension ( player ) )
      9. triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nSpawnpunkt\ngeändert!", 5000, 0, 125, 0 )
      10. end
      Musst du halt nur überarbeiten!
      Wie kann ich den die Koordinaten in der DB speichern. Hab es nicht so mit mysql :/
      Ich habe dir hier mal was zusammengebastelt. Es sollte funktionieren.

      Quellcode

      1. function quitPlayer ( quitType )
      2. local pname = getPlayerName ( source )
      3. local x, y, z = getElementPosition ( source )
      4. vioSetElementData ( source, "spawnpos_x", x )
      5. vioSetElementData ( source, "spawnpos_y", y )
      6. vioSetElementData ( source, "spawnpos_z", z )
      7. vioSetElementData ( source, "spawnint", getElementInterior ( source ) )
      8. vioSetElementData ( source, "spawndim", getElementDimension ( source ) )
      9. outputChatBox ( getPlayerName(source).. " has left the server (" .. quitType .. ")" )
      10. dbExec ( handler, "UPDATE ?? SET ??=?, ??=?, ??=?, ??=?, ??=? WHERE ??=?", "userdata", "Spawnpos_X", vioGetElementData ( source, "spawnpos_x" ), "Spawnpos_Y", vioGetElementData ( source, "spawnpos_y" ), "Spawnpos_Z", vioGetElementData ( source, "spawnpos_z" ), "SpawnInterior", vioGetElementData ( source, "spawnint" ), "SpawnDimension", vioGetElementData ( source, "spawndim" ), "UID", playerUID[pname] )
      11. end
      12. addEventHandler ( "onPlayerQuit", root, quitPlayer )
      Alles anzeigen
      Ich weiß, es ist 0815 und hätte besser aussehen können, aber für umsonst ^^
    • Bin gerade echt überfordert und finde keine Lösung für mein Problem ._.
      Ich möchte für meine dxDraw library eine Möglichkeit einbauen, Fenster bewegen zu können.
      Ich bekomme es leider nur fürs Hauptfenster hin.. Ich weiß einfach nicht, wie ich die dazugehörigen children-Elemente an ihrer Position im Fenster behalten soll.
      (Sie bewegen sich zwar mit aber behalten einen größeren Abstand zum Hauptfenster)

      LUA-Quellcode

      1. local w, h = guiGetScreenSize()
      2. addEventHandler("onClientRender", getRootElement(),
      3. function()
      4. for i, v in ipairs(dxDrawElements) do
      5. if v.showing == true then
      6. if v.ID and not(v.ID == false) then
      7. if v.Movable == true then
      8. --Hier wird die Position vom Hauptfenster verändert! (funktioniert auch prima)
      9. local cX, cY = getCursorPosition()
      10. setPosition(v.ID, cX * w / 1.2, cY * h, v.W, v.H)
      11. for i, children in ipairs(dxDrawElements) do
      12. if children.Parent == v.ID and children.showing == true and not (children.ID == false) then
      13. local X = cX * w / 1.2
      14. local Y = cY * h
      15. ---- Hier von den children (da wirds für mich grenzwertig.. Keine Ahnung wie ich das lösen anpacken soll)
      16. setPosition(children.ID, X + children.MX, Y + children.MY, children.W, children.H)
      17. end
      18. end
      19. end
      20. end
      21. else
      22. v.Movable = false
      23. end
      24. end
      25. end)
      Alles anzeigen
      Mfg,
      KeksKing!
      Dateien
      Exetra-Play = mtasa://5.62.64.218:22003
      Discord: KeksKing#9206

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von KeksKing ()

    • Moin, ich habe ein kleines Problem.
      Ich würde gerne per Script die Originale "vehicle.txd" von GTA SA gegen eine eigene ersetzen. Jedoch kann ich per "engineImportTXD" nur .txd's auf vorhandene ID's setzen, leider hat die "vehicle.txd" keine ID. Hat da jemand evt. eine Lösung?
      „Habe Mut, dich deines eigenen Verstandes zu bedienen!"

      ~Immanuel Kant 1784~