Detektiv bugg oder nur falsch

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 einen Detektiv Job und wenn ich /find [ID] mache findet er alles super
    Aber man kann nur alle 2 Minuten jemanden finden.
    Aber nach die 2 Minuten mach ich erneuert /find [ID] und dann steht da die ganze Zeit du kannst erst nach 2 Minuten wieder finden.
    Wo liegt das problem ? :s


    Mfg

  • Zeig uns doch mal am besten den Befehl und die Timer



    Spoiler anzeigen

    if(strcmp(cmd, "/find", true) == 0)
    {
    new giveplayerid;
    new giveplayer[MAX_PLAYERS];
    if(IsPlayerConnected(playerid))
    {
    if(Spieler[playerid][Job] != 7)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Detektiv !");
    return 1;
    }
    if(UsedFind[playerid] != 0 && Spieler[playerid][DeteSkill] < 401)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast schon nach jemanden gesucht, daher musst du noch 2 Minuten warten!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /find [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst finden!"); return 1; }
    new points;
    new level = Spieler[playerid][DeteSkill];
    if(level >= 0 && level <= 50)
    { points = 4; }
    else if(level >= 51 && level <= 100)
    { points = 6; }
    else if(level >= 101 && level <= 200)
    { points = 8; }
    else if(level >= 201 && level <= 400)
    { points = 10; }
    else if(level >= 401)
    { points = 12; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    FindTime[playerid] = 1;
    FindTimePoints[playerid] = points;
    Spieler[playerid][DeteSkill] ++;
    UsedFind[playerid] = 1;
    if(Spieler[playerid][DeteSkill] == 50)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 2.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 100)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 3.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 200)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 4.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 400)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 5.Du kannst jetzt öfters Leute finden."); }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID !");
    }
    }
    return 1;
    }


    /e
    EckoUnLTD.MMA
    Selfmade ;)

  • versuch das damit. sollte eigentlich gehen.


    if(strcmp(cmd, "/find", true) == 0)
    {
    new giveplayerid;
    new giveplayer[MAX_PLAYERS];
    if(IsPlayerConnected(playerid))
    {
    if(Spieler[playerid][Job] != 7)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Detektiv !");
    return 1;
    }
    if(UsedFind[playerid] != 0 && Spieler[playerid][DeteSkill] < 401)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast schon nach jemanden gesucht, daher musst du noch 2 Minuten warten!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /find [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst finden!"); return 1; }
    new points;
    new level = Spieler[playerid][DeteSkill];
    if(level >= 0 && level <= 50)
    { points = 4; }
    else if(level >= 51 && level <= 100)
    { points = 6; }
    else if(level >= 101 && level <= 200)
    { points = 8; }
    else if(level >= 201 && level <= 400)
    { points = 10; }
    else if(level >= 401)
    { points = 12; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    FindTime[playerid] = 1;
    FindTimePoints[playerid] = points;
    Spieler[playerid][DeteSkill] ++;
    UsedFind[playerid] = 1;
    SetTimerEx("detektiv",120000,0,"i",playerid);
    if(Spieler[playerid][DeteSkill] == 50)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 2.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 100)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 3.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 200)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 4.Du kannst jetzt öfters Leute finden."); }
    else if(Spieler[playerid][DeteSkill] == 400)
    { SendClientMessage(playerid, COLOR_YELLOW, "* Detektiv Skill ist nun auf 5.Du kannst jetzt öfters Leute finden."); }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID !");
    }
    }
    return 1;


    forward detektiv(playerid);
    public detektiv(playerid)
    {
    UsedFind[playerid] = 0;
    }


    //edit
    kleiner fehler
    //edit
    zeit falsch eingestellt