Funktion nur für Hitmans

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 Leute ,


    ich benutze momentan das hier :


    • public OnPlayerDeath(playerid, killerid, reason)
    • {
    • SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid) + 1); // Gibt dir auf das aktuelle Wantedlevel einen dazu.
    • SendClientMessage(killerid, 0xFFFF00FF, "Du hast jemanden erfolgreich umgebracht");
    • GivePlayerMoney(killerid, 2000);
    • return 1;
    • }

    Wisst ihr wie ich das so machen kann das nur Hitmans +2000 $ kriegen? Weil das bringt nichts wenn Zivis Geld kriegen , sonst wird
    zu oft SDMt . Danke im Vorraus !

  • Sagen wir Frakid 23 ist Hitman und "sSpieler" ist dein Enum


  • So ungefähr:


    In deinem SpielerEnum halt einfach "HAuftrag" anlegen.

    Code
    enum SpielerDaten
    {
    	Adminlevel,
    	Level,
    	Fraktion,
    	Job,
    	Geld,
    	HAuftrag
    };



    Dann diesen Command einfügen
    Frakid 23 ist Hitman.

    Code
    ocmd:aaccept(playerid,params[])
    {
    	if(sSpieler[playerid][Fraktion] == 23)
    	{
    	SendClientMessage(playerid,hellrot,"Auftrag akzeptiert!");
    	sSpieler[playerid][HAuftrag] = 1;
    	return 1;
    	}
    	return 1;
    }


    Dann bei OnPlayerDeath


    Code
    public OnPlayerDeath(playerid, killerid, reason)
    {
    SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid) + 1); // Gibt dir auf das aktuelle Wantedlevel einen dazu.
    SendClientMessage(killerid, 0xFFFF00FF, "Du hast jemanden erfolgreich umgebracht");
    if(sSpieler[killerid][HAuftrag] == 1)
    {
        GivePlayerMoney(killerid, 2000);
    }
    return 1;
    }

    Musst halt nur gucken das er /aaccept machen kann nur wenn ein Auftrag gesendet wurde.


    PS: Das ganze klappt bei mir, müsste also auch bei dir gehen.

  • Wäre es nicht besser die Datenbank-ID der Zielperson als Auftrags-ID zu übergeben, statt 0 oder 1 zu setzen?


    Ansonsten könnte ich ja einen Auftrag aufgeben, möchte das XYZ getötet wird und der Hitman erhält das Geld obwohl er ZYX tötet, oder irre ich mich gerade?


    Edit: Sprich abfragen ob sSpieler[killerid][hAuftrag] == sSpieler[playerid][pID] ist und beim /accept die pID des Ziels als hAuftrag übergeben?



    Gruß