[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • MaxLiter - liter = Rest?

    Wenn ich es so mache,


    Tanke[tankeID][tMaxLiter]-Tanke[tankeID][tLiter]


    Zeigt er mir über 10.000 L an anstatt 4 Liter

  • Beitrag von ARCADION ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fehler gefunden. ().
  • Hey!
    Lasse mir die VID von einem Fahrzeug bei einem Checkpoint Durchlauf speichern.
    Jetzt habe ich einen Anhänger attached.


    Die Trailer werden alle in einem Array erstellt FSTrailer[10]
    Am Ende benutzte ich ja SetVehicleToRespawn und dann die gespeicherte Vehicle-ID.
    Was könnte ich machen?


    @Kaliber
    Bei deinem Checkpoint-Include (2016) frage ich mich, wie ich abfragen kann, ob er im 3. Checkpoint ist und dementsprechend nur für diesen Checkpoint eine abfrage mache.
    Habe in deinem Include geschaut, NextCheckpoint wäre ja was, aber wie wende ich das an,
    wenn struct ~Points1~ und die Route Route1 ist?
    Würdest du mir das zeigen, entfällt meine erste Frage :D

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Buenos dias,
    ich erstelle derzeitig ein Fraktionsauto System. Nun habe ich eine Frage.
    Ich speichere meine Car´s mit einer db_id und einer f_id(fraktions_ID), nun meine Frage, kann man die Sache schöner lösen?
    Es könnte doch rein theoretisch zu einer ID verschiebung kommen oder?
    ___


    Dazu kommt noch das mein /parkfcar spinnt.
    COMMAND:parkfcar(playerid)
    {
    new query[512], string[256], Float:pos_x, Float:pos_y, Float:pos_z, Float:pos_r, currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    if(PlayerInfo[playerid][pFraction] == 0)return SendClientMessage(playerid, COLOR_ERROR, "Du bist in keiner Fraktion");
    if(PlayerInfo[playerid][pRang] < LEADER_RANG)return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
    if(FcarInfo[GetPlayerVehicleID(playerid)][f_id] == PlayerInfo[playerid][pFraction]){
    GetVehiclePos(currentveh, pos_x, pos_y, pos_z);
    GetVehicleZAngle(currentveh, pos_r);
    mysql_format(handle, query, sizeof(query), "UPDATE frakcars SET `pos_x` = '%f', `pos_y` = '%f', `pos_x` = '%f', `pos_r` = '%f' WHERE `db_id` = '%d'", pos_x, pos_y, pos_z, pos_r, currentveh);
    mysql_pquery(handle, query, "","");
    format(string,sizeof(string),"Du hast das Fahrzeug erfolgreich umgeparkt");
    SendClientMessage(playerid, -1, string);
    }else{
    SendClientMessage(playerid, COLOR_ERROR, "Das Fahrzeug gehört nicht zu deiner Fraktion.");
    }
    return 1;
    }



    Er sagt mir dauernd das dass auto nicht zu meiner Fraktion gehört.

  • Würdest du mir das zeigen, entfällt meine erste Frage

    Gibt doch extra ein super Beispiel mit allen Möglichkeiten in dem Thread :)


    Da gibt es:


    x = GetRouteCounter<TEST_ROUTE>(playerid);


    x entspricht jetzt der Zahl im wie vielten Checkpoint du von der Route bist. Kannst einfach prüfen, ob x 3 ist und dann weißt du, dass er im 3. Checkpoint von der Route ist :D


    Schau dir die Spoiler nochmal an: https://breadfish.de/index.php…ckpoint-routen-ersteller/



    Er sagt mir dauernd das dass auto nicht zu meiner Fraktion gehört.

    Ich muss gestehen, das ist etwas zu wenig Code und ich bin gerade etwas zu unmotiviert das alles durch zu gehen.
    Eventuell hilft dir ja das Tutorial weiter: [jTuT] Fraktions-Fahrzeug-System mit MySQL R39-5

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von ARCADION ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fehler gefunden. ().
  • Beitrag von ReborN ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • carhealth = floatround(oldhealth-rand);

    Schreib das mal lieber so:


    carhealth = floatsub(oldhealth, rand);


    Und ich vermute die Variable carid hat einen falschen Wert.


    Da du die mit GetPlayerVehicleID(botid) abfragst.


    Ist denn der Bot wirklich in dem Fahrzeug?


    Nutze doch lieber direkt hitid :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • @Kaliber


    Danke hab das mit floatsub nun korrigiert,
    sowie auch die "hitid" verwendet (hatte ich heute schon einmal probiert).


    Problem besteht weiterhin, dass er mir zwar den neuen Health wieder anzeigt, jedoch weiterhin die 978 bleibt :D



    //edit
    Ja bin mir sicher, dass der Bot im Fahrzeug sitzt, da ansonsten ein andere public aufgerufen wird, wo dann das "System" abgebrochen wird



    //edit 2
    @Kaliber
    Fehler gefunden, wenn das Fahrzeug die ID 1 hat, funktioniert es komischerweise nicht (wieso auch immer).
    Lasse ich es als "2" erstellen, funktioniert es so, wie es soll ?(

    Einmal editiert, zuletzt von ReborN ()

  • Fehler gefunden, wenn das Fahrzeug die ID 1 hat, funktioniert es komischerweise nicht (wieso auch immer).

    Also ich habe das mal eben getestet, ich kann auch bei vehicleid 1 die health ändern.


    Eventuell hast du ein Anti-Cheat oder so was da macken macht?


    oder irgendwo was?


    Keine Ahnung, aber dann gut, dass du es gelöst hast :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich benutze ein Racecheckpoint im Type 3.
    Ich habe dazu ein new bool:tmp_inCheckpoint0001[MAX_PLAYERS];


    Ich setzte es auf true;  beim setzten vom Checkpoint.
    Allerdings, wenn ich unter OnPlayerEnterCheckpoint(playerid) die Abfrage mache, funktioniert es nicht.


    Habe ich etwas übersehen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • C
    for(new i = 0; i < sizeof(PCar[]); i++)
    					{

    Das ist die Schleife für die Fahrzeuge in einem Dialog.
    Wenn ich das Fahrzeug dann auswähle, oder andere Variablen benutzten möchte benutzte ich dann [listitem] für die "Schlüssel-ID".


    Jetzt will ich 2 Dialoge weiter die selbe Schlüssel-ID wissen um kein falsches Fahrzeug auszuwählen, was kann ich tun?
    Ich kann ja dann nicht wieder listitem benutzten...

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()

  • Beitrag von ARCADION ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • inwiefern falscher Pfard wen ich die console öffne schließt die sich wegen den scriptfile.

    ...dann lass doch mal crashdetect laufen...
    was wird denn gesagt?


    Falscher Pfad im Sinne von vllt versucht er auf eine Datei zuzugreifen mit fread die nicht existiert, das verursacht einen Server-Crash.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • C
    new query[256];
    				mysql_format(handle, query, sizeof(query), "UPDATE personalcars SET P_KZ = %d",PCar[playerid][i][P_KZ]);
    				mysql_pquery(handle,query);

    i ist ein pVar also keine Schleife, aber warum setzt er das Kennzeichen für alle Fahrzeuge so.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.