BOTS Verlassen den Server

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, und zwar habe ich 4 Bots 2 Sitzen im Flugzeug 1 im Hellikopter doch das Problem ist das 2 Bots vom Server Leften und nur 1 Bleibt und 1 Joint gar nicht der im Helli Sitzen sollte.
    Leider Arbeite ich das erste mal mit Bots hab ich was Falsch?


    Zitat

    [npc:join] [BOT]Sommer has joined the server
    [23:42:39] [npc:join] [BOT]Weihnachts has joined the server
    [23:42:39] [npc:join] [BOT]Herbst has joined the server
    [23:42:44] |[BOT]Herbst NPC - Wurde im Flugzeug Platziert|
    [23:42:44] [npc:part] [BOT]Sommer has left the server (0:2)
    [23:42:44] [npc:part] [BOT]Weihnachts has left the server


    if(IsPlayerNPC(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "[BOT]Herbst", true))
    {
    print("|[BOT]Herbst NPC - Wurde im Flugzeug Platziert|");
    SetPlayerSkin(playerid, 61);
    new Text3D:label1 = Create3DTextLabel("Airways", COLOR_YELLOW, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label1, playerid, 0.0, 0.0, 0.7);
    new Text3D:label4 = Create3DTextLabel("[BOT]Herbst", COLOR_GREEN, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label4, playerid, 0.0, 0.0, 0.3);
    PutPlayerInVehicle(playerid, BOTveh1, 0);


    if(!strcmp(npcname, "[BOT]Sommer", true))
    {
    print("|[BOT]Sommer NPC - Wurde im Flugzeug Platziert|");
    SetPlayerSkin(playerid, 61);
    new Text3D:label2 = Create3DTextLabel("Airways", COLOR_YELLOW, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label2, playerid, 0.0, 0.0, 0.7);
    new Text3D:label5 = Create3DTextLabel("[BOT]Sommer", COLOR_GREEN, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label5, playerid, 0.0, 0.0, 0.3);
    PutPlayerInVehicle(playerid, BOTveh2, 0);
    return 1;
    }


    if(!strcmp(npcname, "[BOT]Weihnachts", true))
    {
    print("|[BOT]Weihnachts NPC - Wurde im Flugzeug Platziert|");
    SetPlayerSkin(playerid, 61);
    new Text3D:label3 = Create3DTextLabel("Airways", COLOR_YELLOW, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label3, playerid, 0.0, 0.0, 0.7);
    new Text3D:label6 = Create3DTextLabel("[BOT]Weihnachts", COLOR_GREEN, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label6, playerid, 0.0, 0.0, 0.3);
    PutPlayerInVehicle(playerid, BOTveh3, 0);
    return 1;
    }


    if(!strcmp(npcname, "[BOT]test", true))
    {
    print("|[BOT]test NPC - Wurde im Helicopter Platziert|");
    SetPlayerSkin(playerid, 87);
    new Text3D:label3 = Create3DTextLabel("Airways", COLOR_YELLOW, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label3, playerid, 0.0, 0.0, 0.7);
    new Text3D:label6 = Create3DTextLabel("[BOT]test", TEAM_ORANGE, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label6, playerid, 0.0, 0.0, 0.3);
    PutPlayerInVehicle(playerid, BOTveh4, 0);
    return 1;
    }
    return 1;
    }
    }

  • Habt ihr auch in der .pwn für den Bot auch zugewiesen, ob er ein Fahrzeug oder Fussbott sein soll?
    #include <a_npc>
    #define RECORDING "limo"// Zivi gegen euren Aufnahmenamen ersetzen!


    main()
    {
    }


    public OnRecordingPlaybackEnd()
    {
    StartRecordingPlayback(1, RECORDING);//2 = Aufnahmetyp - Zu fuß, Recording 1= Fahrzeug = Der oben definierte Aufnahmename
    }


    public OnNPCExitVehicle()
    {
    StartRecordingPlayback(1, RECORDING);//2 = Aufnahmetyp - Zu fuß 1= Fahrzeug , Recording = Der oben definierte Aufnahmename
    }


    public OnNPCSpawn()
    {
    StartRecordingPlayback(1, RECORDING);//2 = Aufnahmetyp - Zu fuß, Recording = Der oben definierte Aufnahmename
    }
    public OnPlayerStreamIn(playerid)
    {
    return 1;
    }
    Ist ne Kopie von meiner.
    //edit
    Sind die .rec Datein auch alle da wo sie hingehören?

  • Ja die REC Dateien sind da wo sie hingehören..



    #include <a_npc>


    #define NUM_PLAYBACK_FILES 3
    new gPlaybackFileCycle=0;
    //------------------------------------------


    main(){}


    //------------------------------------------
    NextPlayback()
    {
    if(gPlaybackFileCycle==NUM_PLAYBACK_FILES) gPlaybackFileCycle = 0;


    if(gPlaybackFileCycle==0) {
    StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,"Heli_lv_to_sf");
    }
    else if(gPlaybackFileCycle==1) {
    StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,"Heli_sf_to_ls");
    }
    else if(gPlaybackFileCycle==2) {
    StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,"Heli_ls_to_lv");
    }
    gPlaybackFileCycle++;
    }
    //------------------------------------------
    public OnRecordingPlaybackEnd()
    {
    NextPlayback();
    }
    //------------------------------------------
    public OnNPCEnterVehicle(vehicleid, seatid)
    {
    NextPlayback();
    }
    //------------------------------------------
    public OnNPCExitVehicle()
    {
    StopRecordingPlayback();
    gPlaybackFileCycle = 0;
    }
    //------------------------------------------


  • Ja Sobald man Einsteigt Fliegt er los.


    Dumme frage aber
    wie sollte ich ihm eine Lizenz geben, wenn es kein Spieler ist ?


    /7edit zB so ? SpielerInfo[playerid][pFlyLic] = 1;

  • ganz normal ? ^^
    Er wird sozusagen dennoch als Spieler ausgegeben, auch wenn er ein Bot ist.
    Er nimmt ja dennoch ein Platz auf dem Server ein und connectet auf diesen.


    Beispiel:
    Spieler[playerid][pSchein] = 1;



    Solltest du den normalen Spielern so den Schein zuweisen,
    musst du auch den Bot diesen Schein zuweisen, da die Fahrzeuge ja auf deinen
    Server wahrscheinlich auf einen Schein bestehen.


    Also z.b. teilst du einen normalen Spieler die Fluglizens mit:
    Spieler[playerid][pLicFlug] = 1;
    zu.
    So musst du dies auch bei dem Bot machen, wenn er connectet und wenn du ihn den Skin zuweist mit:
    Spieler[playerid][pLicFlug] = 1;

  • ReborN: Hab ich nun gemacht, leider Leften die weiterhin außer 1 Bot.
    Das Register müsste ich aber nicht Überspringen richtig?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du musst den Bot eigentlich nur unter "OnPlayerSpawn" alles zu teilen.
    Und bei OnGameModeInit ihn connecten lassen.


    Wenn du einen Bot erstellst mit:



    if(!strcmp(npcname, "[BOT]Sommer", true))
    {
    Bla hinzufügen das zeug
    }
    if(!strcmp(npcname, "[BOT]Sommer", true))
    {
    Bla hinzufügen
    }
    return 1;


    Du brauchst nicht bei jeden Bot einen einzelnen return setzen,
    wenn du die Schleife beendet hast, kannst du es setzen, vorher ist es unsinnig,
    bei mir lag daran damals der Fehler, wieso die immer wieder disconnectet sind.
    Probier es mal aus

  • ReborN: WOW Es Klappt ! 3 Stück Spawnen nun :thumbup: Danke ;D


    Leider Connectet noch der eine letzte nichts.
    if(!strcmp(npcname, "[BOT]test", true))
    {
    print("|[BOT]test NPC - Wurde im Helicopter Platziert|");
    SetPlayerSkin(playerid, 87);
    new Text3D:label3 = Create3DTextLabel("Airways", COLOR_YELLOW, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label3, playerid, 0.0, 0.0, 0.7);
    new Text3D:label6 = Create3DTextLabel("[BOT]test", TEAM_ORANGE, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label6, playerid, 0.0, 0.0, 0.3);
    PutPlayerInVehicle(playerid, BOTveh4, 0);
    }


    //edit deswegen ist ein bot connectet er hatte ja kein return

  • MAX_NPC´s richtig hochgestellt?
    .rec Datei nicht beschädigt?
    .pwn Datei richtig eingetragen?
    BOTveh4 auch richtig erstellt?


    Habe alles durchgecheckt, alles ist so wie es sein sollte, nur der letzte will nicht hehe.
    Der Connectet ja nicht einmal.



    @Rocky: Leider will der letzte weiterhin nicht.

  • Probier mal den Bot mit einer anderen .rec Datei connecten zu lassen.
    Bzw. ist beim Bot davor auch alles gesetzt wurden?
    Printet er dir deinen Satz auch in der Log aus ?


    Nein tut er nicht


    SQL
    [01:03:02] [npc:join] [BOT]Sommer has joined the server ()
    [01:03:02] [npc:join] [BOT]Weihnachts has joined the server ()
    [01:03:02] [npc:join] [BOT]Herbst has joined the server ()


    und mit ihm Passiert leider nicht´s hab nochmal alles durch geschaut er wird gleich erstellt wie die anderen hat nur eine andere rec datei halt. Denkst du es könnte daran liegen?

  • Naja sagen wir mal so, es wäre das einzigste was mir noch einfallen würde, dass die .rec Datei fehlerhaft ist.
    Mach mal aus deinen [BOT]Herbst den [BOT]test,
    sollte er dann mit der .rec Datei von Herbst connecten und auch drauf bleiben, passt was mit der .rec Datei nicht.

  • Das problem, hat sich doch noch nicht Gelöst... wie ich gemerkt habe sind die Bots in der Luft gefreezd und Spawnen nicht..