Beiträge von Maximilian

    Herzlich Willkommen zu meinem ersten Tutorial!


    In diesem Tutorial geht es um Join und Leave Messages mit Strings!


    Was braucht man dafür?
    -Grundkenntnisse



    Nun zum Tutorial:


    Als erstes müssen wir unter public OnPlayerConnect(playerid) einen string erstellen.

    new string[128];
    new spname[MAX_PLAYER_NAME];//steht für den Spieler der später Connected

    Dann müssen wir den Namen des Spielers herausfinden und das machen wir so

    GetPlayerName(playerid, spname, sizeof(spname));//GetPlayerName erklärt sich von selbst

    Als nächstes müssen wir den string formatieren und eine Nachricht angeben die an die Spieler gesendet werden soll.

    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten", spname,playerid);//Das %s steht für den Namen z.B. Der Spieler iFeet[ID:4] hat den Server betreten

    Nun geben wir noch an das die oben genannte Nachricht an alle Spieler gesendet werden soll die On sind

    SendClientMessageToAll(Orange,string);//Somit wird der string auch in der Farbe abgesendet Ohne diese SendClientMessageToAll würde nichts passieren


    Somit haben wir die Connect/Join Message erstellt


    Nun gehen wir unter public OnPlayerDisconnect(playerid)
    und erstellen da wieder einen string und einen weiteren für den Namen!

    new disconnect[150];
    spname[MAX_PLAYER_NAME];

    Dann müssen wir wieder den Namen des Spielers abfragen!
    Das machen wir wie oben schon angegeben

    GetPlayerName(playerid,spname,MAX_PLAYER_NAME);

    Jetzt beginnen wir damit festzulegen welche Nachricht kommen soll wenn
    der Spieler
    1.Die Verbindungen zum Server verliert
    2.Er normal disconnected
    3.Er gekickt wird

    switch(reason)
    {
    case 0: format(string,sizeof (string),"Der Spieler %s hatte einen Timeout",spname);
    case 1: format(string,sizeof (string),"Der Spieler %s hat den Server verlassen",spname);
    case 2: format(string,sizeof (string),"Der Spieler %s wurde gekickt/gebannt",spname);
    }

    Jetzt kommt der Teil wo wieder eine Nachricht an die Spieler abgesendet wird

    SendClientMessageToAll(Orange,string);

    Jetzt nochmal die Zusammenfassung


    Connect/Join Nachricht

    public OnPlayerConnect(playerid)
    new string[128];
    new spname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spname, sizeof(spname));
    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten", spname,playerid);
    SendClientMessageToAll(Orange,string);


    Disconnect/Leave Nachricht

    public OnPlayerDisconnect(playerid)


    new string[150];
    spname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spname,MAX_PLAYER_NAME);
    switch(reason)
    {
    case 0: format(string,sizeof (string),"Der Spieler %s hatte einen Timeout",spname);
    case 1: format(string,sizeof (string),"Der Spieler %s hat den Server verlassen",spname);
    case 2: format(string,sizeof (string),"Der Spieler %s [ID: %d] wurde gekickt/gebannt",spname);
    }
    SendClientMessageToAll(0xFFAA00FF,spname);


    Ich hoffe das Tutorial hat euch gefallen!
    Es war mein erstes also sind Verbesserungswünsche und Kritik erlaubt


    Bei weiteren fragen eine PM an mich schicken


    Mit freundlichen Grüßen
    iFeet

    SA-MP 0.3d-R2
    Exception At Address: 0x00746929


    Registers:
    EAX: 0x00000000 EBX: 0x00000000 ECX: 0x00000003 EDX: 0x00000002
    ESI: 0x00000000 EDI: 0x773F28D7 EBP: 0x0022FF88 ESP: 0x0022FDD8
    EFLAGS: 0x00010246


    Stack:
    +0000: 0x00748732 0x7FFDA000 0x01620000 0x00000000
    +0010: 0x00828CB3 0x00856C80 0x008A5A08 0x7FFDA000
    +0020: 0x008A5A10 0x008E3200 0x00856C80 0x7FFDA000
    +0030: 0x008A5A08 0x0022FE18 0x0082AD25 0x00C9AD08
    +0040: 0x0022FE54 0x00823B3E 0x00000008 0x00821D1D
    +0050: 0x00821D17 0x008A5A10 0x008A5A08 0x7FFDA000
    +0060: 0x00856C80 0x0022FE2C 0x00825EA4 0x773F28D7
    +0070: 0x00000000 0x7FFDA000 0xFFFFFFFF 0x00821D17
    +0080: 0x00000065 0x00000065 0x0022FF88 0x008246F1
    +0090: 0x00400000 0x00000000 0x01901DC4 0x0000000A
    +00A0: 0x00000094 0x00000006 0x00000001 0x00001DB0
    +00B0: 0x00000002 0x00000000 0x00000000 0x00000000
    +00C0: 0x00000000 0x00000000 0x00000000 0x00000000
    +00D0: 0x00000000 0x00000000 0x00000000 0x00000000
    +00E0: 0x00000000 0x00000000 0x00000000 0x00000000
    +00F0: 0x00000000 0x00000000 0x00000000 0x00000000
    +0100: 0x00000000 0x00000000 0x00000000 0x00000000
    +0110: 0x00000000 0x00000000 0x00000000 0x00000000
    +0120: 0x00000000 0x00000000 0x00000000 0x00000000
    +0130: 0x00824588 0x00000000 0x00000000 0x7FFDA000
    +0140: 0xC0000005 0x00000000 0x01901DC4 0x00000044
    +0150: 0x01917E20 0x0191A330 0x0191BDE0 0x00000000
    +0160: 0x00000000 0x00000000 0x00000000 0x00000000
    +0170: 0x00000000 0x00000000 0x00000000 0x00000000
    +0180: 0x00000000 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF
    +0190: 0x00000000 0x00000000 0x0022FE78 0x0022F9E4
    +01A0: 0x0022FFC4 0x00825EA4 0x00888078 0x00000000
    +01B0: 0x0022FF94 0x773F1174 0x7FFDA000 0x0022FFD4
    +01C0: 0x7775B3F5 0x7FFDA000 0x77765CC4 0x00000000
    +01D0: 0x00000000 0x7FFDA000 0x00000000 0x00000000
    +01E0: 0x00000000 0x0022FFA0 0x00000000 0xFFFFFFFF
    +01F0: 0x7771D74D 0x0021A688 0x00000000 0x0022FFEC
    +0200: 0x7775B3C8 0x00824570 0x7FFDA000 0x00000000
    +0210: 0x00000000 0x00000000 0x00000000 0x00824570
    +0220: 0x7FFDA000 0x00000000 0x78746341 0x00000020
    +0230: 0x00000001 0x00003020 0x000000DC 0x00000000
    +0240: 0x00000020 0x00000000 0x00000014 0x00000001
    +0250: 0x00000007 0x00000034 0x0000017C 0x00000001
    +0260: 0x00000000 0x00000000 0x00000000 0x00000000
    +0270: 0x00000000 0x00000002 0x1A26EF4E 0x00000298


    SCM Op: 0x0, lDbg: 0


    Game Version: US 1.0