Scripts wählen

06/05/2014 12:01 NerDxx™#1
Hi Leute wie kann ich einstellen das der Bot im Chat erkennt welches Script grade läuft.

zb

Leader sagt tunnel der Bot startet das Script NTAncientTunnel.ntj
oder
Leader sagt cow der Bot starter das Script NTCow.ntj


Code:
 RegisterEvent(EVENT_GAMEMSG, talk); 
 
function talk(msg, type) 
{ 
   if(type == 0 && msg.indexOf(_leader) != -1 && msg.indexOf("tunnel") != -1) 
   { 
    Load("NTBot/bots/NTAncientTunnel.ntj"); 
                  Delay(1000);

             } 
   } 

((((( oder  ))))))

  RegisterEvent(EVENT_GAMEMSG, talk); 
 
function talk(msg, type) 
{ 
   if(type == 0 && msg.indexOf(_leader) != -1 && msg.indexOf("cow") != -1) 
   { 
    Load("NTBot/bots/NTCow.ntj"); 
                  Delay(1000);

             } 
   }
Der Leader erkennt nur das unterste Script was muss ich einfügen damit er beide erkennt oder 3,4,5,6 Scripts ?

Mfg, NerDxx™
06/05/2014 13:01 Grommel#2
du solltest das event nur einmal adden und dadrin alle abfragen machen und rausspringen wenn was passt oder eben nicht passt.

Code:
RegisterEvent(EVENT_GAMEMSG, talk); 

function talk(msg, type) 
{ 

   if( type != 0 || msg.indexOf(_leader) != -1 ) {
      return; // beenden wenn nachricht nicht vom leader
   }

   if( msg.indexOf("tunnel") > 0 )  { 
       Load("NTBot/bots/NTAncientTunnel.ntj"); 
       Delay(1000);
       return;
   } 

   if( msg.indexOf("cows") > 0 )  { 
       Load("NTBot/bots/NTCow.ntj"); 
       Delay(1000);
       return;
   } 

}
btw, diese nutzung von indeOf ist stümperhaft, aber es wird ja in jedem bot so gemacht von daher juckts mich hier jetzt auch net. Sollte ein Gast sagen "will der LEADERNAME net mal cows machen" ... dann würde auch das passen !!!
06/05/2014 14:23 NerDxx™#3
Danke für die Hilfe


So gehts


Leider bleibt er im ersten Script und startet das zweite Script wollte eigentlich das er sofort ins zweite springt.