Problem mit Join und Disconnect Message

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
  • moin,


    Ich habe ein paar Probleme mit einer Join/Disconnect funktion.


    Die Errors:


    Hier ist der Code oder die Zeilen:

    public OnPlayerConnect(playerid)
    {
    new string[128];
    new spname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spname,sizeof(string));
    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.");
    SendClientMessageToAll(Hellgruen,string);
    //===============================
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name)); // Findet den Spieler Namen heraus
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name); // Account Pfad
    if(dini_Exists(Playerdatei))
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Password ein.","Abbrechen","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Regestration","Bitte geb das von dir ausgewaelte Password ein.","Abbrechen","Abbrechen");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new disconnect[150];
    spname[MAX_PLAYER_NAME]; // Zeile 84
    GetPlayerName(playerid,spaname,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 wurde gekickt/gebannt.",spname);
    }
    SendCLientMessageToAll(Orange,string);
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    SpielerSpeichern(playerid);
    }
    return 1;
    }


    Ich hoffe mir kann einer Helfen ich weis echt nicht mehr weiter

  • format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.");


    zu


    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.",spname(playerid)//und dann hier abfrage für id,weiß ich grade nicht);

  • new disconnect[150];
    spname[MAX_PLAYER_NAME]; // Zeile 84


    zu


    new disconnect[150], spname[MAX_PLAYER_NAME];


    Wenn ich das so mache habe ich das !!

    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScriptv.0.0.1.0.pwn(84) : error 017: undefined symbol "spaname"
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScriptv.0.0.1.0.pwn(87) : error 017: undefined symbol "string"
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScriptv.0.0.1.0.pwn(87) : error 017: undefined symbol "string"
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScriptv.0.0.1.0.pwn(87) : error 036: empty statement
    C:\Users\Mike\Desktop\Pawno_Sachen\gamemodes\DeathScriptv.0.0.1.0.pwn(87) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


  • new string[128];
    new spname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spname,sizeof(string));
    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.");
    SendClientMessageToAll(Hellgruen,string);
    zu
    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.");
    SendClientMessageToAll(Hellgruen,string);

    TÜRKIS =
    Richtig


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • soviel durcheinander D:


    DAS einzigste was du machst:
    zeile 84 in
    new spname[MAX_PLAYER_NAME];
    abändern
    (also das new dabei steht)


    und
    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.");
    zu
    format(string,sizeof(string),"Der Spieler %s [ID: %d] hat den Server betreten.", spname, playerid);



    EDIT: und in GetPlayerName steht spaname statt spname (tippfehler)

  • Noch einfacher wäre statt jedes mal eine neuen string zu erstellen:


    Ganz oben:
    new PlayerName[MAX_PLAYER_NAME];



    public OnPlayerConnect(playerid)
    {
    new str[128];
    GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);

    format(str, sizeof str, "- %s(%d) hat den Server betreten", PlayerName[playerid], playerid);
    SendClientMessageToAll(COLOR_BLA, str);
    return 1;
    }


    und das selbe nur ohne GetPlayerName bei OnPlayerDisconnect

    Verkaufe FREEROAM/DM/STUNT/MISSION vollständige Gamemodes Billig
    -> Melden per PN