MessageToAll

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
  • Hallo COmmunity, ich bins wieder :D



    ocmd:pbenter(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,1421.74, -1179.36, 25.32))
    {
    if(GetPlayerMoney(playerid)>3000)
    {
    Spieler[playerid][Paintball] = 1;
    SetPlayerPos(playerid,-975.975708,1060.983032,1345.671875);
    SetPlayerInterior(playerid,10);
    PayPlayerMoney(playerid, -3000);
    SendClientMessage(playerid,BAIGE,"Du hast die Paintball Arena betreten. [-3000$]");
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,24,500);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"Dein Geld reicht nicht aus. Du brauchst mind. 3000$");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,GELB,"Du bist nicht an der Paintball Arena!");
    return 1;
    }
    }


    Ich möchte noch das wenn ein User in die Arena rein geht das, dass an es alle User die online sind mitbekommen,
    Mit SendClientMessageToAll(playerid blaa blaa davor muss aber noch was mit format das weiß ich halt nicht.
    Brauche Hilfe :D


    mfG,
    Ien_Levin

    :) SWAGETTI & YOLONAISE!

  • Also um auszugeben wer die Arena betritt musst du Strings (und Format) benutzen:


    Falls du den Stock SpielerName(playerid) hast:


    new EingangsString[65];
    format(EingangsString, sizeof(EingangsString), "%s hat die Paintball Arena betreten.", SpielerName(playerid));
    SendClientMessageToAll(DEINE FARBE, EingangsString);
    Falls du den Stock nicht hast:


    new PaintballEnterName[MAX_PLAYER_NAME+1],EingangsString[100];
    GetPlayerName(playerid,PaintballEnterName, sizeof(PaintballEnterName));


    format(EingangsString, sizeof(EingangsString), "%s hat die Paintball Arena betreten.", );
    SendClientMessageToAll(DEINE FARBE, EingangsString);


    Zur Erklärung mit dem %s etc.


    %s bedeutet du willst einen String ausgeben also z.b. in diesem Fall einen Namen
    %i bedeutet das du einen Integer ausgeben willst also z.b. 1
    %d bedeutet das du eine Dezimalzahl ausgeben willst
    %f bedeutet das du einen Float ausgeben willst z.b. Koordinaten 5.9423


    Das [100] hinter dem EingangsString bedeutet wie lang der String ist, niemals zu lange String erstellen, in deinem Fall wäre der String 24 Zeichen (Maximale länge vom Spielernamen) + der Text "hat die Paintball Arena betreten" (34 Zeichen) also wären es insgesammt 58 Zeichen bei solchen Zahlen aber am besten immer aufrunden und ca. 5 Zeichen extra dazu machen da man sich doch vielleicht manchmal verzählt oder sowas in der Art.
    Ich will jetzt hier nicht lange herum Reden, lese dir einfach noch das: http://wiki.sa-mp.com/wiki/Format durch mit etwas Englisch Kenntnissen versteht du den Rest auch noch.

  • stock SpielerName(playerid)
    {
    new msg[MAX_PLAYER_NAME];
    GetPlayerName(playerid, msg, MAX_PLAYER_NAME);
    return msg;
    }


    Hier mal als Ergänzung zu Bluescreen's Post.


    Das einfach ganz unten im Script einfügen, dann kannst du einfach im Script SpielerName(playerid) eingeben, und er gibt dir den Namen von playerid wieder. Für playerid kannst
    du natürlich auch eine andere ID einfügen.