Beiträge von J0a9

    ja, bzw was heißt aufgenommen?


    Als ich ihn Aufgenommen habe, habe ich mich als Beifarer gesetzt und Aufnahme gestartet und gestoppt.
    Oder muss ich den Bot als Fahrer Aufnehmen?
    Wenn ja, dann habe ich das falsch gemacht, dachte das den Bot als Fahrer nur dann Aufnehmen wenn der fahren soll ^^

    Füge den Code-Teil von OnPlayerSpawn zusätzlich bei OnVehicleStreamIn ein, nach der Prüfung ob vehicleid die vFahrschulMotorrad ist


    Meinst du das so?



    Oder noch eine Schleife einbauen welche alle Spieler durchgeht?


    //Edit:
    Habe es ebenfalls mit der Schleife versucht:

    spawnt jetzt direkt über mir, aber er sitzt immernoch nicht als Beifahrer und Skin wurde nicht geändert...




    //Edit2:


    Habe jetzt paar Tests durchgeführt, es ist egal welche Seat-ID ich angebe der Bot spawnt immer entweder im Fahrzeug oder über dem Fahrzeug.
    Hier mal ein Screen, habe es jetzt mit einem Sultan getestet da bei nem Motorrad der Bot darüber spawnt...

    Ich vermute der Fehler liegt hier:

    Code
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "MotorradBeifahrer", true))
    {
    	SetPlayerSkin(playerid, 50);
       	PutPlayerInVehicle(playerid, vFahrschulMotorrad, 0);
    }

    ( bei der Abfrage if(!strcmp(botname, "MotorradBeifahrer", true)) ... )

    aaaah jetzt kommen wir schon näher :)


    Also der Bot connected (klappte ja vorher auch) und der Spawnt dann über dem Motorrad, will aber nicht als Beifahrer sitzen...
    Und der Skin des Bots wird beim Spawnen nicht gesetzt ....


    Vermute mal bei PutPlayerInVehicle liegt ein Fehler mit der Seat-ID, wobei ich per Befehl mir printen gelassen habe was für eine ID ist wenn ich als Beifahrer sitze.
    Dementsprechend habe ich das beim Bot auch eingetragen, will aber nicht sitzten....

    hmmm...


    Aktueller Code:


    new vFahrschulMotorrad;


    (unter OnPlayerSpawn:(

    Code
    if(IsPlayerNPC(playerid))
    {
    	new botname[MAX_PLAYER_NAME];
      	GetPlayerName(playerid, botname, sizeof(botname));
       	if(!strcmp(botname, "MotorradBeifahrer", true))
       	{
    		SetPlayerSkin(playerid, 1);
         		PutPlayerInVehicle(playerid, vFahrschulMotorrad, 1 /* '1' als Beifahrer */);
       	}
    }




    (unter OnPlayerEnterVehicle:(

    Code
    if (IsAFahrschulCar(vehicleid) && !ispassenger)
    {
        if(TakingLesson[playerid] == 1)
        {
    		ConnectNPC("MotorradBeifahrer", "[BOT]MotorradBeifahrer");
            vFahrschulMotorrad = GetVehicleModel(vehicleid);
    	}
    }



    Sehe aber keinen Fehler bei OnPlayerSpawn...

    Was spricht dagegen, einen weiteren Bot zu connecten, der die selbe Aufgabe übernimmt und halt anderes heißt ?

    Da hast du recht :whistling:


    Nur ich bekomme den Bot einfach nicht als Beifahrer gesetzt...
    Habe auch Testbefehle eingebaut um zu prüfen ob ich die Seat-ID richtig gesetzt habe...
    Das Problem ist, der Bot spawnt aber im CJ Skin ( nimmt nicht die andere Skin-ID an ) und steht am Zivispawn und nicht als Beifahrer.
    Der Bot soll nur connecten, wenn der Spieler die Prüfung macht, das klappt ja bis jetzt nur das er nicht als Beifahrer sitzt und nicht den Skin ändert...

    Setzt du den NPC bei OnPlayerSpawn in das Fahrzeug?

    Ja habe ich, allerdings möchte ich ihn als Beifahrer sitzten haben...


    Ich glaube das Thema ist erledigt, denn ich wollte wenn ein Spieler die Fahrschulprüfung macht, dass dann ein Bot als beifahrer sitzt.
    Dass das aber nicht geht und das nächste Problem auftritt wenn z.B. 2 Leute Fahrprüfung gleichtzeitig machen kann der Bot sich ja nicht einfach verdoppeln.
    Da ich da keine andere Lösung gefunden habe bzw denke ich, es ist nicht machbar, habe diesen Thread als erledigt markiert.



    Sollte es doch möglich sein, wäre ich sehr froh wenn mir jmd kurz erläutern könnte wie...

    Hallo,


    ich hab ne kurze Frage und zwar gibt es ein Callback was abfragt, ob das Fahrzeug einen Schaden zugezogen hat?
    Denn ich habe vor, dass wenn das Fahrzeug des Spielers Schaden zunimmt ( wleches jederzeit aktualisiert wird ) ein Textnachricht gesendet wird.


    Daher meine Frage gibt es ein Callback, oder muss ich mir mit GetVehicleHealth / GetVehicleDamageStatus ne kleine Funktion basteln?

    ah okey vielen Dank für die Antworten :)
    Stimmt @Kaliber, habe die Reihenfolge falsch gemacht...


    Eine Frage habe ich, muss ich für den Bot einen Account erstellen, sprich ihn in die Datenbank einsetzen?
    Weil habe gerade die Abfrage gemacht, wenn das ein NPC ist soll er Spawnen und Login/Registerdialog überspringen.
    Der steht aber immernoch beim Spawn... Er will einfach nicht als Beifahrer sitzen...



    Muss ich die Aufnahme auf dem Fahrzeug machen oder wenn er steht?
    Weil momentan habe ich die .rec Datei aufgenommen, wo er auf einem Motorrad hinten sitzt...

    Guten Abend Breadfish-Community,


    ich benötige etwas Hilfe bezüglich der NPC-Bots.
    ( es ist etwas lange her das ich wieder mit NPC'S arbeite, da ich bisjetzt nur Actors genommen habe )


    Und zwar möchte ich, dass wenn man in ein Fahrzeug einsteigt ( Callback: OnPlayerEnterVehicle ) geprüft wird ob er die erlaubnis hat,
    wenn ja soll ein NPC als Beifahrer sitzen.


    NPC habe ich aufgenommen, die Aufnahme ist auf dem Fahrzeug.
    Folgendes habe ich versucht:

    //Edit
    Versuch Nr. 2


    if (IsASpecialCar(vehicleid) && !ispassenger)
    {
    new vID = GetPlayerVehicleID(playerid);
    ConnectNPC("MotorradBeifahrer", "MotorradBeifahrer");
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "MotorradBeifahrer", true))
    {
    SetPlayerSkin(playerid, 1);
    PutPlayerInVehicle(playerid, vID, 1);
    }
    }



    // ---- //



    Das Problem ist, der Bot Connected wenn der einsteigt (so möchte ich es auch haben) auf das Fahrzeug aaber er setzt sich nicht als Beifahrer sondern steht am Neulingsspawn...
    Meine Vermutung ist das die Abfrage if(!strcmp(npcname, "MotorradBeifahrer", true)) nicht richtig funktioniert, denn der Bot hat auch den falschen Skin.


    Ich habe vordefinierte Fahrzeuge:
    (kurzer ausschnitt)


    Code
    TestVeh[6] = AddStaticVehicleEx(522,2025.7620, -1920.7080, 13.0423, 23.2178,1,1 ,-1); //NRG-500
        TestVeh[7] = AddStaticVehicleEx(522,2023.2120, -1920.7080, 13.0423, 23.2178,1,1 ,-1); //NRG-500

    in diese Fahrzeuge soll der Bot jenachdem wo der Player sitzt als Beifahrer sitzen.



    Hoffe mir kann jemand weiterhelfen...


    Vielen Dank im vorraus :)

    oh okey, schade...
    trz danke für die Info :)


    Noch ne Frage :D
    NPC'S werden nur erstellt wenn der Server gestartet wird?
    Oder würde es gehen das man dann trotz das der Server an ist einen Bot connecten lässt und auch wieder disconnecten kann?
    Weil ich suche nach einer Möglichkeit, dass man bei bestimmten Fahrzeugen und bestimmten Aktionen einen beifahrer haben soll,
    nur ich möchte nicht das das die ganze Zeit Slots verbraucht.

    Das kompiliert bei mir problemlos so.
    Der Fehler muss woanders liegen, wahrscheinlich drüber irgendwo.


    Jap mein Fehler, sry trz dank dir für deine Hilfe :)


    Du @Jeffry, hab ne Frage und zwar funktioniert das nun einwandfrei mit der Prüfung ob der Spieler das auch ist, nur es werden falsche Werte ausgegeben...

    Habe 2 User in dieser Tabelle und mir wird der 1. Grund vom ersten User angezeigt und nicht was bei mir steht.
    Was habe ich denn Falsch gemacht? Bin bezüglich solcher Abfragen meist verwirrt woher er weiß welche Daten er wem zuweist...


    Könntest du mir weiterhelfen?

    Code
    enum Akte {
    	akte_name[56],
    	akte_grund1[100],
    	akte_grund2[100],
    	akte_grund3[100],
    	/* weitere akte_grunde */
    };
    new AkteInfo[100][Akte];

    habe extra nen Kommentar gesetetzt, da ich 24 akte_grund habe und die das gleiche sind wie bei akte_grund1.

    ah okey, dank dir @Jeffry, dann ändere ich mal das sofort um die anderen Funktionen, habe dann irgendwie einen langen umweg gemacht :D


    Ähm zum darübergeposteten Beitrag bekomm ich mehr Errors:

    Code
    error 029: invalid expression, assumed zero
    error 029: invalid expression, assumed zero
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line


    Code:


    Ähm entweder war ich zu blöd um das richtig einzufügen oder habe was falsch gemacht...

    ah okey danke, stimmt :D
    Hatte die Wiki Seiten von strlen & strval offen weil ich mir nicht sicher war ob strcmp benötige.
    Wenn es aber um Zahlenvergleichen geht kann ich das so wie oben lassen und mit dem inputtext vergleichen?