Hilfe bei Hitmansystem

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
  • Ich habe das Problem das erstmal das Hitmansystem bei dem befehl /auftraggeben gar nicht reagiert hat, das habe ich gefixt, da ich ein / vergessen hatte, jetzt ist das problem wenn jemand /contract setzt kann der hitman alles sehen also im /portable mit /aufträge etc, jedoch wenn man /auftraggeben eingibt und die id erscheint das die Person offline sei oder kein hitman ist...
    Das ist das /auftraggeben


    http://img5.fotos-hochladen.ne…ads/samp999trn1j67ilu.png


    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 Aufträge im /portable 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;}

  • Kannst du den Code bitte erneut posten?
    Die Zeilenumbrüche haben sich wiedermal verabschiedet ^^

    Ja kennt man ja ^^


    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 Aufträge im /portable 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;
    }

  • Wo wird der Variable hitid ein Wert zugewiesen?
    Ist jetzt das erste was mir so auffällt, dass du im Befehl urplötzlich die Variable verwendest: if(IsPlayerConnected(hitid))

    Meinst du das ?


    new hitid = 999;


    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giver, sizeof(giver));
    GetPlayerName(hitid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* You assigned%s to kill: %s(ID:%d), for $%d.", giver, giveplayer, hitid, PlayerInfo[hitid][pValue]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Hitman %s has assigned you to kill: %s(ID:%d), for $%d.", sendername, giveplayer, hitid, PlayerInfo[hitid][pValue]);
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Hitman %s, stimme Hitman %s zu, %s(ID:%d) für %d$ zu killen.", 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 0;