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

    Hallo Breadfish,


    nachdem ich das vorbis.dll problem geklärt hatte habe ich probiert zu zocken!
    Ich habe Samp gestartet jedoch sobald ich auf einen Server connecten wollte
    hat sich das Spiel nicht geöffnent.
    Als ich es wieder probierte stand da Samp is already running!.
    Kann mir jemand Helfen?


    Mit freundlichen Grüßen
    iFeet