[HILFE] NPC Spawned Nicht!

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
  • hey, ich habe nen NPC Bot gemacht.
    Alles richtig, keine Script Fehler
    Aber wenn ich aufn Server gehe, steht der nur inner Luft dumm rum.
    Ist nen GF.


    Obwohl das bei OnPlayerConnect steht:



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


    Das steht da, und das Car, ist auch da, wo er gespawned wird,
    dort im Car soll eig. der Bot sitzen.
    Aber why spawned der nicht,
    obwohl ich ihm nen account gemacht habe,
    ich ihn eingeloggt habe ( im script, wie sonst xD )
    und ich ihn spawnen lassen habe ( im script auch xD ) ?


    Brauche Hilfe!


    MfG
    ViPeR

  • Habe ich doch -.-
    Außerdem war das da oben bei Connect


    Hier:



    if(IsPlayerNPC(playerid))
    {
    PlayerInfo[playerid][pCarLic] = 1;
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(strcmp(botname, "BusLSTest2", true) == 0)// <--------------------BOTNAME
    {
    car_BusLSTest2 = CreateVehicle(431, 0.0, 0.0, 5.0, 0.0, 0, 0, 5000);
    PutPlayerInVehicle(playerid, car_BusLSTest2, 0); //Putting the NPC into the vehicle we created for it.
    }
    return 1;
    }


    Und nochma:



    #include <a_npc>



    new car_BusLSTest2;



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


    habe nochwas zusätzliches bei der Skin Auswahl:



    public OnPlayerRequestClass(playerid, classid)
    {
    new string[128];
    if(IsPlayerNPC(playerid))
    {
    SpawnPlayer(playerid);
    return 1;
    }


    MfG
    ViPeR

  • Wenn du sowas schreibst kann ich ja nicht riechen, dass er nicht im car sitzt


    Zitat

    Aber wenn ich aufn Server gehe, steht der nur inner Luft dumm rum.
    Das steht da, und das Car, ist auch da, wo er gespawned wird,

    Wenn du ihm beim login in ein Auto pakst ist das so als ob du ein Brötchen isst, dass noch verpackt ist



    Der muss schon beim Spawnen ins Auto


    PS: Haste denn auch das Filterscript und die aufgenommene Route im Ordner npcmodes - npcmodes/recordings, auf dem gleichen Host wo auch das Script liegt ?

  • Jeder Bot bekommt beim Connecten einen eigenen Namen. Der Code sieht unter OnPlayerSpawn dann folgendermaßen aus:


    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(strcmp(botname, "BusLSTest2", true) == 0)// <--------------------BOTNAME
    {
    PutPlayerInVehicle(playerid, car_BusLSTest2, 0); //Putting the NPC into the vehicle we created for it.
    }
    }


    Auto wird natürlich unter OnGameMode Init erstellt und muss deshalb nur noch mit dem Bot besetzt werden

  • Ich versteh das jetz nicht, ich kriege hier einzelne Stücke geschickt. :wacko:
    Kannst du mir mal bitte alles rein schreiben, was wohin soll ?
    Also was bei New, OnGameModeInit, OnPlayerConnect, und bei OnPlayerSpawn hin soll ?


    Wäre nett


    MfG
    ViPeR

  • Hast du bereits deinen Bot aufgenommen, dann ein Filterscript mit Anweisugnen für den Bot erstellt?


    Das Filterscript in -> npcmodes
    Die rec Datei in npcmodes/recordings


    ...............


    Unter die defines:


    new car_BusLSTest2:


    Unter OnGameModeInit



    ConnectNPC("Botname in diesem Fall 'BusLSTest2","name der filterscript datei, welche sich im npcmodes ordner befindet");
    car_BusLSTest2 = CreateVehicle(431, 0.0, 0.0, 5.0, 0.0, 0, 0, 5000);


    OnPlayerConnect:


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



    OnPlayerSpawn



    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(strcmp(botname, "BusLSTest2", true) == 0)// Wenn der beim Connecten festgelegte Botname gleich dem comparestring ist
    {
    PutPlayerInVehicle(playerid, car_BusLSTest2, 0); //Dann setzt du ihn in das Auto, dass für den Bot vorgesehen ist
    }
    }


    Und das ist auch schon alles

  • Danke, jetzt ist der Bot nicht mehr in der Luft :)
    Ist ja schonmal ein guter Anfang.
    Aber jetzt ist er da, wo man männlich oder weiblich angeben muss :evil: #


    Habe ihn schon vom server gekickt, bin mit seinem acc on gegangen,
    habe männlich, das datum, und deutschland gemacht.
    Und habe mit dem Acc vom Bot das ganze Tut durch gemacht.
    Anschließend habe ich den Server neugestartet, damit der Bot neuj drauf joint.
    Trotzdem geht es net.
    Entweder checkt das Script net, das es ein Bot ist, und das
    dass Script ihn durchlassen soll X(
    Oder der Bot checkt net, dass er schon'n Acc hat.


    Bitte auch dort um Hilfe!


    MfG
    ViPeR

    Einmal editiert, zuletzt von (]GFR[)ViPeR ()

  • Gut also ein GF Script.


    ICh kenn mich damit jetzt nicht aus, aber es gibt meiner Meinung nach eine Variable, die bestimmt ob der Spieler das Tut bereits hat. Diese musst du auch beim connecten auf true setzten. Du musst außerdem gar nicht mal schaun ob der Bot schon nen Account hat, er brauch keinen, da du ja mit IsPlayerNPC abfragen kannst ob ein Bot ist und damit das login umgehen kannst.

  • Aber wenn ich ihn das erstemal drauf tuhe, also aufn server, wird nen acc angelegt, und da steht drinne sex= und nicht sex=1 oder =2 (1=männlich2=weiblich)
    und bei key steht auch nur: key=
    und mehr nicht.
    Also hat er nen acc
    aber das script checkt i.wie net, das er ein bot ist, und so rein darf Oo