[GF] Bot Connectet und geh dann wieder.

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,


    ich habe einen Bot erstellt alles geht aber sobald er Connectet und einne Moment ca. 2 Sec drauf ist geht er wieder vom Server.


    if(IsPlayerNPC(playerid))
    {
    gPlayerLogged[playerid] = 1; //if(gPlayerLogged[playerid] == 1)
    }


    Liebe Grüße



    //edit wegen änderung im Script

    Einmal editiert, zuletzt von xXFuchsXx ()

  • ConnectNPC("Bus1","Bus1");


    habe ich passiert denoch

  • ConnectNPC("Bus1","Bus1");//



    else if(!strcmp(playername, "Bus1", true)) {
    PutPlayerInVehicle(playerid, Buscar1, 0);//PutPlayerInVehicle(playerid, CARBOTCAR[0], 0);
    SetPlayerSkin(playerid, 29);
    }


    Buscar1 = CreateVehicle(431, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);


    new Buscar1;



    public OnPlayerDisconnect(playerid)
    {
    StreamObject_OnPlayerDisconnect(playerid);
    OnPlayerCarUpdate(playerid);
    gActivePlayers[playerid]--;
    numplayers--;
    PlayerInfo[playerid][pAdjustable] = 1;
    OnPlayerUpdateGF(playerid);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(TaxiAccepted[i] < 999)
    {
    if(TaxiAccepted[i] == playerid)
    {
    TaxiAccepted[i] = 999;
    GameTextForPlayer(i, "~w~Taxianrufer~n~~r~ ist untergetaucht", 5000, 1);
    TaxiCallTime[i] = 0;
    DisablePlayerCheckpoint(i);
    }
    }
    else if(BusAccepted[i] < 999)
    {
    if(BusAccepted[i] == playerid)
    {
    BusAccepted[i] = 999;
    GameTextForPlayer(i, "~w~Kunde ist~n~~r~ untergetaucht", 5000, 1);
    BusCallTime[i] = 0;
    DisablePlayerCheckpoint(i);
    }
    }
    }
    }
    if(GettingCK[playerid] < 999)
    {
    if(IsPlayerConnected(GettingCK[playerid]))
    {
    SendClientMessage(GettingCK[playerid], COLOR_YELLOW, "Your Character Kill has left the server, try again later.");
    OnCK[GettingCK[playerid]] = 999;
    }
    }
    if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
    {
    if(IsPlayerConnected(TransportDriver[playerid]))
    {
    new string[64];
    TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
    TransportTime[TransportDriver[playerid]] = 0;
    TransportCost[TransportDriver[playerid]] = 0;
    format(string, sizeof(string), "~w~Beifahrer verlässt das Taxi. Du hast ~n~~g~ $%d bekommen!",TransportCost[playerid]);
    GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
    }
    }
    if(GotHit[playerid] > 0)
    {
    if(GetChased[playerid] < 999)
    {
    if(IsPlayerConnected(GetChased[playerid]))
    {
    SendClientMessage(GetChased[playerid], COLOR_YELLOW, " Dein Auftrag ist untergetaucht.");
    GoChase[GetChased[playerid]] = 999;
    }
    }
    }
    if(PlayerPaintballing[playerid] != 0)
    {
    PaintballPlayers --;
    }
    if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0)
    {
    KartingPlayers --;
    }
    if(PlayersChannel[playerid] < 999)
    {
    IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
    }
    if(HireCar[playerid] != 299)
    {
    gLastDriver[HireCar[playerid]] = 300;
    gCarLock[HireCar[playerid]] = 0;
    UnLockCar(HireCar[playerid]);
    }
    if (gLastCar[playerid] > 0)
    {
    gLastDriver[gLastCar[playerid]] = 300;
    if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
    {
    gCarLock[gLastCar[playerid]] = 0;
    UnLockCar(gLastCar[playerid]);
    }
    }
    if(PlayerBoxing[playerid] > 0)
    {
    if(Boxer1 == playerid)
    {
    if(IsPlayerConnected(Boxer2))
    {
    PlayerBoxing[Boxer2] = 0;
    SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
    SetPlayerInterior(Boxer2, 5);
    GameTextForPlayer(Boxer2, "~r~Match interupted", 5000, 1);
    }
    }
    else if(Boxer2 == playerid)
    {
    if(IsPlayerConnected(Boxer1))
    {
    PlayerBoxing[Boxer1] = 0;
    SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
    SetPlayerInterior(Boxer1, 5);
    GameTextForPlayer(Boxer1, "~r~Match interupted", 5000, 1);
    }
    }
    InRing = 0;
    RoundStarted = 0;
    Boxer1 = 255;
    Boxer2 = 255;
    TBoxer = 255;
    }
    if(TransportDuty[playerid] == 1)
    {
    TaxiDrivers -= 1;
    }
    else if(TransportDuty[playerid] == 2)
    {
    BusDrivers -= 1;
    }
    if(PlayerInfo[playerid][pJob] == 11)
    {
    if(JobDuty[playerid] == 1) { Medics -= 1; }
    }
    else if(PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pLeader] == 19)
    {
    if(JobDuty[playerid] == 1) { Mechanics -= 1; }
    }
    return 1;
    }


    LG

  • hast du als du den bot aufgenommen hast auch die rec datei mit dem script verknüpft? Es gibt ja nochmal ein extra script zu den bots. In diesem script is dann die .rec file "eingebunden". im GM "bindest" du dann dieses script "ein". Weißt du was ich meine? xD Weiß net so richtig wie ich das sagen soll.

  • ich habe noch die bus1.rec und die pwn + amx. in npcmodels/....



    einfacher wäre Skype: nils43634363

  • Im Godfather hast du ja ein Account system.
    Registriere dich mit dem Botnamen neu auf dem Server.
    Dann machst du unter der Zeile wo der Bot Connected das er eingeloggt ist, das er spawnt und das er sein Accountfile läd.


    OnPlayerLogin(playerid,/*sein PW*/);



    So entweder du stellst nun den Server kurz aus und setzt die Variablen in seinem Acc file auf 1 oder du machst es ins script mit unter Onplayerconnect.
    Du musst nähmlich alle Führerscheine dem Bot geben, sonst wird er aus dem Auto geschmissen.


    Das er immer den Server verlässt liegt daran das wenn man ohne /login den Server betritt immer automatisch gekickt wird.
    Halt GF xD




    Hier der Komplette abschnitt in OnPlayerConnect:



    public OnPlayerConnect(playerid)
    {
    if(!IsPlayerNPC(playerid))
    {
    /*Dein Ganzer Code*/
    }
    else
    {
    gPlayerLogged[playerid] = 1;
    PlayerInfo[playerid][pTut] = 1;
    gPlayerAccount[playerid] = 1;
    SpawnPlayer(playerid);
    SetPlayerColor(playerid,ORANGE);
    OnPlayerLogin(playerid,"PW vom Botfile");
    /*Wenn du die Schein nicht im accfile auf 1 setzt dann hier dies noch tun*/
    }
    return 1;
    }



    Das noch unter Onplayerdisconnect als Sicherheit:



    if(IsPlayerNPC(playerid))
    {
    ConnectNPC("blub","blub");
    PutPlayerInVehicle(playerid, CARBOTCAR, 0);
    }



    Bei Onplayerspawn:



    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Botname", true))
    {
    PutPlayerInVehicle(playerid, CARBOTCAR, 0);
    SetVehicleParamsForPlayer(CARBOTCAR,playerid,0,1);
    }
    return 1;
    }


    Und unter OnGameModeInit zum Connecten des Bots:



    ConnectNPC("carbot","carbot");// erstes carbot steht für den namen hier im script, 2tes wie der record heißt
    CARBOTCAR = CreateVehicle(431, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);//dein Botauto


    Für mich is GF sowieso umständlich da du unnötig viel Code brauchst um irgendwas neues einzubauen^^
    Bei fragen einfach Posten.


    __________________________________________________________________________________________

  • OnGameModeInit:
    ConnectNPC("carbot","carbot");// erstes carbot steht für den namen hier im script, 2tes wie der record heißt
    CARBOTCAR = CreateVehicle(431, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);//dein Botauto


    OnPlayerConnect:

    if(IsPlayerNPC(playerid))
    {
    gPlayerAccount[playerid] = 1;
    gPlayerLogged[playerid] = 1;
    return 1;
    }


    OnPlayerSpawn:
    if(IsPlayerNPC(playerid))
    {
    PlayerInfo[playerid][pCarLic] = 1;
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "carbot", true))
    {
    PutPlayerInVehicle(playerid, CARBOTCAR, 0);
    return 1;
    }
    }


    So, habe alles noch einmal zusammengefasst!
    Soweit ich gesehen habe habt ihr Profis dem Bot keinen Führerschein gegeben :D
    Führerschein bekommt er nun so:
    PlayerInfo[playerid][pCarLic] = 1;
    Bei OnPlayerSpawn.


    Ich hoffe ich konnte helfen :)



    mfg
    Humen