Samp 0.3 Bots Erstellen [überarbeitet]

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


    Erstellt Du den Zug auch mit AddStaticVehivle unter OnGameModeInit ?


    DUDA

    hallo,


    unter OnGameModeInit ja, AddStaticVehicle nein, dachte das geht wie beim busbot mit CreateVehicle naja geht alles zug fuhr erst rückwerts aber die rotation war noch auf 0.0 statt 270.0 und ich bekahm erst einen schock :D naja funzt alles danke für die antwort!!! vll kannst du mir oder irgendwer noch sagen warum das so ist das beim bus CreateVehicle und beim zug nur AddStaticVehicle funktioniert würde mich jetzt mal interessieren :D

  • Hallo


    Wenn Du einen Zug erstellen willst (und Tram auch), musst Du AddStaticVehicle benutzen ;)

    ja okay ich dacht nur du kannst es genauer sagen aber schonmal gut zu wissen das das so sein muss :D

  • Hallo


    Das ist jetzt zwar ein Bus, aber Du kannst es einfach ändern. Du benötigst folgende Sachen:


    -Bot (Recording, also welche Route und so)
    -Bot muss connecten
    -Du erstellst ein Fahrzeug
    -Du setzt den Bot in das Fahrzeug


    So habe ich es in Erinnerung. Bin mir aber nicht sicher, ob noch was fehlt ;)


    new TBC[2];


    ConnectNPC("NPC_1","NPC_BUS_1");
    ConnectNPC("NPC_2","NPC_BUS_2");
    TBC[0] = AddStaticVehicle(437, 1481.8081, -1734.7583, 13.5160, 269.4076, 1, 3);
    TBC[1] = AddStaticVehicle(437, 1526.8893, -1668.2798, 13.5161, 179.5155, 1, 3); //-- AutoID: 32


    Und dann setzt Du den/die Bot in das betreffende Fahrzeug:


    if(IsPlayerNPC(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "NPC_1", true))
    {
    PutPlayerInVehicle(playerid, TBC[0], 0);
    SetPlayerSkin(playerid, 255);
    }
    if(!strcmp(npcname, "NPC_2", true))
    {
    PutPlayerInVehicle(playerid, TBC[1], 0);
    SetPlayerSkin(playerid, 255);
    }
    return 1;
    }


    Ich hoffe ich kann dir helfen, musst den Code womöglich noch anpassen, sonst meld dich einfach ;)
    dUDA

  • wenn ich einen Bot nur einbaue funktionert er einwandfrei.


    Aber habe jez mehrere und immer wenn ich in deren Sichtweite bin bleiben die stehen und der Typ steht auf dem Bus und der Bus bleibt stehen.


    Kann mir jemand helfen?


    habe GF Edit.

  • habe auch GF Edit klappt einwandfrei also zug und busbot 2x busbot hab ich noch nicht probiert aber wenn du es nach dem schema auf seite 10 machst darf da eig nichts schief laufen so ausem kopf heraus kann ich dir sonst auch nicht sagen was das problem ist :)


    Edit: hat sich erledigt :D


    Edit1: Text Dazu Geschrieben
    Edit2: Erledigt

  • Hallo liebe Bot Pro's ,^^.
    Bei mir funken die Bots auf meinem GF ohne das sie sofort disconnecten.
    Jedoch disconnecten sie nach 15 Sekunden.
    Ist das normal , oder muss man die Bots noch umstellen das sie sich halt immer wiederholen?
    Oder passiert das Automatisch?


    /Edit: Hat sich doch nicht erledigt.

    ktos-dev.de
    Webentwicklung & Gestaltung uvm.

    2 Mal editiert, zuletzt von Nico65 ()

  • new car_Busbot;


    public OnPlayerConnect(playerid)
    {
    // wayne
    {
    if (IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Busbot", true))
    gPlayerAccount[playerid] = 1;
    gPlayerLogged[playerid] = 1;
    OnPlayerLogin(playerid,"ggg");
    return 1;
    }
    }


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Busbot", true))
    {
    PutPlayerInVehicle(playerid, car_Busbot, 0);//car_BulletLS = das Fahrzeug was wir oben erstellt haben, 0 = der Fahrersitz
    }
    }


    ConnectNPC("Mr_Amok","Busbot");//Das erste BulletLS steht für den Namen hier im Script, das 2te für den Namen der .rec Datei
    car_Busbot = CreateVehicle(431, 1000.0,1000.0, 1000.0, 0.0, 10, 1, -1);//car_BulletLS ist der Name des Autos mit dem der Bot fahrt, Die Positionen von CreateVehicle sind egal,



    So, habe es nun so... Nur das Problem ist -.- das wenn ich mich ins Spiel anmelde, um zuschauen ob der funzt spawnt der in meinem Bett wo ich starte! Dann portet der sich zwischenzeitlich immer wieder sonst wohin.. und dann wieder in mein bett..


    Weiß nicht wo das Problem liegt verzweifel langsam an den scheiß Godfather und dem Bot :D
    & plz keine Kommentare wie, warum nutzt du dann GF etc. Ich nutze ihn nunmal

  • C:\Dokumente und Einstellungen\Jan\Desktop\Los Angeles Reallife v4.6\gamemodes\Bot.pwn(40) : error 001: expected token: "#endif", but found "-end of file-"
    C:\Dokumente und Einstellungen\Jan\Desktop\Los Angeles Reallife v4.6\gamemodes\Bot.pwn(40) : warning 203: symbol is never used: "IsNumeric"
    C:\Dokumente und Einstellungen\Jan\Desktop\Los Angeles Reallife v4.6\gamemodes\Bot.pwn(40) : warning 203: symbol is never used: "ReturnUser"
    C:\Dokumente und Einstellungen\Jan\Desktop\Los Angeles Reallife v4.6\gamemodes\Bot.pwn(40) : warning 203: symbol is never used: "car_bus2"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    #include <a_samp>
    #include <utils>
    new car_bus2;
    #if defined FILTERSCRIPT


    public OnGameModeInit()
    {
    ConnectNPC("bus2","bus2");//Das erste BulletLS steht für den Namen hier im Script, das 2te für den Namen der .rec Datei
    car_bus2 = CreateVehicle(431, 1000.0,1000.0, 1000.0, 0.0, 10, 1, -1);//car_BulletLS ist der Name des Autos mit dem der Bot fahrt, Die Positionen von CreateVehicle sind egal,
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }
    public OnPlayerConnect(playerid)
    {
    //Hier Aufpassen! Der Bot wird hier eingeloggt
    //In jeden Login&Register Script wird entweder in OnPlayerconnect oder erst später überprüft ob bereits ein Account mit diesen Namen besteht oder nicht,
    //deswegen unbedingt die Bedingungen bei diesen Scripts anpassen!
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "bus2", true))
    {
    gPlayerLogged=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }


    return 1;
    }

  • Bekomme immer die selben Errors.


    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(54) : error 017: undefined symbol "gPlayerLogged"
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(54) : warning 215: expression has no effect
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(59) : warning 217: loose indentation
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(59) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(59) : error 004: function "OnPlayerSpawn" is not implemented
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(60) : warning 217: loose indentation
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(67) : error 017: undefined symbol "pCarLic"
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(67) : warning 215: expression has no effect
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(67) : error 001: expected token: ";", but found "]"
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(67) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\ADMINI~1\Desktop\Ordner\SAMP-S~1\SAMP03~2\FILTER~1\bot-neu.pwn(67) : fatal error 107: too many error messages on one line


    und hier die Zeilen:


    gPlayerLogged=1;//Der Bot ist gleich eingeloggt (Anpassen!)
    }
    }



    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "PhoenixLS", true))
    {
    pCarLic[playerid]=1;//Hier muss der Führerschein gegeben werden! (Anpassen!)
    PutPlayerInVehicle(playerid, car_PhoenixLS, 0);//car_BulletLS = das Fahrzeug was wir oben erstellt haben, 0 = der Fahrersitz
    }
    }



    Hoffe mir kann jemand helfen.


    MfG
    Cj

  • ich habe da das problem bei mir geht es einfach nicht immer wenn ich dann ingame gehe dann steht da nur z.B. der Bus aber da ist kein NPC drin wieso?

    KLICK HIER DRAUF>>>>>><<<<<<<KLICK HIER DRAUF

  • Hey Toby,
    habe heute dein Tutorial benutzt um eine Einführung in den Server(Roleplay-Server) beim Registrieren zu erstellen. Alles perfekt erklärt hat beim ersten mal sofort funktioniert!!
    Ich muss nur den Bullet durch ein Taxi ersetzten noch keine ahnung wie aber ich bekomm das hin.
    Ich finde den BOT einfach Spitze!!
    Meine Bewertung an dich:
    Erklärung: 10/10
    Funktion: 10/10
    Übersichtlichkeit deines Tuts: 10/10
    Gesamt: 30/30
    Vielen Dank! :thumbup:
    Liebe Grüße
    Rulez

  • Ich möchte 4 ZugBots und 2 Trams fahren lassen.
    Soweit so gut.
    Aber irgendwie fahren alle Bits ineinander und alle bots connecten gleich..


    ConnectNPC("trainbot0","train");
    ConnectNPC("Henry","tram");
    SetTimer("Tram2Connect",60000*3,0);
    SetTimer("Bot2Connect",zahl,0);
    SetTimer("Bot3Connect",zahl*2,0);
    SetTimer("Bot4Connect",zahl*3,0);
    forward Tram2Connect();
    public Tram2Connect()
    {
    ConnectNPC("Therry","tram");
    print("test!");
    }
    forward Bot2Connect();
    public Bot2Connect()
    {
    ConnectNPC("trainbot1","train");
    }
    forward Bot3Connect();
    public Bot3Connect()
    {
    ConnectNPC("trainbot2","train");
    }
    forward Bot4Connect();
    public Bot4Connect()
    {
    ConnectNPC("trainbot3","train");
    }


    mfg.
    Opa


  • Da kommt einiges zusammen habe alles so gemacht wies sollte :S habe auch Team Viewer falls evtl. mal einer guken kann


    Edit: Habe jetzt einiges ausgemerzt ^^ beim letzten error komm ich aber wirklich nich weiter :S

    Code
    C:\Users\Niklas\Documents\SA-Mp Server\gamemodes\Niklas.pwn(212) : warning 225: unreachable code
    C:\Users\Niklas\Documents\SA-Mp Server\gamemodes\Niklas.pwn(218) : error 017: undefined symbol "gPlayerLogged"
    C:\Users\Niklas\Documents\SA-Mp Server\gamemodes\Niklas.pwn(218) : warning 215: expression has no effect
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    in 212 steht if(IsPlayerNPC(playerid))
    in 218 steht gPlayerLogged=1;


    Bitte helft mir :S

    Einmal editiert, zuletzt von Spider ()

  • warte warte xD ich hab zwar ein selfmade aber das auch nur durch tuts zusm gebastelt also:


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "Zivi", true))
    {
    gPlayerLogger[playerid]=1;
    }
    return 1;
    }


    So steht es jetzt bei mir und es kommen folgende Fehler:


    edit:
    Habe oben nun die Variable eingefügt diese sieht wie folgt aus:
    gPlayerLogged[playerid]=1;


    jetzt kommt nurnoch 1 error:

    Code
    C:\Users\Niklas\Documents\SA-Mp Server\gamemodes\Niklas.pwn(33) : error 017: undefined symbol "playerid"
    C:\Users\Niklas\Documents\SA-Mp Server\gamemodes\Niklas.pwn(202) : warning 225: unreachable code
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    edit²: in zeile 33 steht: new gPlayerLogged[playerid]=1;
    und in zeile 225: if(IsPlayerNPC(playerid))


    Bitte helft mir :(

    2 Mal editiert, zuletzt von Spider ()