(Bus-)bot connect -> disconnect ?!

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
  • hi ich versteh das nicht und zwar:
    Ich habe einen Busbot eingebaut auf dem HomeServer läuft der auch ohne Probleme aber beim richtigen Server connectet der eben mal drauf und paar sekunden später disconnectet der wieder-.-?
    Woran kann das liegen? maxnpc's ist sogar schon auf 10 in der server.cfg


    [02:18:19] [npc:join] Busbot has joined the server (....)
    [02:18:34] [npc:part] Busbot has left the server (0:0)


    Und an der Godfather sache das man nicht eingeloggt ist und gekickt wird kanns auch nicht liegen hab das eig überall geändern und naja beim homeserver gehts ja auch ohne probleme X(


    hat jemand evtl. ne lösung ? :/



    /E: problem besteht immernoch & noch was dazu geschrieben

  • SetPlayerSpawn:


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Busbot", true))
    {
    gPlayerLogged[playerid] = 1;
    PlayerInfo[playerid][pCarLic] = 1;
    PlayerInfo[playerid][pChar] = 255;
    PlayerInfo[playerid][pJob] = 14;
    SetPlayerSkin(playerid,255);
    PutPlayerInVehicle(playerid, Busbot, 0);
    return 1;
    }
    }


    OnPlayerSpawn:

    if(gPlayerLogged[playerid] == 0 && !IsPlayerNPC(playerid))
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "** Du musst dich vorher einloggen oder dir einen Account erstellen! ***");
    Kick(playerid);
    if(gPlayerAccount[playerid] == 1)
    {
    ForceClassSelection(playerid);
    TogglePlayerSpectating(playerid, 0);
    }
    else if(gPlayerAccount[playerid] == 0)
    {
    ForceClassSelection(playerid);
    TogglePlayerSpectating(playerid, 0);
    }
    return 1;
    }


    busbot.pwn :
    #include <a_npc>


    new gStoppedForTraffic = 0;


    public ScanTimer();


    #define AHEAD_OF_CAR_DISTANCE 11.0
    #define SCAN_RADIUS 11.0


    main(){}


    stock GetXYInfrontOfMe(Float:distance, &Float:x, &Float:y)
    {
    new Float:z, Float:angle;
    GetMyPos(x,y,z);
    GetMyFacingAngle(angle);
    x += (distance * floatsin(-angle, degrees));
    y += (distance * floatcos(-angle, degrees));
    }



    public OnNPCModeInit()
    {
    SetTimer("ScanTimer",200,1);
    }



    LookForAReasonToPause()
    {
    new Float:X,Float:Y,Float:Z;
    new x=0;


    GetMyPos(X,Y,Z);
    GetXYInfrontOfMe(AHEAD_OF_CAR_DISTANCE,X,Y);


    while(x!=MAX_PLAYERS) {
    if(IsPlayerConnected(x) && IsPlayerStreamedIn(x)) {
    if( GetPlayerState(x) == PLAYER_STATE_DRIVER ||
    GetPlayerState(x) == PLAYER_STATE_ONFOOT )
    {
    if(IsPlayerInRangeOfPoint(x,SCAN_RADIUS,X,Y,Z)) {
    return 1;
    }
    }
    }
    x++;
    }


    //new msg[256];
    //new Float:angle;
    //GetMyFacingAngle(angle);
    //format(msg,256,"My yaw/heading = %f",angle);
    //SendChat(msg);


    return 0;
    }



    //------------------------------------------


    public ScanTimer()
    {
    //new ticker = GetTickCount() - g_LastTick;
    //printf("npctest: timer (%d)ms", ticker);
    //g_LastTick = GetTickCount();


    new ReasonToPause = LookForAReasonToPause();


    if(ReasonToPause && !gStoppedForTraffic)
    {
    //SendChat("I'm pausing");
    PauseRecordingPlayback();
    gStoppedForTraffic = 1;
    }
    else if(!ReasonToPause && gStoppedForTraffic)
    {
    //SendChat("I'm resuming");
    ResumeRecordingPlayback();
    gStoppedForTraffic = 0;
    }
    }



    //------------------------------------------


    StartPlayback()
    {
    StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,"busbot");
    gStoppedForTraffic = 0;
    }



    //------------------------------------------


    public OnRecordingPlaybackEnd()
    {
    StartPlayback();
    }


    //------------------------------------------


    public OnNPCEnterVehicle(vehicleid, seatid)
    {
    StartPlayback();
    }


    //------------------------------------------


    public OnNPCExitVehicle()
    {
    StopRecordingPlayback();
    }


    //------------------------------------------


    mhh reicht das oder braucht ihr noch irgendwas? :d


    /edit: onplayerspawn geändert