SendClientMessage

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
  • Hey kann ich wenn ich n text schreibe den in verschiedenen Farben machen?


    Also:



    SendClientMessage(playerid,COLOR_BLACK,"SCHWARZ GELB SCHWARZ");


    Kann ich das da irgendwie machen das die schrift ist wie sie da steht also.... anfang schwarz, mitte gelb und ende schwarz?

  • Achso okay und eine frage hätte ich noch ^^ ich hab folgenden cmd gemacht:



    if (pickupid == infopickupLSPDeingang)
    {
    GameTextForPlayer(playerid,"~b~Los Santos Police Department",5000,5);
    SendClientMessage(playerid,COLOR_BLUE,"Los Santos Police Department");
    SendClientMessage(playerid,COLOR_WHITE,"Zum betreten /betreten eingeben");
    SendClientMessage(playerid,COLOR_BLUE,"--------------------------------------------------");
    }


    Der ist ja schön und gut nur kann man das einstellen wie oft der Text kommt wenn man in den Pickup geht? Also nur einmal... weil bei mir kommt der die ganze zeit immerwieder bis ich aus dem Pickup gehe!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Genau, Person 1 sammelt das Pickup auf, für ihn ist es dann weg, und kommt nach ca 30 Sekunden wieder, aber nur weil Person 1 es aufsammelt, kann Person 2 trotzdem noch nach 10 Sekunden kommen und es aufsammeln... für Person 2 respawnt es dann auch wieder nach ca 30 Sekunden


  • SendClientMessage(playerid,COLOR_BLACK,"~l~SCHWARZ ~y~GELB ~l~SCHWARZ");

    http://wiki.sa-mp.com/wiki/GameTextStyle


    ;)


    PickUp
    Ich habe das bei meinem Autohausmenü so gemacht. (ich habe die Pickupkoordinaten vorher in Variablen gespeichert, bei OnGameModeInit)



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for (new temp=0;temp<MAX_PICKUP;temp++)
    {
    if (pickupid==Pickup[temp] && IsPlayerInCircle(playerid,PickupX[temp],PickupY[temp],10))
    {
    switch (temp)
    {
    case 10,39: // Sunshine Autos
    {
    if (userIsInPickup[playerid]==0)
    {
    userIsInPickup[playerid]=1;ShowMenuForPlayer(mnuCarShop,playerid);
    return 1;
    }
    }
    }
    }
    }
    }

    Bei meinem Menü dann nur noch:

    public OnPlayerSelectedMenuRow(playerid, row)
    {
    // ... hier das Menü oder deinen Text als Menü und wenn man dann ENTER drückt, verläßt man das Menü wieder und wird freigelassen
    // ... natürlich kannst du userIsInPickup[playerid] auch erst dann auf 0 setzen, wenn der Radius zum entsprechendem Pickup >10 ist
    // ... somit wird nicht mehr erneut auf das Pickup zugegriffen
    TogglePlayerControllable(playerid,1);userIsInPickup[playerid]=0;return 1;
    }

  • Viel kürzer und reißt nichts weil die pickups eh schon zrulaufzeit existieren:
    static pickupid_x;
    public OnGameModeInit()
    {
    pickupid_x = CreatePickup(...);
    }
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == pickupid_x)
    {
    ShowMenuForPlayer(...);
    DestroyPickup(pickupid_x);
    pickupid_x = -1; /* Sicherheit ansonsten könnte ein neues pickup die id einnehmen */
    }
    return 1;
    }
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    pickupid_x = CreatePickup(...);
    }
    Einfach die parameter ersetzten und voila ;x.
    Ist eindeutig kürzer und nimmt sich nichts (pickups + vehicles haben nen extra thread :>)

  • Einfach die parameter ersetzten und voila ;x.
    Ist eindeutig kürzer und nimmt sich nichts (pickups + vehicles haben nen extra thread :>)

    So gehts auch, aber du weißt schon, daß SA:MP manchmal die ID's durcheinanderwürfelt oder? Z.B. wenn man in Pickup A reingeht, daß dann plötzlich Pickup X usw. aktiviert wird ;).
    Sollte nicht klugscheißen, sondern ich kenn diesen Fehler aus Hris GM vom damaligen SAS RL noch. Wenn man da in PD Dienst ging, war man ab und an plötzlich Medic oder Taxi :thumbdown:

  • So gehts auch, aber du weißt schon, daß SA:MP manchmal die ID's durcheinanderwürfelt oder?

    Solange du Windowsserver oder Linuxserver mit libstc5++ benutzt hast du dieses Problem nicht. Sollte es unter Windows vorkommen würde ich mir Windows neu aufsetzen. Und Hris sein SAS script wurde geleakt, da liegts am GM.

    Mit freundlichen Grüßen


    Einstein

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen