Wie wird das geld bei Contract gespeichert?

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
  • Guten Tag ich habe ein Befehl gemacht für die Fraktion Hitman (SELFMADE)


    Aber wie kann das Geld abgespeichert werden...
    Und beim Töten das Geld an den Hitman ausgegeben wird...
    Also Spieler -> Contract -> Geld wird vom Aufgeber abgezogen -> Geld wird abgespeichert -> Hitman tötet Zielperson -> Hitman bekommt das geld



    ocmd:contract(playerid,params[])
    {
    new string[200], pID, geld[10], kgeld;
    if(sscanf(params,"ui",pID,geld)) return SendClientMessage(playerid,GRAU,"Benutze: /contract [Spieler/ID] [Geldbetrag]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler nicht Gefunden!");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,HELLBLAU," ~ Es ist ein neuer Contract in Auftrag gegeben worden ~");
    format(string,sizeof(string)," ~ Spieler %s will für %i Dollar Spieler %s getötet haben ~",SpielerName(playerid),geld,SpielerName(pID));
    SendClientMessage(i,HELLBLAU,string);
    SendClientMessage(i,HELLBLAU," ~ Mach dich auf die Suche und töte ihn! ~");
    SetPVarInt(playerid,"HitmanAuftrag",1);
    SetPVarInt(playerid,"Kopfgeld",kgeld);
    }
    }
    }
    return 1;
    }



    ******WICHTIG ich kann es nicht mit PWN und /PWN eindrücken weiß nicht warum...
    Also bitte keine Theards davon posten das ich es eindrücken soll X(

  • Das meine ich ja xDD


    Kann mir bitte einer weiterhelfen :) ?

  • Machste ganz oben im Script
    new ContractPrice[MAX_PLAYERS];
    new HitmanAuftrag[MAX_PLAYERS] = 999;


    Dein Befehl
    ocmd:contract(playerid,params[])
    {
    new string[200], pID, geld[10], kgeld;
    if(sscanf(params,"ui",pID,geld)) return SendClientMessage(playerid,GRAU,"Benutze: /contract [Spieler/ID] [Geldbetrag]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler nicht Gefunden!");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,HELLBLAU," ~ Es ist ein neuer Contract in Auftrag gegeben worden ~");
    format(string,sizeof(string)," ~ Spieler %s will für %i Dollar Spieler %s getötet haben ~",SpielerName(playerid),geld,SpielerName(pID));
    SendClientMessage(i,HELLBLAU,string);
    SendClientMessage(i,HELLBLAU," ~ Mach dich auf die Suche und töte ihn! ~");
    SetPVarInt(playerid,"HitmanAuftrag",1);
    ContractPrice[pID] = geld;
    HitmanAuftrag[playerid] = pID;
    }
    }
    }
    return 1;
    }


    bei OnPlayerDeath(playerid,killerid)
    if(isPlayerInFrakt(killerid,4))
    {
    if(HitmanAuftrag[killerid] == playerid)
    {
    SendClientMessage(killerid,HELLBLAU," ~ Du hast deinen Auftrag erfolgreich erledigt ~");
    format(string,sizeof(string)," ~ Du hast %d$ bekommen ~",geld);
    SendClientMessage(killerid,HELLBLAU,string);
    //Gib dem Spieler den Betrag !! Der Betrag ist bei ContractPrice[playerid] gespeichert
    ContractPrice[playerid] = 0;
    HitmanAuftrag[killerid] = 999;
    }
    }


    Sollte es probleme geben PN mich

  • Und wie wird da dem Auftraggeber abgezogen und den Hitman beim killen gegeben? ^^


    Wo muss das rein?

  • ocmd:contract(playerid,params[])
    {
    new string[200], pID, geld[10], kgeld;
    if(sscanf(params,"ui",pID,geld)) return SendClientMessage(playerid,GRAU,"Benutze: /contract [Spieler/ID] [Geldbetrag]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Spieler nicht Gefunden!");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,HELLBLAU," ~ Es ist ein neuer Contract in Auftrag gegeben worden ~");
    format(string,sizeof(string)," ~ Spieler %s will für %i Dollar Spieler %s getötet haben ~",SpielerName(playerid),geld,SpielerName(pID));
    SendClientMessage(i,HELLBLAU,string);
    SendClientMessage(i,HELLBLAU," ~ Mach dich auf die Suche und töte ihn! ~");
    SetPVarInt(playerid,"HitmanAuftrag",1);
    ContractPrice[pID] = geld;
    HitmanAuftrag[playerid] = pID;
    // Zieh dem Spieler das Geld ab.. Der Spieler ist "playerid" meist GivePlayerMoney(playerid, -geld);
    }
    }
    }
    return 1;
    }

  • So es hat funktioniert habe contract auf 800$ gesetzt erst als ich das opfer zum 3. mal gekillt habe stand da du hast die aufgabe erfolgreich eledigt...
    Und habe 0$ bekommen xD



    if(isPlayerInFrakt(killerid,4))
    {
    if(HitmanAuftrag[killerid] == playerid)
    {
    new string[128], geld;
    SendClientMessage(killerid,HELLBLAU," ~ Du hast deinen Auftrag erfolgreich erledigt ~");
    format(string,sizeof(string)," ~ Du hast %d$ bekommen ~",geld);
    SendClientMessage(killerid,HELLBLAU,string);
    GivePlayerMoney(playerid,geld);
    ContractPrice[playerid] = 0;
    HitmanAuftrag[killerid] = 999;
    }
    }

    Einmal editiert, zuletzt von [Markus] ()

  • if(isPlayerInFrakt(killerid,4))
    {
    if(HitmanAuftrag[killerid] == playerid)
    {
    new string[128];
    SendClientMessage(killerid,HELLBLAU," ~ Du hast deinen Auftrag erfolgreich erledigt ~");
    format(string,sizeof(string)," ~ Du hast %d$ bekommen ~",ContractPrice[playerid]);
    SendClientMessage(killerid,HELLBLAU,string);
    GivePlayerMoney(killerid,ContractPrice[playerid] );
    ContractPrice[playerid] = 0;
    HitmanAuftrag[killerid] = 999;
    }
    }


    Du musst dem Hitman geld gebe nicht dem Opfer.... und wenn du der Variable "geld" keinen wert gibst gibt es auch kein geld für niemanden


    Edit: Fehler ausgebessert

  • C:\Users\Masse\Desktop\sa-mp server\gamemodes\Script.pwn(2453) : error 006: must be assigned to an arrayPawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.


    reihe 2453 ContractPrice[pID] = geld;


    :S

    Sei du Selbst, denn all die anderen Gibt es schon !



    **Savas**