Chatbot... Frage

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
  • Morgen,


    ich habe mich heute früh mal an einen Chatbot rangesetzt und habe nun folgendes Problem.


    Code
    if(!strfind(text,"Fred",true))
    	{
    	    new string[128];
    		switch(random(11))
    		{
    		case 0: {
    					SendClientMessageToAll(WEIß, "{FF33FF}Fred:{ffffff} Ya Sir?");
    				}
    		case 1: { ....

    und dann gehts eben so weiter.


    Wenn man aber nun "Fred" eingibt, sieht man zu erst das geschriebene vom Chatbot und dann erst die Frage des Spielers. Also z.B. [Spieler fragt] Fred? || Chatbot antwortet: Ya Sir?... Das ganze sieht dann aber so aus: Fred: Ya Sir? und danach erst die Frage des Spielers. Ich dachte mir das ich bei OnPlayerText einfach nen Timer setze (1sek) ... geht das vielleicht auch einfacher?


    Mfg Alberi_Carino

  • Mach es so:



    public OnPlayerText(playerid, text[])
    {
    SendClientMessage(playerid,-1,text); //Damit es davor kommt


    if(!strfind(text,"Fred",true))
    {
    switch(random(11))
    {
    case 0:(SendClientMessage(playerid,-1, "{FF33FF}Fred:{ffffff} Ya Sir?"));
    ...
    }


    return 0; //Das es nicht doppelt geschrieben wird
    }


    Ich hoffe so geht es :thumbsup: