Namen ausgeben wenn MrInco nur etwas tuen darf?

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 liebes SA-MP Forum!


    Ich hatte bereits eine Frage wie diese hier gefragt, doch hier handelt es sich um etwas ganz anderes.
    Ich habe schon folgendes in meinem Script drinne:


    new name[MAX_PLAYER_NAME]
    ;GetPlayerName(playerid,name,sizeof(name));
    if(strcmp(name,"MrInco",false)==0)
    {
    //Blablabla...
    }


    Nun möchte ich MrInco (in diesem Fall mich) eine Nachricht schicken, dass %s %s gekillt hat.
    Wie geht das in OnPlayerDeath?

  • Du hast mich falsch verstanden mein Freund ;)
    Ich meine, also die Nachricht mit Spieler ist Tot soll NUR an MrInco geschickt werden mit folgendem Inhalt:
    z.B. du killst mich, dann soll da stehen: Dominik hat MrInco gekillt. Diese nachricht soll NUR an mich gesendet werden.
    Soweit verstanden?

  • Mit der funktion kannst du die playerid anhand des namens auslesen.
    Oder wie meinste des?

    Ehm ich meine das so:


    Wenn jetzt z.B. XYZ ABC killt, dann soll NUR ich eine Nachricht empfangen, dass XYZ ABC gekillt hat.
    Das meine ich.
    Aber irgendwie kriege ich das nicht hin.
    Kannst du mir weiterhelfen?

  • //Variablen erstellen
    new
    name[2][MAX_PLAYER_NAME], //Für die beiden Namen
    string[128], //Für die formatierte Nachricht
    ;
    //namen der beiden Personen holen
    GetPlayerName(playerid,name[0],MAX_PLAYER_NAME);
    GetPlayerName(killerid,name[1],MAX_PLAYER_NAME);
    //nachricht formatieren
    format(string,128,"%s hat %s getoetet!",name[1],name[0]);
    //Nachricht schicken
    SendClientMessage(GetPlayerID("MrInco"), 0xDEEE20FF, string);Das setzt aber vorraus, das du die GetPlayerID-Funktion aus der UseFul Functions-Include hast. Den Download zu dieser Include findest du hier.
    Andernfalls kannst du auch diese hier verwenden:
    stock GetPlayerID(const playername[])
    {
    new
    i=0,
    maxPlayers = GetMaxPlayers(),
    pName[MAX_PLAYER_NAME]
    ;
    for (;i<maxPlayers;i++) {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i,pName,MAX_PLAYER_NAME);
    if (strcmp(pName,playername,true)==0) return i;
    }
    }Die hab ich allerdings grad selbst zusammen gefrickelt, und hab sie nicht getestet. Sollte sie also nich gehen, sag bescheid ^^


    Mfg.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Danke, kannst du das mit mir testen? Hab eine IP, weiß net, ob das funktioniert ;)