Problem mit Chatbot

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 zämme ...


    Habe einen ChatBot geschriben, der auf dumme Komentare antwortet oder auf bestimmte Befehle antwortet ...
    Problem ist, wenn aich NICHTS angegeben ist, macht er das was als erstes in der if Anweisung steht ...
    Was mache ich falsch?


    public OnPlayerText(playerid, text[])
    {
    if(!strcmp(text, "bot", true, 3))
    {
    if(!strlen(text[4]))
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 1, playerid, "Bot");
    }
    if(!strcmp(text[4], "spruch", true))
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 2, playerid, "Bot");
    }
    else if(!strcmp(text[4], "datum", true))
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 3, playerid, "Bot");
    }
    else if(!strcmp(text[4], "version", true))
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 4, playerid, "Bot");
    }
    else if(!strcmp(text[4], "serverinfo", true))
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 5, playerid, "Bot");
    }
    else
    {
    SetTimerEx("Bot", BOT_DELAY, false, "is", 1, playerid, "Bot");
    }
    }
    return 1;
    }


    public Bot(mode, playerid, text[])
    {
    if(mode == 1)
    {
    SendClientMessage(playerid, BOTCOLOR, "Bot: Möglichkeiten: spruch, version, datum, serverinfo");
    }
    else if(mode == 2)
    {
    switch(random(4))
    {
    case 0: SendClientMessageToAll(BOTCOLOR, "Bot: Scheiße in der Lampenschale gibt gedämpftes Licht im Saale.");
    case 1: SendClientMessageToAll(BOTCOLOR, "Bot: Nervengas ist kein Spielzeug.");
    case 2: SendClientMessageToAll(BOTCOLOR, "Bot: Lieber einen wackeligen Stammtisch, als einen festen Arbeitsplatz.");
    }
    }
    else if(mode == 3)
    {
    new year, month, day, hour, minute, str[128];
    getdate(year, month, day);
    gettime(hour, minute);
    format(str,sizeof(str), "Bot: Heute ist der %02d,%02d,%d und es ist %02d:%02d Uhr.", day, month, year, hour, minute);
    SendClientMessageToAll(BOTCOLOR, str);
    }
    else if(mode == 4)
    {
    SendClientMessageToAll(BOTCOLOR, "Bot: Chatbot V0.1 by Projumper.");
    }
    else if(mode == 5)
    {
    SendClientMessageToAll(BOTCOLOR, "Bot: Server - GermanCityOfDreams");
    SendClientMessageToAll(BOTCOLOR, "Bot: IP - No IP set.");
    SendClientMessageToAll(BOTCOLOR, "Bot: Besitzer - Projumper & Alex");
    }
    }

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)

  • text[4]
    Ist nur ein char und deshalb ist strcmp(text[4],"...") auch nei 0, denke ich^^