Beiträge von J0a9

    Der Code war GRÜN, ich ahbe aber /* Entfernt,
    Der code ist vom Tutorial Zeile 71000



    /*if(tuts[playerid] !=999){tuts[playerid]++;if(tuts[playerid] == 2){SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SendClientMessage(playerid, COLOR_YELLOW," ");SetPlayerCameraPos(playerid, 470.52, -2045.70, 40.68);SetPlayerCameraLookAt(playerid, 465.62, -2045.82, 39.71); // RiesenradSetPlayerToPos(playerid, 379.8153,-2033.6333,7.8301);TogglePlayerControllable(playerid, false);TextDrawSetString(Textdraw2ss[playerid], "Anfang - der sich hier lohnt!");TextDrawSetString(Textdraw3ss[playerid], "Willkommen. Dieser Server ist anders, als man den sonst kennt.~n~~n~Es folgt ein kleines Tutorial, damit der Einstieg in den~n~ Server nicht ganz so schwer wird.~n~Server by: Xam_Res");}else if(tuts[playerid] == 7){SetPlayerCameraPos(playerid, 2130.39, -1120.25, 31.43); // AutohausSetPlayerCameraLookAt(playerid, 2129.49, -1125.17, 29.75);SetPlayerToPos(playerid, 2129.2070,-1123.9541,25.4275);TextDrawSetString(Textdraw2ss[playerid], " Autohaus");TextDrawSetString(Textdraw3ss[playerid], "Ohne ein Auto geht garnichts! Kauf dir eins, wenn du das Geld dazu hast! Ganz einfach, ~n~einsteigen: eine Probefahrt machen und~n~wenns gefeallt kaufen!");}else if(tuts[playerid] == 14){SetPlayerCameraPos(playerid, 810.88, -1597.35, 15.07);SetPlayerCameraLookAt(playerid, 812.74, -1592.71, 14.77); // BincoSetPlayerToPos(playerid, 824.9313,-1609.3192,13.5469);TextDrawSetString(Textdraw2ss[playerid], " Skinshop");TextDrawSetString(Textdraw3ss[playerid], "Der Skinshop - Hier koennen sie ganz einfach Skins kaufen. Dies ist aber erst moeglich~n~wenn sie genug Geld in der Tasche haben~n~Skinshops sind immer geoffnet. Wie man eins kauft ? Ganz einfach~n~ Rein gehen!");}else if(tuts[playerid] == 21){SetPlayerCameraPos(playerid, 1776.05, -1691.68, 16.94); // TunningSetPlayerCameraLookAt(playerid, 1780.78, -1693.31, 15.30);SetPlayerToPos(playerid, 1798.3762,-1703.3788,13.5295);TextDrawSetString(Textdraw2ss[playerid], " Tunning");TextDrawSetString(Textdraw3ss[playerid], "Tunnen sie ihr Fahrzeug! Tunning wird gespeichert!");}else if(tuts[playerid] == 28){SetPlayerCameraPos(playerid, 1936.79, -1761.77, 13.65); // TankstelleSetPlayerCameraLookAt(playerid, 1939.11, -1766.20, 13.88);SetPlayerToPos(playerid, 1933.4268,-1755.3719,13.3828);TextDrawSetString(Textdraw2ss[playerid], " Tankstelle");TextDrawSetString(Textdraw3ss[playerid], "Hier koennen sie ihr Fahrzeug tanken. Ganz einfach, auf den Checkpoint fahren~n~Pro Liter 40-90 Cent!");}else if(tuts[playerid] == 35){SetPlayerCameraPos(playerid, 1207.54, -941.80, 55.83); // BurgerShotSetPlayerCameraLookAt(playerid, 1206.64, -936.88, 53.90);SetPlayerToPos(playerid, 1206.7682,-938.8681,42.7409);TextDrawSetString(Textdraw2ss[playerid], " Imbiss");TextDrawSetString(Textdraw3ss[playerid], "Irgendwann bekommt jeder mal hunger. In einem Imbiss kann dies befriedigt werden. ~n~Einfach rein! Doch Geld sollte man mit bringen!");}else if(tuts[playerid] == 42){SetPlayerCameraPos(playerid, 2286.60, -2344.01, 15.50); // TruckerSetPlayerCameraLookAt(playerid, 2283.23, -2340.31, 15.45);SetPlayerToPos(playerid, 2288.7595,-2340.8535,13.5469);TextDrawSetString(Textdraw2ss[playerid], "Trucker");TextDrawSetString(Textdraw3ss[playerid], "Liefern sie schnell Anheanger, um an gutes Geld zu kommen. Bewerbung ist nicht noetig!");}else if(tuts[playerid] == 49){SetPlayerCameraPos(playerid, 1876.35, -2205.40, 14.65); // Baggage LiefererSetPlayerCameraLookAt(playerid, 1881.34, -2205.38, 14.41);SetPlayerToPos(playerid, 1873.8149,-2205.4167,13.5469);TextDrawSetString(Textdraw2ss[playerid], "Baggage Lief.");TextDrawSetString(Textdraw3ss[playerid], "Liefere schnell Gepeack aus, um an gutes Geld zu kommen. Bewerbung ist nicht noetig!");}else if(tuts[playerid] == 56){SetPlayerCameraPos(playerid, -1017.47, -660.28, 33.78);SetPlayerCameraLookAt(playerid, -1017.32, -665.28, 34.23); // ChemieSetPlayerToPos(playerid, -1017.4528,-660.8878,32.0078);TextDrawSetString(Textdraw2ss[playerid], "Chemie Dienst");TextDrawSetString(Textdraw3ss[playerid], "Liefere gefeahrliche Chemikalien. Bewerbung ist nicht noetig!");}else if(tuts[playerid] == 63){SetPlayerCameraPos(playerid, 2489.42, -1559.39, 25.75); // HotdogSetPlayerCameraLookAt(playerid, 2484.99, -1557.08, 25.71);SetPlayerToPos(playerid, 2489.1589,-1556.0885,24.0674);TextDrawSetString(Textdraw2ss[playerid], " HotDog");TextDrawSetString(Textdraw3ss[playerid], "Der Job Hotdog Verkeufer. Liefere schnell HotDogs an andere. Bewerbung ist nicht noetig!");}else if(tuts[playerid] == 70){SetPlayerCameraPos(playerid, 2073.13, -1806.30, 24.22); // PizzaSetPlayerCameraLookAt(playerid, 2078.13, -1806.18, 23.06);SetPlayerToPos(playerid, 2086.4446,-1818.3519,13.3904);TextDrawSetString(Textdraw2ss[playerid], "Pizza Lieferer");TextDrawSetString(Textdraw3ss[playerid], "Pizza Lieferer. Liefere schnell Pizzen. Pro Checkpoint gibt je nach Level bestimmt viel Geld!");}else if(tuts[playerid] == 77){SetPlayerCameraPos(playerid, 2095.07, -2027.97, 37.00); // MllSetPlayerCameraLookAt(playerid, 2090.09, -2027.53, 33.13);SetPlayerToPos(playerid, 2103.3005,-2003.6052,13.5469);TextDrawSetString(Textdraw2ss[playerid], " Muell Dienst");TextDrawSetString(Textdraw3ss[playerid], "Liefere Muell, um an schnelles Geld zu kommen. Bewerbung ist nicht noetig!");}

    bei deinem jetzigen Post hast du eine } vergessen.
    Hab es dir hier hinzugefügt :)


    Code
    if(tuts[playerid] != 999)
    {
    	if(tuts[playerid] == 2)
    	{
    		SetPlayerCameraPos(playerid, 470.52, -2045.70, 40.68);
    		SetPlayerToPos(playerid, 379.8153, -2033.6333, 7.8301);
    	}
    }

    Versuchs mal so :)


    geändert wurde nur:


    SetPlayerToPoS zu SetPlayerToPos


    und eine gescheifte Klammer war noch der Fehler :)

    Dann brauchst du in deinem enum:
    Info_id1,Info_id2,Info_id3,Info_Name1[MAX_PLAYER_NAME],Info_Name2[MAX_PLAYER_NAME],Info_Name3[MAX_PLAYER_NAME],


    Sonst kannst du keine drei verschiedenen Namen speichern.


    Also dementsprechend auch die Ladefunktion:


    zu:

    ?



    //Hinzugefügt:
    @walter.BISHOP, könntest du uns noch den Code dazu schreiben dann können wir dir besser helfen :)

    hmmm, stimmt...


    Aber, wenn es 3 Zeilen der Frakionen gibt muss ja eingetragen werden zu welcher FraktionsID diese gehört,
    damit man dann vergleichen kann ob der Spieler seine FraktionsID übereinstimmt und diese auflistet.

    Hey,


    ich bräuchte etwas Hilfe, ich möchte aus der Datenbank für die Fraktionen Informationen in einem Dialogfenster auflisten lassen...


    Code:


    Mein Problem ist es nun, dass ich in der Datenbank jede Zeile die richtige Fraktionsid und die Info_id eingetragen habe, die auch geladen werden sollen.
    Wenn ich es per Befehl aufrufen möchte wird mir nur der erste Name angezeigt und die restlichen nicht...


    Hier beim Laden der Daten die prints:

    Code
    [18:23:59] FraktionID: 1
    [18:23:59] Info_id: 1
    [18:23:59] Info_Name: Testzweck1
    
    
    [18:23:59] FraktionID: 1
    [18:23:59] Info_id: 2
    [18:23:59] Info_Name: Testzweck2

    Irgendwie wollen die 2 Daten nicht im Dialogfenster aufgelistet werden...
    Ich vermute ich habe erneut einen Denkfehler....


    Kann mir jemand weiterhelfen?

    Dann müsstest du sowas hier nutzen:
    forum.sa-mp.com/showthread.php?t=428066
    forum.sa-mp.com/showthread.php?t=355849

    Okey ich werde mich mal mit dem Thema FCNPC näher befassen.
    Ich bedanke mich bis jetzt für die Antworten :)


    Das Thema setze ich als "erledigt", da ich mich mit den FCNPC's befassen werde und näher zum Thema Bot's.
    Sollte es dann weiterhin nicht klappen, melde ich mich wieder :)


    @Jeffry, dank dir :)

    warum lädst du alles aufeinmal?


    Wäre es nicht so schlauer:



    Habe die 2 Sachen getrennt.
    Dann musst du nur noch unter GameModeInit unter deiner MySQL Verbindung das hinzufügen:

    Code
    GameModeCarsLoad();


    Eins musst du hier ändern undzwar habe ich hier MySQLHandle geschrieben, da ich nicht wusste wie du deine MySQL Verbindung benannt hast.
    Bitte ändere es so wie du das definiert hast :)

    Wie weg? Wohin wird er gesetzt?

    Also er spawnt wirklich für ne gaanz kurze Zeit.
    ca 1-2 Sekunden ist er weg, hab mal geschaut er ist dann beim Zivispawn von mir und dann wieder aufm Motorrad....


    Versuche mal, während er als Fahrer da sitzt den Befehl zu nutzen, mit dem du ihn auf Seat ID 1 setzt, ob er dann nach hinten gesetzt wird.
    Falls das auch nicht geht, dann denke ich, dass es keine Möglichkeit gibt einen Standard-NPC als Beifahrer zu nutzen, wie es auch in den Threads aus dem englischen Forum besprochen wurde.

    Habe ich gerade gemacht, geht nicht.
    Also geht das leider nicht schade... Naja haben was dazu gelernt :)
    Bleibt wohl die Frage ob das SA:MP Team dies in Zukunft zum Möglichen macht :)


    Eine doofe Frage hätte ich undzwar würde das mit Actors gehen?
    Klar ich bräuchte eine PlayerID aber wenn ich dem ne ID zuweise und das anstelle setze würde das gehen?


    Code
    TestActor				=	CreateActor(Skin, X, Y, Z, A);
    
    
    PutPlayerInVehicle(TestActor, vFahrschulMotorrad, 1); // Eventuell so?

    oder eine Funktion umschreiben mit PutActorInVehicle oder so?
    Wäre soetwas möglich?

    gut habe jetzt die Aufnahme neu gemacht ^^
    Komisch hatte vorher schon die Aufnahme gemacht aufjedenfall hat die .rec Datei mehr KB das heißt der kann nicht so schnell abbrechen.
    Jetzt ist aber etwas lustig/komisches, denn der Bot connectet spawnt kurz als Fahrer, nach 1-2 Sekunden ist der weg, dann wieder
    nach 1-2 Sekunden sitzt er und ist dann wieder weg...

    Versuche mal in dem Testbefehl die Seat-ID auf 0 zu setzen (Fahrer) und steige von dem Motorrad ab, bevor du den Befehl eingibst.
    Sitzt er dann drauf?

    Ich verliere gerade den überblick ...


    Ich poste nochmal den Aktuellen Code und markiere noch was ich jetzt geändert habe wegen der Seat-ID:



    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, 50);
    	    PutPlayerInVehicle(playerid, vFahrschulMotorrad, 0); // Seat-ID jetzt auf '0' gesetzt
      	}
    }


    Unter OnPlayerCommandText:


    Unter OnPlayerStateChange:

    Code
    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(TakingLesson[playerid] == 1)
        {
    		vFahrschulMotorrad = GetPlayerVehicleID(playerid);
    		ConnectNPC("MotorradBeifahrer", "[BOT]MotorradBeifahrer");
    	}
    }


    Unter OnVehicleStreamIn:




    So, habe jetzt ja auf Seat-ID auf 0 gesetzt und das passiert InGame:


    ( Befehl /test eingegeben, kurz in das Fahrzeug gesetzt und wieder ausgestiegen )
    sa-mp-050.png


    ( Bot spawnt nach paar Sekunden, ebenfalls nicht als Fahrer.... )
    sa-mp-051.png


    ( Befehl /test3 eingegeben, nur der Skin hat sich geändert aber nur beim eingeben des Befehls.... )
    sa-mp-052.png



    Serverlog:


    Code
    [npc:join] MotorradBeifahrer has joined the server (1:127.0.0.1)
    TestBefehl: Setze 1 auf Fahrzeug 274.
    Put 1 in vehicle 274 and seat 0.

    Habe ich jetzt bei PutPlayerInVehicle das richtig gesetzt?

    Stimmt die vehicleid? (/dl)

    Ja, vehicleid stimmt. Habe dafür ebenfalls ein Testbefehl gemacht, der mir den Vehicleid printet...
    Daran liegt es nicht....
    Hier ein Screen:
    sa-mp-049.png


    Sitzt er dann drauf bzw. bekommt den Skin?

    Nachdem ich den Befehl den du mir als letztes gepostet hast eingebe wird der Skin gesetzt.


    Also ich gebe den 1. Testbefehl ein, dann setze ich mich als Fahrer ins Fahrzeug. Nach paar Sekunden spawnt der Bot vor mir.
    Steige ab, gebe den 2. Testbefehl ( den du zuletzt gepostet hattest ein) und nur der Skin ändert sich...
    Der Bot sitzt aber nicht als Beifahrer...



    ( 1. Testbefehl den Bot connecten lassen )
    sa-mp-047.png


    ( 2. Testbefehl )
    sa-mp-048.png



    Serverlogs:

    Code
    Put 1 in vehicle 274 and seat 1.
    TestBefehl: Setze 1 auf Fahrzeug 274.


    Erst nachdem ich den 2. Testbefehl eingebe bekommt er den Skin... :/

    Nein, als Beifahrer ist er ja in einem Fahrzeug.

    gut danke.


    So habe nun das mit dem Timer versucht und folgendes wurde in den Logs ausgeschrieben:

    Code
    [connection] 127.0.0.1:62998 requests connection cookie.
    Incoming connection: 127.0.0.1:62998 id: 1
    [npc:join] MotorradBeifahrer has joined the server (1:127.0.0.1)
    Put 1 in vehicle 274 and seat 1.


    Das komische ist, der Bot hat weder die Skin-ID 1 und noch ist er Beifahrer...
    ich poste nochmal ein Screen wo er dann steht/spawnt:


    sa-mp-046.png


    Ich versteh's einfach nicht das der Bot immernoch steht und kein Skin hat....

    ich habe nun den Bot neu aufgenommen.
    Jetzt "crasht" bzw bekommt der Spieler keinen TimeOut mehr.
    Sobald ich den Testbefehl eingebe und auf nem Motorradsteige dauert das ca 20 Sekunden bis der Bot spawnt.
    Jeeeetzt ist es aber so das er hinter dem Motorrad sitzt und nicht als Beifahrer. Vorher war nicht mal ansatzweise hinten...


    Wiegesagt was nicht funktioniert ist das er sitzt und sein Skin geändert wird...
    Versuche das gleich mal mit dem Timer, was du @Jeffry heute geschrieben hattest...


    //Edit:


    Jetzt bin ich etwas verwirrt bezüglich dieser Einstellung:

    Da der Bot ja als Beifahrer sitzten soll, muss der RECORDING_TYPE 2 sein?

    Der Bot muss als Beifahrer aufgenommen werden, sprich irgendjemand fährt, und der der als Beifahrer sitzt startet die Aufnahme.

    Gut, dann lag ich doch richtig jedoch fährt niemand sondern ich bin aufgesteigen Aufnahme gestartet und dann wieder gestoppt...
    Wenn ich z.B. als Beifahrer sitze und Aufnehme und jmd anders das Fahrzeug fährt fährt der Bot aber nicht diese Route ab oder?
    Das wäre nur wenn er als Fahrer sitzt?

    Diese Meldungen dürften eigentlich mit dem Timer nichts zu tun haben.
    Aber so wie es scheint verbraucht irgendwas ziemlich viele Ressourcen.

    Ich prüfe mal nach worann das liegen könnte.
    Habe aber nicht viel weitergearbeitet wegen dem Bot System....


    Eine Frage habe ich, muss ich den Bot jetzt als Fahrer aufnehmen,
    sprich ich setz mich als Fahrer auf dem Motorrad starte die Aufnahme und stoppe diese?
    Oder soll ich die Aufnahme machen das ich als Beifahrer sitze?


    Macht das einen Unterschied, weil das weiß ich jetzt nicht genau...


    Stimmt denn die Abrage mit dem strcmp?
    Weil der Bot ja kein Skin gesetzt wurde...

    das hört sich jetzt vielleicht komisch an, aber ich habe das Problem nicht nach 5 Sekunden sondern nach ca 1-2 Minuten...


    Ich verstehe nur nicht was hat das denn damit zu tun? Oder hängt sich eine Abfrage auf??


    //Edit:
    Habe vergessen nun die Logs mitzuposten:

    ( war mit dem Timer nicht... )

    Das kann ich dem Log nicht entnehmen, dort scheint alles zu klappen, der print, dass dein Account gespeichert wurde kommt ja auch.

    Hhhm hab mich dann jetzt falsch ausgedrückt ^^


    Die Konsole bleibt bestehen also schließt sich nicht automatisch, aber wenn ich den Testbefehl eingebe und der Bot Connectet geht garnichtsmehr.
    Andere Befehle geht nicht mehr, Tacho hängt sich auf, Maps werden nicht geladen, Nachrichten im Chat kann man nicht senden & lesen.
    Als würde sich der Server für den Spieler aufhängen...
    Durch dem neuen Code mit dem Timer seh ich den Bot überhaupt nicht mehr...

    Er printet mir folgendes aus:


    Es besteht jetzt aber ein problem undzwar jetzt stürtzt der Server ab, bzw nichts geht mehr wenn der Bot jetzt verbunden ist...
    Warum stürtzt jetzt der Server ab?