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
  • Ja das weiss ich doch selber nur es funktioniert bei mein GM nicht.
    Und wollte trosdem die ganzen Brotfischer hier fragen warum es nicht geht habe alles richtig gemacht und auch an der richtigen stellen.

  • So hats bei mir geklappt, ich hab ein LARP:


    Alles wie im Tutorial machen, nur bei OnPlayerConnect NICHTS hinschreiben!


    Als erstes fügt ihr unter
    public SetPlayerSpawn(playerid)
    Das hier ein:
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "BOTNAME", true)) {
    PutPlayerInVehicle(playerid,BOTAUTO,0)
    }
    return 1;
    }


    Dann unter
    public OnPlayerSpawn(playerid)
    nochma:
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "BOTNAME", true)) {
    PutPlayerInVehicle(playerid,BOTAUTO,0)
    }
    return 1;
    }


    Dann unter:
    public OnPlayerRequestClass(playerid, classid)
    das:
    new playername[64];
    GetPlayerName(playerid,playername,64);

    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(playername,"BOTNAME",true)) {
    OnPlayerCommandText(playerid,"/login bot_passwort"); // Ihr müsst zuerst einen Account mit Passwort für den Bot erstell haben
    }
    }


    Dann noch unter:
    public OnPlayerLogin(playerid,password[])
    das:
    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(npcname, "BOTNAME", true))
    {
    OnPlayerSpawn(playerid);
    SpawnPlayer(playerid);
    }
    return 1;
    }
    Dann müsste es auch auf dem GF klappen!


    MfG Cutler

  • Okay ich teste es mal mal sehn ob es geht wenn es geht dann schulde ich dir was :D :thumbup:


    Kannst du das Lieber in ein Filterscript rein packen und Hochladen weil bei mir Funktioniert es nicht !!

    Einmal editiert, zuletzt von Columbo ()

  • Jo habe alles eingebaut nur die Bots wollen nicht los Fahren und verstehe nicht warum ?





  • Ich habe einen Error:
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(3438) : warning 225: unreachable code
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4000) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4004) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4009) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4732) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4736) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(5842) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(8392) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10050) : error 017: undefined symbol "npcname"
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10055) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10058) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(32096) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Betrifft das hier:


    public OnPlayerLogin(playerid,password[])
    {


    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(npcname, "hubi", true)) //Fehler soll "npcname" sein
    {
    OnPlayerSpawn(playerid);
    SpawnPlayer(playerid);
    }
    return 1;
    }




    Wer den Error klären kann wäre toill...




    Korrektur!


    Ich habe folgendes Problem jetzt


    \\Server\samp\Samp3Server\gamemodes\Game.pwn(3261) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(3445) : warning 225: unreachable code
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4007) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4011) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4016) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4739) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4743) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(5849) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(8399) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10057) : error 017: undefined symbol "npcname"
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10061) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10064) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(32102) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")



    Wieso ist das jetzt ein Fehler und nicht der mit dem npcname !?
    Erbitte um mögliche Ursachenerklärung


    Danke





    KLÄRUNG:


    Wenn ich nix in public OnPlayerLogin(playerid,password[]) hinzufüge klappts!



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    2 Mal editiert, zuletzt von Breinumer ()

  • new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));












    :thumbup: :thumbup: :thumbup: B I N G O :thumbup: :thumbup: :thumbup:


    Das Script ist jetzt fehlerfrei!
    Nu bin ich ma gespannt.




    Das Vehicle ist gespawnt.
    Kein Player drin
    Bot läuft nicht



    Mir ist was aufgefallen!


    Ihr nutzt Botname sowie Botauto
    Könnte das der fehler sein!? Ist das das selbige!?



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    2 Mal editiert, zuletzt von Breinumer ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Botname musst du durch den Namen, den du definiert hast ersetzten, genauso Botauto.




    Script ist fehlerfrei


    doch Nur das Vehicle ist gespawnt, tut sich leider nix. Ist auch kein Pilot drin...
    Wat nu!?




    \\Server\samp\Samp3Server\gamemodes\Game.pwn(3441) : warning 225: unreachable code
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4003) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4007) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4012) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4735) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(4739) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(5845) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(8395) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10059) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(10061) : warning 217: loose indentation
    \\Server\samp\Samp3Server\gamemodes\Game.pwn(32099) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 8328 bytes
    Code size: 1312652 bytes
    Data size: 4627124 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=5326 cells (21304 bytes)
    Total requirements: 5964488 bytes



    :thumbup:



    Aber da tut sich nix! :cursing: :cursing:


    1 Vehicle wurde gespawnt und läuft nicht.


    Kein Bot da...


    ERBITTE UM HILFE ! Denn nach den obigen vorgaben läuft kein Bot



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    Einmal editiert, zuletzt von Breinumer ()

  • Zitat

    hast du auch den timer eingebaut :D


    also damit er weiß das er fahren muss sprich im script angegeben die record datei

    Was meinst du damit genau ?


    Bei mir sind die aufen Server und das sind sogar die Standardt Bots und habe die in mein GM gebaut aber es funktioniert nicht.
    Also die sind aufen Server aber sind nicht in den Fahrzeugen und fahren nicht.

  • Was meinst du damit genau ?


    Bei mir sind die aufen Server und das sind sogar die Standardt Bots und habe die in mein GM gebaut aber es funktioniert nicht.
    Also die sind aufen Server aber sind nicht in den Fahrzeugen und fahren nicht.








    Ich glaub ich weiss was er meint:
    die Records sind drin! Aber das hier meint der bestimmt:


    #include <a_npc>
    // name der recordeten datei (im beispiel war es CARBOT oder ZIVIBOT)
    #define RECORDING "hubi"
    // Record typ, 1 = in einen fahrzeug, 2 = zu fuß
    #define RECORDING_TYPE 1
    main()
    {
    }
    public OnRecordingPlaybackEnd()
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    public OnNPCEnterVehicle(vehicleid, seatid)
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    public OnNPCExitVehicle()
    StopRecordingPlayback


    Was anderes wüßte ich nicht!
    Das ist aber bei mir vorhanden




    Mir schwant was...
    Kann das sein, daß der GM gar nicht auf den NPC Mode zugreift? sondern nur in die GM Ebene!?




    hm
    Ich arbeite an einer Lösung!
    Es kann sein, daß die filterscriptdaten vom gl_npc übernommen werden müssen in den GM
    zusätzlich der oben aufgeführten Lösungen!



    Kein Plan!
    Beim Lösungschreiber hats ja funzt!
    Wieso bei uns nicht!?


    Werde heute Abend wieder reinschauen!
    Vielleicht hat ja einer ne Lösung vor mir parat!
    Muß jetzt erstmal zu meiner Familie...


    WER HIER EINE FUNKTIONIERENDE LÖSUNG REINPOSTET, erhält von mir www.luimi.de


    50 Wunschemailadressen
    3 Subdomains
    beliebige My SQL Datenbanken
    Webspace & FTP Zugang


    Ihr könnt dann auch das WoltLab Forum darauf installieren!
    Habe auch das php Vollforum da!
    Also!
    Wer zuerst eine funktionierende Lösung hat! Reinposten


    Gruß Micha



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    2 Mal editiert, zuletzt von Breinumer ()

  • WIR WOLLEN KEINE MAILADRESSE BREINUMER SONDERN WIR WOLLEN DIE BOTS RICHTIG ZUM LAUFEN BRINGEN !!


    Und bei mir sind die aufen Server nur das die nicht in ihren ahrzeugen Spawnen.

  • L Ä U F T -> :thumbup: :thumbup: :thumbup: :thumbup:




    Folgendes ist auch via Download bei mir vorhanden:
    http://www.luimi.de/muster.pwn




    //--- BOT einfügen in Reg Systemen --- //



    //--- New ---
    new botname [hier habe ich jetzt mal hubi gelassen]


    //---public SetPlayerSpawn(playerid) ---
    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "hubi", true)) {
    PutPlayerInVehicle(playerid,hubi,0);
    return 1;
    }
    //---public OnPlayerSpawn(playerid) ---
    public OnPlayerSpawn(playerid)
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "hubi", true)) {
    PutPlayerInVehicle(playerid,hubi,0);
    return 1;
    }
    //---public OnPlayerRequestClass(playerid, classid)---
    public OnPlayerRequestClass(playerid, classid)
    {
    new playername[64];
    GetPlayerName(playerid,playername,64);
    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(playername,"hubi",true)) {
    OnPlayerCommandText(playerid,"/login BOT_PW"); // Ihr müsst zuerst einen Account mit Passwort für den Bot erstell haben
    }
    }
    //--public OnGameModeInit()---
    public OnGameModeInit()
    {
    ConnectNPC("hubi","hubi");// erstes carbot steht für den namen hier im script, 2tes wie der record heißt!!!!
    hubi = CreateVehicle(487, 0.0, 0.0, 0.0, 0.0, 18, 18, -1);
    return 1;
    //!!!- Hier geht dann gleich weiter! Keiner Klammer schließen!


    //---public OnPlayerLogin(playerid,password[])---
    public OnPlayerLogin(playerid,password[])
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(npcname, "hubi", true))
    {
    OnPlayerSpawn(playerid);
    SpawnPlayer(playerid);
    }
    return 1;
    }



    //-- FERTIG //---
    //Wenn Du jetzt alles andere aus dem Tutorial gemacht hast, läufts//
    // - NPC MOD + Bot.rec sind gemeint




    WICHTIG
    Das ist nur für Reg Systeme GM


    :thumbup: :thumbup: 8o 8o :thumbup: :thumbup: :D 8)



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    3 Mal editiert, zuletzt von Breinumer ()

  • Ich poste nochmal etwas genauer:


    public OnGameModeInit()
    {
    //Anderes zeug
    BUSBOTA = AddStaticVehicle(437,1624.467651,-2322.659667,13.516200,270.058685,79,7, -1);
    BUSBOTB = AddStaticVehicle(437,1191.817382,-1327.586547,13.533300,180.113800,79,7, -1);


    ConnectNPC("BUSNPCA","L1_AP_KH");
    ConnectNPC("BUSNPCB","L1_KH_APN");
    //Anderes Zeug für normale Spieler
    reutrn 1;
    }


    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerNPC(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "BUSNPCA", true)) {
    PutPlayerInVehicle(playerid,BUSBOTA,0)
    return 1;
    }
    if(!strcmp(npcname, "BUSNPCB", true)) {
    PutPlayerInVehicle(playerid,BUSBOTB,0)
    return 1;
    }
    return 1;
    }
    //Anderes Zeug für normale Spieler


    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerNPC(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));

    if(!strcmp(npcname, "BUSNPCB", true))
    {
    PutPlayerInVehicle(playerid, BUSBOTB, 0);
    return 1;
    }
    if(!strcmp(npcname, "BUSNPCA", true))
    {
    PutPlayerInVehicle(playerid, BUSBOTA, 0);
    return 1;
    }

    return 1;
    }
    //Anderes Zeug für normale Spieler


    public OnPlayerRequestClass(playerid, classid)
    {
    new playername[64];
    GetPlayerName(playerid,playername,64);

    if(IsPlayerNPC(playerid))
    {
    if(!strcmp(playername,"BUSNPCA",true)) {
    OnPlayerCommandText(playerid,"/login bot_passwort"); //Hier müsst ihr euer vordefiniertes PW, mit dem sich der Bot einloggen soll, hin schreiben.
    }
    else if(!strcmp(playername,"BUSNPCB",true)) {
    OnPlayerCommandText(playerid,"/login bot_passwort"); //Wenn ihr einen 2. Bot, so wie ich habt, dann das ganze nochmal.
    }
    }
    //Anderes zeug für normale Spieler



    else //Sucht diese folgenden 5 Zeilen:
    {
    gTeam[playerid] = PlayerInfo[playerid][pTeam];
    }
    gPlayerLogged[playerid] = 1; //
    SpawnPlayer(playerid);
    new npcname[MAX_PLAYER_NAME]; //Und fügt das ab hier darunter ein
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(IsPlayerNPC(playerid)) //Checking if the NPC's name is MyFirstNPC
    {
    if(!strcmp(npcname, "BUSNPCA", true))
    {
    OnPlayerSpawn(playerid);
    SpawnPlayer(playerid);
    }
    else if(!strcmp(npcname, "BUSNPCB", true))
    {
    OnPlayerSpawn(playerid);
    SpawnPlayer(playerid);
    }
    return 1;
    }
    //Anderes Zeug für normale Spieler


    Fügt das genau unter die Zeilen ein, die ich gesagt habe, dann sollte es funktionieren.

  • Breinumer brenutzt du den GF Edit oder Selfmade ?




    Beides :)


    Ich habe es mit einem GF probiert, baue jedoch ein neues auf...


    Das neue ist noch nicht am start.


    Das wird noch :thumbup: 1 Jahr :thumbdown: dauern... Selbst von 0 hochzuprogrammieren ist nicht einfach
    und braucht Zeit! vor allen Dingen, wenn man für eine Familie auch noch da ist!
    Ihr kennt das ja selber. Wenn man vom Bildschirm geholt wird, durch rufen..., dann kann man meist wieder fast von vorn anfangen!


    OK! Aber Ich glaube alles in allem haben wir alle in diesem Thread ganz gut arbeit geleistet.
    Nu können wir endlich wieder an was anderes denken, als nur an die NPC Bots. :whistling:



    Ich habe für alle die Detaillösung auch in die PWN gesetzt:
    http://www.luimi.de/muster.pwn



    Man sieht sich immer 2x im Leben!
    Wenn man schläft, schluckt mannicht! [medizinisch bewiesen]

    Einmal editiert, zuletzt von Breinumer ()