Tore mit Timer

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
  • Guten Tag liebe San Andreas Multiplayer Community.
    Ich bin neu hier und habe auch so langsam mich ins Scripting eingewöhnt und habe mir gedacht
    dass ich ein Tutorial mache und möchte auch gerne wissen was ihr davon hält.
    Ich mache das Tutorial weil es wenige gibt und ich auch die meinsten nicht richtig verstehe und
    dachte dass ich alles richtig erkläre.


    Schritt 1(Die Definierung):
    Ihr definiert erst mal euer Tor.Dies geht so:
    new Gate;


    Schritt 2(Das Gate):
    Um jetzt auch wirklich das Gate haben zu können müsst ihr das Objekt erst mal erstellen.
    Dafür musst ihr unter den Callback "OnGameModeInit".Dort erstellt ihr nun euer Objekt.
    Gate = CreateObject(ObjektID, XAchse,YAchse,ZAchse,RotateXAchse,RotateYAchse,RotateZAchse);

    Erklärung:
    "Gate" ist die Definierung(schaue Schritt 1).Die Objekt ID ist halt die Nummer des Objektes.X-,Y- und Z-Achse sind die Koordinaten wo sich das Objekt befindet.


    Schritt 3(Der Befehl zum öffnen des Gates):
    Um den Befehl zu machen damit ihr das Gate öffnen könnt müsst ihr als erstes unter den Callback "OnPlayerCommandText" gehen.
    Nun gebt ihr ein:
    if (strcmp("/gate", cmdetxt, true, 10) == 0)
    {
    MoveObject(Gate, XAchse,YAchse,ZAchse,5.0);
    SetTimer("Torschliessen",5000,0);
    return 1;
    }
    Erklärung:
    Mit "if (strcmp("/gate", cmdetext, true, 10) == 0)" erstellt ihr den Befehl."/gate" könnt ihr beliebig ändern, kommt drauf an
    wie ihr wollt wie der Befehl heissen soll.Mit der Schleife öffnet ihr nun den Befehl.
    "JoveObject(Gate, XAchse,YAchse,ZAchse,5.0" "Gate" ist die Definierung vom Tor(siehe Schritt 1),X-,Y- und Z-Achsen sind die
    Koordinaten wo das Tor stehen soll wenn man den Befehl eingibt."5.0" ist die Geschwindigkeit wie schnell es dort sein soll.
    "SetTimer("Torschliessen",5000,0)" Hiermit erstellen wir einen Timer."Torschliessen" ist die Definierung(wird gleich erklärt).
    "5000" bedeutet in wieviel Sekunden/Minuten es geschlossen werden soll nachdem wir den Befehl eingegeben haben.
    Die 5000 wird in Millisekunden angegeben also etwas rechnen sollte man auch können ^^ .
    Wegen der 0 weiss ich leider nicht Bescheid aber die muss da hin.


    Schritt 4(Definierung von "Torschliessen"):
    Nun definieren wir "Torschliessen",was wir beim Timer in Schritt 3 angegeben haben.Weil es auch eine Funktion haben soll wird
    es so definiert:
    forward Torschliessen();


    Schritt 5(Funktion von "Torschliessen"):
    Was fehlt noch ? Natürlich.Woher will man wissen was "Torschliessen" machen soll.Desswegen machen wir nun die Funktion und
    dies geht so:
    public Torschliessen()
    {
    MoveObject(Gate, XAchse,YAchse,ZAchse,5.0);
    return 1;
    }


    Erklärung:
    "public Torschliessen()" "Torschliessen" haben wir definiert(siehe Schritt 4).Mit der Schleife öffnen wir die Funktion.
    "MoveObject(Gate, XAchse,YAchse,ZAchse,5.0)" "Gate" ist die Definierung(siehe Schritt 1).X-,Y- und Z-Achse sind die
    Koordinaten wo es dann sein soll."5.0" ist die Geschwindigkeit wie schnell es dort sein soll.


    Schluss:
    Ich hoffe es ist für euch eine benutzerfreundliche und gut erklärtes Tutorial.Ich hoffe auf gute Bewertung ! :thumbup:


    Mit Freundlichen Grüßen
    Fringe


    Edit: Fehler behoben(cmdtxt in cmdtext)
    Edit: Text detailierter geschrieben.

    5 Mal editiert, zuletzt von Fringe ()

  • Fail
    Gate = CreateObject(OBJECTID,XAchse,YAchse,ZAchse,RotateXAchse,RotateYAchse,RotateZAchse);
    so ist es vll. richtig^^

  • Super , also ich find es gut ^^ für afänger und für noob Scripter ^^
    also ich gib dir


    10/10


    Und immer weiter so ^^


    MFG Ingo

  • Naja als ich angefangen habe wust ich nicht mal was das alle hheißt xD


    nicht mal


    x-achse,y-achse,z-achse


    war naja aber man sieht ich habs Gelehrnt


    MFG Ingo :thumbup:

  • Ich hab allles so gemacht wie es dort steht aber ich bekomme immernoch 2 Errors -.-
    Könnt ihr mir helfen?



    C:\Users\------\Desktop\Sa-Mp Server\Server Daten\gamemodes\bla.pwn(8316) : error 029: invalid expression, assumed zero
    C:\Users\------\Desktop\Sa-Mp Server\Server Daten\gamemodes\bla.pwn(8316) : error 004: function "Torschliessen" is not implemented



    PS:
    if (strcmp("/gate", cmdetxt, true, 10) == 0)
    {
    MoveObject(Gate, XAchse,YAchse,ZAchse,5.0);
    SetTimer("Torschliessen",5000,0);
    return 1;
    }
    Dort hast du dich Verschrieben bitte beheben Total Noobs wissen nicht weiter :D Ich erst auch nit xDD
    Bitte daraus "cmdtext" machen ;D

    Werke:



    !! Ich Mappe auf Anfrage !!

    Einmal editiert, zuletzt von Zottel ()