HILFE: Hitman System Bug

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
  • Kann mir jemand ein funktionierendes Hitman System zeigen was auch funktioniert wer echt super.


    Weil ich habe echt mehrere Scripts getestet wo das System drin war aber immer wenn man /contract ID macht dann


    einen Hitman den Auftrag annimmt dann Tötet er den Spieler aber er bekommt kein Geld weiss einer wieso es nicht funktioniert ?




    Hier mal die ganzen funktionen.....
    Function SearchingHit(playerid)
    {
    new string[256];
    new giveplayer[MAX_PLAYER_NAME];
    new searchhit = 0;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(searchhit == 0)
    {
    if(PlayerInfo[i][pHeadValue] > 0 && GotHit[i] == 0)
    {
    GetPlayerName(i, giveplayer, sizeof(giveplayer));
    searchhit = 1;
    hitfound = 1;
    hitid = i;
    for(new k=0; k<MAX_PLAYERS; k++)
    {
    if(IsPlayerConnected(k))
    {
    if(PlayerInfo[k][pMember] == 8 || PlayerInfo[k][pLeader] == 8)
    {
    SendClientMessage(k, COLOR_WHITE, "|__________________ Hitman Agentur News __________________|");
    SendClientMessage(k, COLOR_DBLUE, "*** Eingehende Mitteilung: Ein Auftrag ist verfügbar. ***");
    format(string, sizeof(string), "Person: %s ID: %d Bezahlung: Euro%d", giveplayer, i, PlayerInfo[i][pHeadValue]);
    SendClientMessage(k, COLOR_DBLUE, string);
    SendClientMessage(k, COLOR_DBLUE, "Benutze auftraggeben [hitmanid], um den Auftrag einem Hitman zuzuweisen.");
    SendClientMessage(k, COLOR_WHITE, "|________________________________________________________|");
    }
    }
    }
    return 0;
    }
    }
    }
    }
    if(searchhit == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Es sind momentan keine Aufträge verfügbar!");
    }
    return 0;
    }



    if(strcmp(cmd, "/contract", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 5000 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muß mindestens €5000-, aber nicht mehr als €1.000.000 betragen!"); return 1; }
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 3 haben um einen Vertrag zu erstellen.");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    GivePlayerMoney(playerid, (0 - moneys));
    format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für Euro%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    }
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); return 1; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    GivePlayerMoney(playerid, (0 - moneys));
    PlayerInfo[giveplayerid][pHeadValue]+=moneys;
    new iyear, imonth,iday;
    getdate(iyear, imonth, iday);
    format(string, sizeof(string), "Contract: %s hat einen Auftragsmord gegen %s in auftrag gegeben (%d-%d-%d)", sendername,giveplayer,imonth,iday,iyear);
    ContractLog(string);
    format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für Euro%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für Euro%d erteilt.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Falsche Angaben!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }





    if(strcmp(cmd, "/auftraggeben", true) == 0)
    {
    if(IsPlayerInFrac(playerid, 8))
    {
    if(PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du brauchst Rank 2 um Aufträge einem Hitman zuzuteilen");
    return 1;
    }
    if(hitfound == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Es gibt derzeit keine Aufträge, schau vorher unter /auftrag nach.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /auftraggeben [Hitman ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pLeader] != 8 && PlayerInfo[giveplayerid][pMember] != 8)
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist kein Hitman!");
    return 1;
    }
    if(GoChase[giveplayerid] < 999)
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Hitman ist bereits beschäftigt!");
    return 1;
    }
    if(IsPlayerConnected(hitid))
    {
    new giver[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giver, sizeof(giver));
    GetPlayerName(hitid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Hitman %s hat %s den Auftrag gegeben, %s(ID:%d) für %d€ zu töten.", sendername, giver, giveplayer, hitid, PlayerInfo[hitid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    GoChase[giveplayerid] = hitid;
    GetChased[hitid] = giveplayerid;
    GotHit[hitid] = 1;
    hitid = 0;
    hitfound = 0;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist offline!");
    return 1;
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Hitman ist nicht online!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Hitman!");
    }
    return 1;
    }




    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    if(IsPlayerConnected(killerid))
    {
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    if(GoChase[killerid] == playerid)
    {
    ConsumingMoney[killerid] = 1;
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: Euro%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerInfo[playerid][pHeadValue] = 0;
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }




    Weiss einer wieso der Spieler kein Geld bekommt ?


    Also hier sind echt so viele Online und es wer echt super wenn mal einer sich kurz 1-2 min zeit für mich hier nehmen kann.
    Da ich echt verzweifelt bin und unbedingt den fehler behoben haben möchte.




    Edit // Text eingefügt
    Edit // Code eingefügt
    Edit // weiter code eingefügt

    3 Mal editiert, zuletzt von TellyTellz () aus folgendem Grund: Text eingefügt Code eingefügt weiter code eingefügt