Beiträge von Timtrucker

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,BLAU,"Du hast den Registrierungsvorgang abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen (inputtext))
    { // hier soll der Error sein ???
    Register(playerid,inputtext);
    SendClientMessage(playerid,BLAU,"Bitte gebe ein Passwort an!");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte wähle ein Passwort aus um dir ein Account anzulegen!","Registrieren","Abbrechen");
    }
    return 1;
    }
    }
    return 1;
    }


    Jetzt? ;)

    Hallo DJ,
    Also das ist zwar ein bisschen schreibarbeit aber das kriegst du schon hin. Ich habe dir mal etwas gemacht:


    Das kommt ganz oben ins Script unter deinen Includes:
    enum EventINFO
    {
    NameDesEvents[50],
    Float:Spawnx,
    Float:Spawny,
    Float:Spawnz
    }


    new Event[1][EventINFO] = {
    {"Name des Events",10.0, 20.0, 30.0} // Die Coordianten des Evnets kannst du ändern (Wo halt dein Event stadtfindet) und den namen halt auch
    };


    new eventstartet = 0;
    new Objekt[3]; // Die 3 steht für die Anzahl deiner Objekte. Musste halt je nach Menge deiner Objekte genau anpassen


    Jetzt haben wir alle Variablen die wir erst einmal Brauchen
    als nächstes kommen die Befehle damit das Event starten, Es wieder Endet und die User Joinen können:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/eventstart", cmdtext, true, 10) == 0)
    {
    if(IsPlayerAnAdmin(playerid))
    {
    if(eventstartet == 0)
    {
    ObjekteSpawnen(); //Aufrufen der Funktion "ObjekteSpawnen"
    new string[500];
    format(string, sizeof(string),"%s hat soebend begonnen! Alle die mitmachen wollen /eventjoin eingeben",Event[0][NameDesEvents]);
    SendClientMessageToAll(0x00E1FFFF,string);
    eventstartet = 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Das Event hat schon gestartet");
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Du bist kein Admin");
    }
    return 1;
    }
    if (strcmp("/eventjoin", cmdtext, true, 10) == 0)
    {
    if(eventstartet == 1) // Abfrage ob das Event schon gestartet hat
    {
    SetPlayerPos(playerid,Event[0][Spawnx], Event[0][Spawny], Event[0][Spawnz]); // Teleportiert den Spieler zum Event
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Das Event hat noch nicht gestartet");
    }
    return 1;
    }
    if (strcmp("/eventende", cmdtext, true, 10) == 0)
    {
    if(IsPlayerAnAdmin(playerid))
    {
    if(eventstartet == 1)
    {
    eventstartet = 0;
    ObjekteVerschwinden();
    new string[500];
    format(string, sizeof(string),"%s ist zuende. Es kann niemand mehr kommen",Event[0][NameDesEvents]);
    SendClientMessageToAll(0x00E1FFFF,string);
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Das Event hat noch nicht gestartet");
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Du bist kein Admin");
    }
    }

    return 0;
    }


    Die Befehle sind dann auch drinne. Jetzt müssen wir noch die Objekte Spawnen lassen
    das kannste ganz unten ins Script einfügen:


    stock ObjekteVerschwinden()
    {
    for(new i=0; i < sizeof(Objekt); i++)
    {
    DestroyObject(Objekt[i]); // Alle Objekte werden gelöscht
    }
    }
    stock ObjekteSpawnen()
    {


    Objekt[0] = CreateObject(111, 10.0, 10.0, 10.0, 0, 0, 0); //Objekt wird erstellt. Ersetze das CreateObject(..) durch dein Objekt
    Objekt[1] = CreateObject(222, 20.0, 20.0, 20.0, 0, 0, 0); // 2. Objekt wird erstellt. Ersetze das CreateObject(..) durch dein Objekt
    Objekt[2] = CreateObject(333, 30.0, 30.0, 30.0, 0, 0, 0); // 3. Objekt wird erstellt. Ersetze das CreateObject(..) durch dein Objekt
    // Objekt[3] = CreateObjekt(.....
    // und so weiter....
    return 1;
    }


    So ich hoffe ich habe dir damit geholfen :). Melde dich einfach wenn du Fragen oder Probleme hast

    Also Ohne Autosystem kann man das nicht einfach so erklären.
    Aber ich hab auch mit Mr.Monat gelernt und Das einzige was man machen könnte wäre (Ist aber sinnlos ohne Autosystem):


    new Float:x, Float:y, Float:z;
    new vID;
    vID = GetPlayerVehicleID(playerid);
    GetPlayerPos(playerid, x,y,z);



    So du hast jetzt deine Park Coordinaten in den Variablen x,y und z gespeichert.
    Jetzt musst du eine x,y und z so einrichten, dass es nach deinen Wünschen entspricht.


    Weiter kann ich dir aber auch nicht helfen :(

    Es gibt auch GetPlayerWantedLevel(playerid);


    Stimmt warum nicht gleich so? das wäre ja unnötige Arbeit eine extra PVar anzulegen ;)
    Doch wenn ich mir das mal alles So angucke, gäbe es da wohl doch noch ein paar verbesserungen:
    if(!isPlayerInFrakt(killerid,1))
    {
    SetPlayerWantedLevel(killerid,GetPlayerWantedLevel + 2); // Fügt dem Spieler 2 Wanteds hinzu. Voher hätte er nur einmalich 2 Wanteds bekommen.
    SendClientMessage(killerid,0xFF5000FF,"Du hast 2 Wanteds bekommen. Grund: Mord");
    format(string,sizeof(string),"Aktuelles Wantedlevel: %i .",GetPlayerWantedLevel(killerid)); // Unnötig eine PVar zu benutzen
    SendClientMessage(killerid,0xFF5000FF,string);
    }

    Du hast vergessen deine PVar auf 2 zu setzen :


    if(!isPlayerInFrakt(killerid,1))
    {
    SetPlayerWantedLevel(killerid,2);
    SetPVarInt(killerid,"Wanteds",2);
    SendClientMessage(killerid,0xFF5000FF,"Du hast 2 Wanteds bekommen. Grund: Mord");
    format(string,sizeof(string),"Aktuelles Wantedlevel: %i .",GetPVarInt(killerid,"Wanteds")); // Jetzt müsste es Funken :) Aber warum denn %d ? %i tuts auch
    SendClientMessage(killerid,0xFF5000FF,string);
    }

    Ich glaube du hast die 2 Parameter "/zivi" und cmdtext vertauscht machs mal so:


    if (strcmp("/zivi", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,2073.3804,1177.2048,9.9579);
    return 1;
    }

    Gut man könnte ja auch einen Array machen mit new var[5];
    Also meine Variablen heißen;


    TeamDeathmatch_vote;
    BattleRoyal_vote;
    TouchDown_vote;
    1vsMio_vote;
    Freemode_vote;


    eigentlich sollen die Spieler abstimmen welchen mode man als nächsts Spielt. Und der mit den höchsten Stimmen wird gespielt,
    Wenn eine dann /vote Freemode schreibt, habe ich dass dann immer so gemacht: Freemode_vote++;
    und es soll dann die Variable mit den meisten Stimmen herausgefunden werden.

    Hallo Leute
    Ich habe Folgendes Problem:
    ich habe in meinem Script 5 Variablen die unterschiedliche Werte haben also ungefähr so:
    new var1, new var2, new var3, new var4, new var5;


    var1 = 2, var2 = 5,



    Bla Bla und so weiter.
    wie kann ich jetzt herausfinden welche die höchste ist. Ich meine soll ich etwa tausend if abfragen machen?
    bitte um hilfe!

    Hallo Leute!
    Ja dies ist der 2. Teil meiner Samp Scripting Tutorialreihe!
    Wie auch schon im letzten TuT angekündigt möchte ich gerne mal anfangen mit euch richtig zu scripten bzw. die Anfänge.
    ------ >>> Hier gehts noch einmal zum Teil 1: Klick mich!


    Also legen wir los!
    Wie gesagt kann man ein "public" wie eine Autowerkstatt vergleichen.
    Aber bevor wir damit anfangen möchte ich noch einmal Zeigen wie ihr überhaupt auf euren eigenen Server spielen könnt.
    Wenn ihr es schon wisst überspringt ihr den Textabschnitt einfach.


    Zuerst einmal müsst ihr euren Server starten. Dies macht ihr wieder mit einen Doppelkilick auf eure samp server.exe
    wenn er an ist und das Fenster sich öffnet müsst ihr samp starten (den Server einfach minimieren).
    jetzt müsste sich normalerweise samp öffnen. ihr klickt einfach oben auf das Weiße Häkchen oben links
    im Orangenen Kasten.::




    Dort klickt ihr drauf. Jetzt kommt ein kleines, feines, neues Fenster wo ihr etwas eingeben könnt. Aber wass gebt ihr ein? Klar! eure Ip von eurem Server.
    Gut hier müsst ihr dann eure Ip eingeben un Bestätigen. ... ... Aber! Moment mal!! Woher soll ich den Wissen wie meine Ip lautet?? und dann auch noch die Ip von meinem Server?
    Tja das ist ganz einfach! da die Ip die von eurem lokalen Netzwerk bzw bei eurem computer überall gleich ist und 127.0.0.1 lautet müsst ihr einfach diese eingeben!
    Aber Achtung! Da das eure Ip von EUREM Netzwerk innerhalb EURES Hauses ist, könnt nur ihr auf euren Server :/ . Das andere drauf können ist wieder eine andere Geschichte.
    nun ja habt ihr eure Eingabe bestätigt, so sollte eurer Server nun in der Favoriten liste erschien sein.

    Mit einem Doppelklick sollte man dann ganz einfach Connecten können.



    So das war die Geschichte.
    Lasst uns nun in unser Script gehen. Nun es ist ja in unserem Gamemodeordner erschienen Wenn ihr es dort abgespeichert habt.
    Aber warum denn ein Weißes blatt? heißt das nicht das man es nicht öffnen kann?


    Nun dann gehen wir mal wieder in unseren pawno ordner und öffnen erst einmal das Programm pawno.
    so jetzt gehen wir nicht auf neues Projekt sondern auf Projekt öffnen:



    Und jetzt könnt ihr euer Projekt auswählen das ihr erstellt habt.
    Und nun müsstet ihr es vor euch sehen.
    Nun seht ihr wieder alle publics. Wenn Ihr euch schon im Script umgeguckt habt dann habt ihr villeicht auch schon gesehen dass es ein public gibt das den namen "OnPlayerConnect" besitzt.
    in diesem public möchte ich euch mal den neuen Befehl "SendClientMessage" zeigen. Mit diesem befehl könnt ihr wie mit "print" einen Text anzeigen lassen. Wo ist der Unterschied?
    Klar => SendClientMessage lässt keinen Text in der Konsole anzeigen wie print, sondern lässt einen Text im Chat anzeigen lassen. Den Chat solltet ihr ja kennen.
    Aber wie ist denn SendClientMessage genau aufgebaut? wenn wir Print benutzen schreiben wir das ja so:


    print("Ich bin ein Text der In der Konsole ausgegeben wird");


    Also lasst uns doch erst einmal alles Genau unter die Lupe nehmen:




    So ähnlich Spielt sich das auch mit SendClientMessage ab. Nur bei SendClientMessage haben wir nicht 1 Befehl sondern ganze 3 stück.
    SendClientMessage würde man also so Schreiben:
    SendClientMessage(playerid, 0xFF8200FF, "Ich bin ein Text der im Chat angezeigt wird");



    Das klingt ja doch schon alles verwirrend nicht? Irgendwie ja schon seltsam: Bei print haben wir nur einen Sogenannten "Flag"(Flag ist ein anderes Wort für Eigenschaft bei einem Befehl).
    Aber bei SendClientMessage haben wir ja 3 Flags (Flags werden übrigends durch kommas getrennt). Das liegt daran dass wir in SendClientMessage nicht nur einen Text angeben können, sondern
    auch die Farbe des Textes und den Spieler für dem Der Text angezeigt wird.


    setzen wir unser "Gebilde" mal zwischen die Klammern des Publics "OnPlayerConnect".
    Das müsste dann Ungefähr so aussehen:




    Wichtig!! Hinter jedem Befehl muss ein " ; " gesetzt werden. Dieses zeigt dem System, dass hier ein Befehl endet. Wichtig ist auch noch, dass wir alles immer über das return 1; schreiben.
    (Es gibt auch Ausnahmefälle).
    Also noch einmal zum mitschreiben: Wir haben jetzt Einen Befehl in das Public "OnPlayerConnect" reingesetzt der uns einen Text im Chat anzeigen lässt, wenn wir auf den Server drauf kommen - Logisch!
    denn "OnPlayerConnect" heißt ja auf deutsch soviel, wenn der Spieler auf dem Server kommt. Also rutscht unser System in das public wenn jemand drauf kommt. Und sieht: Aha! da steht SendClientMessage!!
    jetzt muss ich einen Text ausgeben! mit den Eigenschaften die wir festgelegt haben.
    Doch ein paar ungeklärte sachen gäbe es da doch noch: was zum himmels willen bedeutet "playerid" und dann ist im 2. Flag ja auch noch so eine Art Code!.
    Wie ich oben schon gesagt hatte, können wir bestimmen bei welchem spieler der Text erscheinen soll. "playerid" steht in unserem für den Spieler der gerade auf unseren Server Kommt.
    Wenn wir das selbe jetzt mal beispielsweise bei "OnPlayerEnterVehicle" reinschreiben, wäre "playerid" der Jenige der in ein Auto einsteigt. Da könnt ihr ja mal ein bisschen Experimentieren.
    und den Text mal in verschiedene publics rein schreiben und gucken was passiert :) . Ich denke mal dass das dann geklärt wäre. Doch jetzt kommt der Code im 2. Flag.
    Das ist der Farbcode. ??..??..? Wieso brauch man den einen Farbcode???? Warum kann ich nicht einfach schreiben: grün oder blau oder weiß.
    Naja weil der Farbcode sehr genau ist und jede Farbrichtung berücksichtigt. um jetzt aber einen Farbcode herauszufinden, brächtet ihr am besten den Samp Colorpicker.


    ====>> Samp ColorPicker: Download


    Wenn ihr den Installiert habt und mal Startet sieht das ganze so aus:




    Wenn ihr jetzt mal auf "Aktiv" klickt, könnt ihr mit der Maus auf den Farbeistreifen klicken und Enter drücke. Und Tada! der Code wird unten angezeigt.
    den könnt ihr dann in den 2. Flag schreiben bzw. durch meinen ersetzen. Auch da könnt ihr wieder vieles ausprobieren.



    Da will ich mal sagen: Wir haben unsere ersten Zeile Gescriptet.
    Als nächstes möchte ich euch zeigen wie ihr euren Text in einer "Variablen" Speichern könnt.
    Und was ist denn Bitte schön eine Variable? im sinne von Scripten?. Viele kennen es von euch aus Mathematik! Variablen sind platzhalter und so ein zeug....
    so ähnlich ist das hier auch. Zwar ein wenig anders aber brilliant.
    nehmen wir mal an ihr habt 50 mal SendClientMessage in eurem Script stehen.
    und wir wollt jetzt nehmen wir an in jedem Der 50 Befehle immer den Selben Text ausgeben lassen. Ihr habt aber keine lust den jedes mal neu zu schreiben.
    Dafür sind variablen gut nützlich. Doch Voher müsst ihr dem System sagen, dass wir eine Variable erstelleb wollen. Um dieses zu tuhen, müssen wir folgendes machen:
    new Text;


    "new " steht dafür, dass wir jetzt eine neue Variable erstellen wollen. "Text" ist der Name dieser Variable. Wie in Mathematik haben Variablen auch namen z.b. x, y oder a , b.
    Ich habe diese Variable einfach mal "Text" genannt. Ihr könnt sie auch "HansFritz" oder "PeterManfred" etc nennen. Der Name Spielt keine Große rolle ihr solltet ihn halt nur merken können.


    So Die Variable hätten wir erstellt. Jetzt müssen wir nur noch dem System klar machen, dass in Die Variable ein bestimmter Text geschrieben sein soll. Da wir ja wollen, dass die Variable sofort den Text
    annimmt den wir festgelegt habe schreiben wir einfach folgendes in das public "OnGamemodeInit".
    Text = "Test Text";


    Das müsst ihr halt schreiben wie ihr es haben wollt. Ihr müsst dann Text durch den namen eurer Variable ersetzen. und das was zwischen den beiden "" ist wieder der Text den wir voher nicht als Name deklariert haben.
    ähnlich wie bei print. Aber vorerst müssen wir der Variable noch sagen wie viele Zeichen wir maximal verwenden wollen für unseren Text.
    deshalb machen wir new Text; weg und schreiben stattdessen: new Text[25]; Die 25 steht dafür, dass der Text 25 zeichen lang ist oder weniger.
    TIPP: nimmt einfach irgend eine hohe Zahl z.b. 100. Dann braucht ihr euch keine Sorgen machen wegen der Zeichenlänge.
    So habt ihr dass nun gemacht müssen wir nur noch bei SendClientMessage schreiben:


    SendClientMessage(playerid, 0x23FF00FF, Text);


    Der Name "Text" im 3. Flag steht Logischer weise dafür, dass wir die Variable "Text" benutzen.
    Hier noch einmal simpel erklärt:



    -----------------------------


    Das wars! im 3. Teil möchte ich euch noch ein paar Dinge mit Variablen Zeigen (Es wird Interresant ^^)
    Hier gehts zum TEIL 3: \\ Ist noch nicht erscheinen Link kommt bald \\


    Ich entschuldige mich noch einmal für meine Rechtschreibfehler xD. ich hoffe es hat euch ein bisschen weitergebracht!


    MFG Tim

    Ähm ja,
    Wenn ich das ganze Tutorial korrigieren müsste würde das relativ lange dauern, es sei soviel gesagt:
    "Pro" wird man so sicher nicht xD
    Dem Tutorial fehlt es meiner ansicht nach an Scripting bzw Programmiervermittlung, sicher ists ne ganz nette Idee aber mehr auch nicht...


    Ja hättest du das Tutorial nur bis zum Ende durchgelesen dann hättest du sicher gemerkt dass das erst der 1. Teil meiner "Tutorialreihe" ist. ;)

    Hallo alle zusammen,
    Heute möchte ich euch gerne ausführlich vorstellen was es denn Überhaupt mit dem Scripten auf sich hat!
    Zu dem zeige ich erst einmal wie ein samp server so aussieht und was man an einstellungen machen kann.
    Denn für alle Neueinsteiger ist es doch schon ein wenig komisch nicht?
    deswegen ja dieses Tutorial weil ich bei den anderen Anfänger Tutorials immer das Gefühl habe, sie gehen davon aus dass man schon Programmieren kann.
    ich möchte gerne eine ganze Tutorialreihe machen - mal gucken xD
    ----------------------


    So Ich gehe jetzt mal davon aus, dass ihr samp und einen Server schon habt. Ansonsten müsst ihr euch einfach mal bei Youtube zurecht finden.
    Vielleicht mach ich da auch noch ein Tutorial rein!


    So müsste es dann bei euch aussehen - Gta, samp und den Server alles in einen Ordner (Es passten nicht alle Dateien ins Bild also nicht wundern):





    Sehen wir uns das alles mal genauer an. Weiter unten sehen wir ein CFG-Datei mit dem Namen "server"! Wofür ist die gut? - Genau! hier werden wir alles einstellen was den Server betrifft:
    Wie viele Spieler dürfen maximal online sein? Wie soll der Server heißen? wie soll das Admin passwort sein?... etc...
    Wenn wir das alles mal öffnen sieht das ganze so aus (Die Grün markierten Felder sind erst einmal am wichtigsten der rest kommt im laufe der nächsten tuts):



    So das wäre jetzt unsere Server.cfg. als erstes sehen wir"rcon_password bernersenn". Das ist das Adminpassort für die Admins. Aus langweile habe ich es "bernersenn" genannt Natürlich könnt ihr es beliebig ändern.
    Es dient z.b. dazu, dass nur User mit dem sogenannten "Rcon passwort" fast alle rechte haben. Natürlich müssen wir diese rechte erst einmal Scripten bevor das möglich ist, aber dazu später.
    Ich denke mal dass sich "maxplayers 50" von allein erklärt. Hier kann einfach die Spieleranzahl eingegeben werden, wie viele Spieler gleichzeitig auf den Server Spielen dürfen. Ich habe sie auf 50 gesetzt. Auch die Spieleranzahl
    kann natürlich beliebig geändert werden. Als nächstes haben wir den sogenannten "Port". Er dient dazu, dass andere Spieler euren Server nicht so schnell durch Hackangriffe verunstalten können. Ihr müsst euch einfach den Port wie ein Fahrradschloss mit Zahlencode vorstellen. Ohne den Zahlencode kann man das Schloss nicht öffnen, es sei denn man knackt es. Genau so beim Server auch. Natürlich gibt es immer wieder welche die es hinkriegen den
    Port zu knacken aber dass sind mehr oder weniger selten eintretende Fälle. der "hostname" ist der Name eures Servers. Der wird in der samp server liste angezeigt so dass andere Spieler wissen welcher Server das ist.
    Den habe ich "==> Desert Flying <==" genannt. Ihr könnt den Namen auch beliebig ändern. Bei den "Gamemode" handelt es sich um das Script dass ihr verwenden wollt. Hier gebt einfach den namen der Datei ein.
    Meine Datei heißt "FlySimu" das tut ja nicht zur sache. Das letzte ist das "Filterscript". das sind besondere "Gamemodes" die man auch hier mit den namen eingeben kann.
    Dazu werde ich auch erst Später etwas sagen. "Filterscripts" Sind meistens auch nicht notwendig. Ich benutze sie zum beispiel gar nicht deswegen habe ich dort auch nichts hingeschrieben.


    Jetzt nur noch abspeichern wenn ihr eure änderungen vorgenommen habt. In dem Gta san andreas Ordner gibt es aber noch unter anderem auch noch eine sehr wichtige datei.
    und zwar die "samp-server.exe" das ist euer eigener server. Wenn ihr das ganze mal startet öffne sich ein Fenster. Wenn es so aussieht....




    ...könnt ihr euch sicher sein, dass ihr alles richtig gemacht habt. In der 1. zeile steht "Started server on port 7777, with maxplayers: 50 lanmode is OFF". Hier wird noch mal ein Teil der einstellungen in der server.cfg datei wiedergegeben.
    weiter unten steht: "Fliter Scripts" und darunter wiederum "Loaded 0 filter scripts". Das liegt daran, dass ich kein filterscript in der server.cfg angegeben habe. Sicher fragt ihr euch: Was denn genau sind denn überhaupt jetzt filterscripts?"
    dazu komme ich später. Jetzt kann man weiter unten erkennen "Blank Gamemode by your name here". Den namen des Gamemodes - !Achtung es ist nicht der name der Datei gemeint! - kann man später noch beim Scripten reinschreiben.
    "Number of vehicle models: 2" steht dafür, wie viele UNTERSCHIEDLICHE fahrzeuge geladen wurden oder vorhanden sind. Fahrzeuge kann man auch per Scripten einfügen.


    die "samp-server.exe" kann erst einmal geschlossen werden.
    jetzt gehen wir mal in den Ordner "gamemodes". Huch!... was sind das denn alles für dateien?. Ja das sind einzelne Scripte. Jedes Script besteht aus 2 dateien. eine "pwn" und eine "amx" datei. Nun dass sind aber alles Vorgefertigte Scripte.
    wir wollen ja selbst scripten. also gehen wir hier wieder aus dem Ordner raus.! und gehen in den Ordner "pawno". Jetzt denkt nicht "pawno wird von dem Wort "porno" abgeleitet. "Pawno" ist das Programm mit dem wir unser Script bzw.
    Gamemode erstellen. In dem Ordner sehem wir solche dateien:




    die "pawno" Anwendung ist unser Programm. Öffnen wir es, erscheint dieses Fenster:



    Hier klicken wir auf "Neues Projekt" (grüner Pfeil). Nun sollte eine neue Vorlage erscheinen:



    Jetzt denkt ihr sicher: Oh mein Gott!! will der uns umbringen? zu erst einmal "NEIN!" ich will euch nicht umbringen. Dass was ihr hier seht ist ein ganz normaler Vorgerfertigtes Projekt.
    das wird einem aber ganz anders wenn man das sieht oder? nun ja wenn man es genauer betrachtet sieht man aber eine gewisse "Ordnung".
    Also nehmen wir das mal unter die Lupe:


    #include



    Dieses Include zeigt uns, dass wir mit allen ganz normalen Befehlen in pawn arbeiten. Hier kann man nämlich erkennen, dass wir jetzt kein Java oder C++ programmieren sonder pawn!
    Soviel dazu.
    nun gehen wir mal weiter:






    so das ist der nächste abbschnitt der zusehen ist. Kommt euch nicht einiges bekannt vor? z.b.:"Blank Gamemode by your name here" . Genau! diesen text haben wir schon gelesen als wir den Server gestartet haben.
    Und diesen Text könnt ihr einfach umschreiben.
    ungefähr so:



    print(" Ich bin ein Text weil ich so gerne ein Text sein wollte");


    So dabei müsst ihr das Print("") beachten und nur zwischen den "" den Text schreiben.
    Und das ist auch schon unser erster Befehl in pawno. Print beduetet nichts anderes als, dass etwas in der Server Konsole ausgegeben wird.
    print ist einer von vielen Befehlen. Ein anderer Befehl ist z.b. SendClientMessage. Dieser Befehl gibt keinen Text in der konsole aus, sondern einen Text im Chat wenn man samp Spielt.
    Aber dazu kommen wir Später.


    Als nächstes kommt ein public.... :S . public? public? was ist das?.
    Wenn ihr in eurem Script weiter runter scrollt steht dort zich mal "public".
    Ihr müsst euch Vorstellen, dass ein Public wie eine Garage in einer Autowerkstatt ist. In Jeder Garage in einer Autowerkstatt, wird unterschiedlich repariert. Die eine macht reifenpflege, die eine repairert einen motor und und und.....
    Genau so die "publics". Wer auch nur ein bisschen Englisch kenntnisse hat wird fest stellen, dass neben dem Wort public eine Art Stichwort steht.
    das public bei dem wir gerade sind heißt: "OnGamemodeInit". und darunter stehen 2 Klammern und ein return 1; die zwei Klammern sind die "Wände" der Garage, und das return 1; ist das Garagentor. Hier mal eine Bessere Vorstellung:




    Das return 1 steht also dafür dass das System aus den Public springt und wieder neu lädt - ist aber notwendig! wenn ihr es weg macht kommt eine Fehlermeldung!.


    Genau bedeutet OnGamemodeInit ==> Alles was man in das Public schreibt passiert sofort wenn Server gestartet wird.
    Also würden wir den print("") Befehl da rein setzen, so würde in unserer ServerKonsole sofort ein Text erscheinen.


    -----------------------


    Das wars! im 2. Teil möchte ich euch die ersten Befehle zeigen und auch noch etwas zu den unterschiedlichen publics erwähnen.
    Hier gehts zum TEIL 2: Tims Scripting Tutorial! vom N00B zum Pro! [TEIL 2]


    Ich entschuldige mich noch einmal für meine Rechtschreibfehler xD. ich hoffe es hat euch ein bisschen weitergebracht!


    MFG Tim

    Habs jetzt doch hingekriegt :D
    Der Fehler war, dass ich das AttachTrailerToVehicle sofort gesetzt habe nach dem das Auto gespawnt hat weil das auto ja beim Spawnen eine minimale strecke fliegt hat sich der Anhänger sofort abbekuppelt ^^
    naja dann dachte ich mir: Timer rein von 3 sekunden und dann erst AttachTrailer reinmachen! Tja und was soll ich sagen es funktioniert!


    Für alle die das Selbe Problem haben wissen jetzt wies geht ^^
    trotzdem danke