strtok Problem. Funktoniert nicht richtig

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
  • Hallo Breadfish,


    if(Mobile[playerid] != 255)
    {
    new idx;
    tmp = strtok(text, idx);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt (Handy): %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);



    Es geht um diese Zeilen
    Wenn man einen anruft, ist es so, dass man ganz normal redet.
    dieses Problem hatte ich schon mal und hab es nie geschafft es zu lösen.
    Wenn ihr mehrere Zeilen braucht, schreibt es.


    Ich hoffe ihr könnt mir helfen!




    mfG
    |Marcel|

    Du brauchst eine Website?

    Du hast ein Layout angefertigt und willst es gecoded sehen?

    DANN SCHREIB MICH AN.

    Kostenlos und für euch.

  • Hm ne so wird das nix, da musst du du schon die ganze Funktion + ProxDetector Funktion posten, eventuell versteckt sich der Fehler ja dort.Das einzige was man jetzt sieht ist das der formatierte string mittels der Funktion "ProxDetector" an Spieler in einem Umkreis von 20 gesendet wird.Bekommt denn der angerufene seinen Text auch ?, denn das ist jetzt hier nicht ersichtlich.....

  • Ok hier


    if(Mobile[playerid] != 255)
    {
    new idx;
    tmp = strtok(text, idx);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt (Handy): %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    //printf("callers line %d called %d caller %d",Mobile[Mobile[playerid]],Mobile[playerid],playerid);
    if(Mobile[playerid] == 914)
    {
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Dispatch: Sorry I don't understand?");
    return 0;
    }
    new turner[MAX_PLAYER_NAME];
    new wanted[128];
    GetPlayerName(playerid, turner, sizeof(turner));
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Dispatch: We have alerted all units in the area.");
    SendClientMessage(playerid, TEAM_CYAN_COLOR, "Thank you for reporting this incident");
    format(wanted, sizeof(wanted), "Dispatch: All Units IA: Caller: %s",turner);
    SendTeamBeepMessage(1, TEAM_CYAN_COLOR, wanted);
    format(wanted, sizeof(wanted), "Dispatch: Incident: %s",text);
    SendTeamMessage(1, TEAM_CYAN_COLOR, wanted);
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }
    if(Mobile[playerid] == 913)
    {
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Sorry i dont understand?");
    return 0;
    }
    if ((strcmp("no", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("no")))
    {
    new turner[MAX_PLAYER_NAME];
    new wanted[128];
    GetPlayerName(playerid, turner, sizeof(turner));
    SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: We have alerted all units in the area.");
    SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime");
    format(wanted, sizeof(wanted), "HQ: All Units APB: Reporter: %s",turner);
    SendFamilyMessage(1, COLOR_DBLUE, wanted);
    format(wanted, sizeof(wanted), "HQ: Crime: %s, Suspect: Unknown",PlayerCrime[playerid][pAccusing]);
    SendFamilyMessage(1, COLOR_DBLUE, wanted);
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }
    new badguy;
    //badguy = strval(tmp);
    badguy = ReturnUser(tmp);
    if (IsPlayerConnected(badguy))
    {
    if(badguy != INVALID_PLAYER_ID)
    {
    if (IsACop(badguy)|| gTeam[badguy] == 1)
    {
    SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: You will have to contact internal affairs. This is an emergency line");
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }
    if (WantedPoints[badguy] > 0)
    {
    SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: Units are already assigned to that case");
    SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime");
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }
    if (badguy == playerid)
    {
    SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: Dont Fool Around, This is an emergency line.");
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }
    SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: We have alerted all units in the area.");
    SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime");
    SetPlayerCriminal(badguy,playerid, PlayerCrime[playerid][pAccusing]);
    if(WantedPoints[badguy] > 0) { } //else { WantedPoints[badguy] += 2; }
    SendClientMessage(playerid, COLOR_GRAD2, " They Hung Up...");
    Mobile[playerid] = 255;
    return 0;
    }//invalid id
    return 0;
    }//not connected
    else
    {
    format(string, sizeof(string), "Police HQ: I have no Information on %s, are you sure thats the right name?",tmp);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    return 0;
    }
    }



    An Proxdetector liegt es nicht! Da auch dies hier
    if(TalkingLive[playerid] != 255)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playerid][pJob] == 6)
    {
    format(string, sizeof(string), "LiveNR %s: %s", sendername, text);
    OOCNews(COLOR_LIGHTGREEN, string);
    }
    else
    {
    format(string, sizeof(string), "LivePlayer %s: %s", sendername, text);
    OOCNews(COLOR_LIGHTGREEN, string);
    }
    return 0;
    }


    Also alles was in die Richtung geht, klappt nicht

    Du brauchst eine Website?

    Du hast ein Layout angefertigt und willst es gecoded sehen?

    DANN SCHREIB MICH AN.

    Kostenlos und für euch.