[SAMMELTHREAD] Kleine Scripting Fragen

  • Leider gibt es da doch Errors

    Sei doch mal spezifisch, was denn für Fehler? :D


    Warum geht es nicht?


    Beide Fahrzeugtypen haben die selbe Model-ID sind aber anders.

    Wat?


    Was genau möchtest du denn nun wissen? Ich werde aus deiner Fragestellung nicht schlau?


    Willst du wissen, ob das Fahrzeug diese modelid hat...oder möchtest du wissen in welchem Fahrzeug er ist und zu welcher der Variablen gehört?


    Bzw möchtest du wissen, ob es ein Fahrzeug von Typ A ist oder von Typ B?


    //Edit:


    Das mit dem Trash machst du einfach so:


    C
    1. new idx = random(sizeof(trash1));
    2. SetPlayerCheckpoint(playerid, trash1[idx][0],trash1[idx][1],trash1[idx][2]);

    ast2ufdyxkb1.png


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

  • @Madness Hoffe mal ich habe richtig verstanden was du meinst. Dein Code widerspricht etwas dem, was du erreichen möchtest. ?(

    public OnPlayerConnect(playerid) {
    new time[3];
    gettime(time[0], time[1], time[2]); // Stunde, Minute, Sekunde
    if(time[0] == 5 && time[1] >= 45) {
    ShowPlayerDialog(i,Dialog_Aufraeumen,DIALOG_STYLE_MSGBOX,""SERVER_NAME"","Der Server ist aufgrund Aufräumarbeiten unerreichbar.\nBitte versuche es in Kürze erneut.","Schließen","");
    Kick(playerid);
    }
    }

    Den Rest müsstest du einfach kicken.


    E-2: Formatierung..

  • @Kaliber
    Ja ich habe 2 Möglichkeiten.
    Einmal könnte ich die Vehicle-ID abfragen, aber dafür habe ich 2 Arrays.
    Oder ich frage die Model-ID ab.


    Die Vehicle-ID abfrage gefällt mir da lieber, da ich nicht weiß ob ich das Model noch wo anders nutzen möchte


    Code
    1. if(vehicleid == FahrzeugTypA[idx] || vehicleid == FahrzeugTypB[i])

    Das ist ja so blöd, da ich 2 Schleifen davor laufen lassen muss.


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

  • Das ist ja so blöd, da ich 2 Schleifen davor laufen lassen muss.

    Gibt hier 2 Möglichkeiten.


    ast2ufdyxkb1.png


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

  • Haha :D



    C
    1. new vehicleid = GetPlayerVehicleID(playerid);
    2. if(IsInAorB(vehicleid))
    3. {
    4. //...
    5. }
    6. else
    7. {
    8. //Nachricht das er nicht im Fahrzeug ist
    9. }

    Es ist egal, ob ich zu Fuß unterwegs bin oder im richtigen Fahrzeug er zeigt mir immer das nach der if Abfrage nie den else Teil.


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

  • if(IsInAorB(vehicleid))

    Achso, ja das wird nicht abgedeckt, schreibe die Funktion mal so:



    C
    1. stock IsInAorB(vehicleid)
    2. {
    3. if(!vehicleid) return 0;
    4. for(new i; i<sizeof(FahrzeugTypA); i++) if(vehicleid == FahrzeugTypA[i]) return 1;
    5. for(new i; i<sizeof(FahrzeugTypB); i++) if(vehicleid == FahrzeugTypB[i]) return 1;
    6. return 0;
    7. }

    Aber ist komisch, dass das geht...das bedeutet wohl, dass nicht alle Array-Felder Fahrzeugen zugewiesen wurden ;)

    ast2ufdyxkb1.png


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

  • Zitat von Kaliber

    das bedeutet wohl, dass nicht alle Array-Felder Fahrzeugen zugewiesen wurden

    Ja natürlich, die Einträge brauchen auch bisschen Platz.
    Nicht das die Einträge Klaustrophobie haben und mein ganzes System nicht mehr funktioniert. :whistling:


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

  • Das hier kommt raus


    Code
    1. SFR3.pwn(2500) : error 017: undefined symbol "string"
    2. SFR3.pwn(2500) : error 017: undefined symbol "string"
    3. SFR3.pwn(2500) : error 029: invalid expression, assumed zero
    4. SFR3.pwn(2500) : fatal error 107: too many error messages on one line


    Bei folgendem Code


    Code
    1. SendMessageEx(-1, -1, "{B0E66A}%s {CCCCCC} joined the server","%d ha entrado al servidor","{B0E66A}%s {CCCCCC}ha entrado no servidor", PI[playerid][P_NAME]);

  • Jaaa da steht doch der Fehler...


    Musst einfach drüber:


    new string [128];


    schreiben...


    Oder eben anpassen je nach Länge ;)

    ast2ufdyxkb1.png


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

  • Kann mir jemand helfen ein Blinker System mit Q (links) & E (rechts) in mein Script zu erstellen? Am besten sollte dann ein roter/orangenes Licht Objekt auftauchen.

    Gibts dafür nicht schon genug Systeme?


    https://breadfish.de/index.php?thread/71537-blinker-system/
    https://forum.sa-mp.com/showthread.php?t=72210
    https://forum.sa-mp.com/showthread.php?t=94122


    Einfach mal googeln? ^^

    ast2ufdyxkb1.png


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

  • Ich will nämlich herausfinden bzw. abfragen wem das Job-Fahrzeug gehört

    Das kannst du doch über die vehicleid herausfinden.


    Musst nur durch die Job-Fahrzeuge loopen und schauen, auf wen die Vehicleid zutrifft :)

    ast2ufdyxkb1.png


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

  • Ich speicher mir aber immer nur den Index, ich kann ja dann nicht abfragen ob "JobFahrzeug[playerid] == i" ist ?
    Da es ja noch andere Fahrzeuge mit dem Index gibt.


    Was passiert denn, wenn ich die VID speichere das Fahrzeug heißt Job1Fahrzeug[2], wenn ich das einer Variable gebe heißt die doch nicht auch Job1Fahrzeug[2] oder?


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

  • aber immer nur den Index

    Du kannst doch das rückwärts machen:



    Und dann bekommst du die playerid von dem Spieler, dem das Fahrzeug mit dem dazugehörigen index gehört :)

    ast2ufdyxkb1.png


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