[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
  • @Der Lümmel:
    Naja das ist nicht so einfach, such ma nach 'SAMP Pathfinder', sowas gibts eig nur für FCNPC bzw NPC Implementationen ^^ Das nennt man Pathfinding, dazu kannst du das ColAndreas Plugin oder das Cimulator Plugin nutzen, würde ich auf die schnelle so sagen, da du dazu die SanAndreadMap brauchst, die aktuelle Position und die Position vor dir, mit der du checkst ob es ein Objekt aus SanAndreas gibt. Falls es von dir erstellt wurde, speichere alle Objekte in nem Array und frage die Position ab oder nutze direkt ein StreamerPlugin.

  • Hi, weiß jemand warum mein Timer nicht so funktioniert wie gewollt? (Screen im Anhang)




    Timer in OnGameModeInit SetTimer("UpdateRoundTime", 800, true);


    Das Problem ist das manchmal der Timer nicht mehr runtergezählt wird, sondern hochgezählt wird und das Format ändert sich auch. Standart soll es so sein 9:58.

  • @[LnD]JustMe.77 :
    Ich gcke gerade nur mit Handy drüber aber vllt weil du den Textdraw nicht updatest. Du musst nach ner String / Teständerung immer Textdraw.hide() und show() benutzen, genauso bei Farben.


    //edit okay hab jetzt das problem verstanden, dann sorry meins wird dir nicht helfen ^^
    Ein Problem was ich vllt sehe ist dass du gleich am Anfang RoundSeconds runterzählst, wenn nun RoundSeconds standart 0 ist dann wird er beim initialisieren auf -1 verschoben und somit fortan immer weiter runterzählen, da die Bedingung RoundSeconds == 0 nie erfüllt wird. Also Entweder beim Initialize richtig setzen falls es nicht gesetzt ist oder die Abfrage in "if(RoundSeconds <= 0)" ändern.

  • seit der neuen Version gibt's einen neuen Sirenen Parameter bei der Carerstellung. Hab mir den noch nicht genauer angeschaut könnte aber dein Problem lösen.

    Das ist nur die "Hupe" die den Sound macht, kenn ich schon ^^.



    Kannst sonst einfach auch [wiki]AttachObjectToVehicle[/wiki] nehmen (extra für Fahrzeuge, somit besser für dich geeignet) und um die Positionen raus zu finden gibt es gute filterscripts, einfach mal googlen

    Werde ich mal testen, Danke :P
    Filterscripts zu finden ist leider schwierig, da die meisten im samp forum sind und dies down/gelöscht ist

    SA:MP in 2020?

  • Vom Prinzip her kannst du das so machen:
    Unter den Includes:
    new sirenID[MAX_VEHICLES] = {-1, ...};


    Beim hin-machen:
    new vehicleid = GetPlayerVehicleID(playerid);
    sirenID[vehicleid] = CreateObject(/*...ausfüllen...*/);
    AttachObjectToVehicle(sirenID[vehicleid], vehicleid, /*...ausfüllen...*/);


    Beim entfernen und dort wo das Fahrzeug gelöscht wird:
    DestroyObject(sirenID[vehicleid]);
    sirenID[vehicleid] = -1;

  • Hab bloß noch ne Frage, was ist das hinter MAX_VEHICLES} = {-1, ...} ?

    Hey, danke!

    SA:MP in 2020?

  • Hab bloß noch ne Frage, was ist das hinter MAX_VEHICLES} = {-1, ...} ?

    Das heißt, dass alle Indizes (von 0 bis MAX_VEHICLES-1) auf -1 gesetzt werden, zum Deklarationszeitpunkt.
    Sonst wäre er 0, es gibt ja aber ein Objekt mit der ID 0, daher geht das nicht, sondern man muss eine andere Zahl (in dem Fall -1) nehmen.

  • Dann kannst du es so machen:
    if(!strcmp(cmdtext, "/sirene", true, 7))
    {
    if(strlen(cmdtext) == 7) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
    else if(cmdtext[7] == ' ')
    {
    if(!strlen(cmdtext[8])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
    if(!strcmp(cmdtext[8], "an", true))
    {
    //an
    }
    else if(!strcmp(cmdtext[8], "aus", true))
    {
    //aus
    }
    else return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /sirene [an/aus]");
    return 1;
    }
    }

  • Code
    public OnPlayerDisconnect(playerid, reason)
    {
        //Speichere den Spieler wenn er der Server verlässt
    	SaveUserStats(playerid);
    	return 1;
    }


    Aus Jeffry's MySQL Tutorial, wieso speichert er bei mir die Stats nicht?

    SA:MP in 2020?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen