NPC-Stop Verstehe nicht mehr, was der Bot macht.

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
  • Ich bin dabei einen Reallife-Server zu schreiben.
    Bisher gab es kaum Probleme, aber nun bin ich dabei den Busbot anhalten zulassen, damit er die anderen Spieler nicht einfach weghaut.
    Dies ist der NPCMode, den ich verwende:
    #include <a_npc>
    #include <float>
    main(){
    SetTimer("BusTimer",1000,1);
    }
    new trigger = 0;
    new stopped = 0;
    #define RECORDING "Frakbus2"
    #define RECORDING_TYPE 1


    public OnRecordingPlaybackEnd()
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);


    public OnNPCEnterVehicle(vehicleid, seatid)
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);


    public OnNPCExitVehicle()
    StopRecordingPlayback();


    public OnPlayerText(playerid,text[]){
    //PauseRecordingPlayback();
    }
    forward BusTimer();
    public BusTimer(){
    new Float:X,Float:Y,Float:Z;
    trigger = 0;
    GetMyPos(X,Y,Z);
    for(new i = 2; i < MAX_PLAYERS; i++){
    if(IsPlayerInRangeOfPoint(2,10,X,Y,Z)){
    PauseRecordingPlayback();
    trigger = 1;
    if(!stopped){
    SendChat("Busfahrer schreit: \"Ey, Platz da!\"");
    }
    stopped = 1;
    }
    }
    if(!trigger){
    stopped = 0; ResumeRecordingPlayback();
    }
    return 1;
    }


    So, nun erklär ich mal was passiert:
    Wenn ich losfahre um den Bus aufzusuchen, verwende ich einen Befehl bei dem ein Marker gesetzt wird.
    Der Marker liegt dann irgendwo auf der Straße. DAs Fahrzeug jedoch liegt dann irgendwo am Straßenrand.
    Auf einmal springt der Marker weiter(ein Punkt, der etwas weiter entlang der Strecke liegt)
    Und ich sehe das Fahrzeug des Bots ohne Beachtung der physikalischen Kräfte in irgendeine Richtung schweben.
    Ich verstehe das nicht mehr.
    Ich habe versucht den Bot mit OnPlayerText(playerid,text[]) anzuhalten, was ganz gut geklappt hat.
    Ich hoffe, dass ihr mir helfen könnt.
    MfG red13


    //edit: Zur Behebung von Verständnisproblemen: das 'new i = 2' in der for-Schleife ist dazu da, damit der Bus nicht die anderen Bots erkennt. 0 und 1 sind besetzt

    2 Mal editiert, zuletzt von red13 ()