Nachricht an alle Spieler beim beenden der Mission

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
  • Hi! Ich habe mal eineFrage zum Müllabfuhrscript von Alexanda. Ich hab versucht, eine Nachricht an alle Spieler zu senden, wenn der Fahrer fertig ist, sone Art "Werbung" zum aufmerksam machen:


    public OnPlayerEnterCheckpoint(playerid) {
    new
    string[128];
    Checkpoint[playerid]++;
    //new playername = GetPlayerName(playerid);
    new
    vehicleid = GetPlayerVehicleID(playerid),
    model = GetVehicleModel(vehicleid);
    if (IsPlayerInAnyVehicle(playerid)) { if(model == 408){
    if(Checkpoint[playerid]==sizeof(Muellabfuhr_Stationen)) {
    SendClientMessage(playerid, COLOR_RED, "Herzlichen Glückwunsch und danke, dass du hilfst die Stadt sauber zu halten!");
    // SendClientMessageToAll(COLOR_GREEN, "%s hat einen Bonus bekommen, weil er die Stadt sauber hällt. Er ist ein echtes Vorbild.", GetPlayerName(playerid));
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid, 297500);
    SendClientMessage(playerid, COLOR_RED, "Du bekommst einen kleinen Bonus von 297.500$");
    mission[playerid]=false;
    }
    }
    }


    Ich habe es mit den //eingerückten Zeilen versucht, aber das klappt irgendwie nicht. Kann mir jemand sagen, wies richtg geht?

  • Der Syntax ist falsch, wenn ich das schon sehe xD
    new string[128];
    format(string, sizeof(string), "%s hat einen Bonus bekommen, weil er die Stadt sauber hällt. Er ist ein echtes Vorbild.", playername);
    SendClientMessageToAll(COLOR_GREEN, string);

  • Tut mir Leid, aber ich bekomme es einfach nich gebacken... Wenn ich da


    new playername = GetPlayerName(playerid, playername, sizeof(playername));


    eingebe, kommt dieser error:


    error 035: argument type mismatch

  • So funktioniert das nicht.GetPlayerName returnt nicht den Namen(Die länge des Namens soweit Ich weiss),
    er wird in einer Variable abgespeichert die man der Funktion übergibt.
    new
    ThePlayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));

    Wenn der Spieler connectet ist,sollte ThePlayer jetzt den Namen des Spielers enthalten.
    GetPlayerName - Wiki