OOC Chat ist verbuggt

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
  • Hey ich habe zwar noch einen Text aber der war zum anschalten des OOCs und das war unwichtig.
    Undzwar ist es so das wenn ich /o Hey eingebe nur der 3te Buchstabe angezeigt wird also zB. mit /o Hey dann geht es aber wie stelle ich das ein das es direkt bei dem Ersten Abstand geht?


    if(!strcmp(cmdtext, "/o", true,2)){
    if(ToggleOOC == 0)
    {
    SendClientMessage(playerid, ROT, "Der OOC chat ist ausgeschaltet!");
    return 1;
    }
    if(!strlen(cmdtext[4])) SendClientMessage(playerid, ROT, "[Kasutus:] /o [tekst]");
    else {
    new tmp[192];
    GetPlayerName(playerid,tmp,24);
    format(tmp,192,"[Alle] %s: %s",tmp,cmdtext[5]);
    SendClientMessageToAll(0x0073FFFF,tmp);
    print(tmp);
    }
    return 1;
    }

    Der PC ist nur so schlau wie die Person die dahinter steckt.

  • Ich bin zwar kein scriper aber:


    if(!strlen(cmdtext[4])) SendClientMessage(playerid, ROT, "[Kasutus:] /o [tekst]");
    Muss so sein:


    if(!strcmp(cmdtext[4])) SendClientMessage(playerid, ROT, "[Kasutus:] /o [TEXT]");

  • Du verwendest es überhaupt fail. Du benötigst entweder die Methode strtok oder das Plugin+Methode sscanf.


    Ich zeige dir mal deine Fehler


    if(!strlen(cmdtext[4])) SendClientMessage(playerid, ROT, "[Kasutus:] /o [tekst]"); // Du fragst ab ob das 5. Zeichen der Variable cmdtext == null ist soll der Text kommen
    format(tmp,192,"[Alle] %s: %s",tmp,cmdtext[5]); // Du gibst hier nur das 6. Zeichen als Text aus


    Hier zum Kopieren und Einfügen der Methode strtok


    Schau dir das mal an.


    new cmd[128], idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/o", true) == 0)
    {
    if(ToggleOOC == 0) return SendClientMessage(playerid, ROT, "Der OOC chat ist ausgeschaltet!");
    new tmp[192], name[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, ROT, "[Kasutus:] /o [tekst]");
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(tmp,192,"[Alle] %s: %s",name,tmp);
    SendClientMessageToAll(0x0073FFFF,tmp);
    print(tmp);
    return 1;
    }


    Ich habs dir nun mal mit der strtok-Methode gemacht, aber schau dir dies bitte genau an damit du es auch genau verstehst.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg