Beiträge von Gimbo

    Guten Tag,


    ich habe ein NPC recorded und lasse ihn seine Route fahren. Am Ende der Route soll er eine Nachricht ausgeben.
    Dafür muss ich abfragen ob er diese Route bzw. sein Record abgeschlossen hat.


    Gibt es dafür spezielle Funktionen oder Methoden womit ich das einfach lösen kann?


    Viele Grüße
    Gimbo

    Hey,


    danke für die Antwort!



    Gerne zeige ich euch mehr Code.



    Viele Grüße

    Guten Tag,


    ich habe ein riesen Problem mit ShowPlayerDialog bzw. mit dem formatieren der Ausgabe dafür.


    Ich möchte über ShowPlayerDialog quasi ein "navi" erstellen, bei der die Nutzer z.B. zu einem Hotel navigieren können.
    Wenn ich jetzt Beispielsweise folgendes tue:


    Code
    new fstring[128];
    new test = 18;
    new teststring[200];
                for(new i=0; i<=5; i++) {
                       format(fstring, sizeof(fstring), "%d", test);
                       strcat(teststring, hotelstring, sizeof(hotelstring));
                }
    ShowPlayerDialog(playerid, Dialog_Hotels, DIALOG_STYLE_LIST, "Hotels", teststring,"Ok", "Abbruch");


    Dann funktioniert es wunderbar und er gibt mir "1818181818" aus.
    Wenn ich nun anstatt test, Hotelsys[ i ][MaxPlaetze] angebe, was die Hotelplätze entsprechen soll (auch 18), gibt er mir nichts aus.
    Durch SendClientMessage funktioniert es wiederrum doch.


    Was ist falsch?
    Finde das Problem einfach nicht.


    Danke im Voraus!



    Viele Grüße
    Gimbo

    Nabend,


    ich habe ein kleines Problem mit meinem MySQL. Ich bin benutzte noch die R5 Version und der Aufwand wäre für mich zu hoch mein Gamemode umzuschreiben auf die neue MySQL-Version abzudaten.


    Ich möchte nun über eine MySQL Query ein Integer auslesen, laut Dokumentation funktioniert das so:

    Code
    mysql_query("SELECT myid FROM players LIMIT 1");
    mysql_store_result();
    new myid = mysql_fetch_int();
    mysql_free_result();

    Nur wie mache ich das nun ohne LIMIT 1, also wenn ich mehrere Ergebnisse habe und sie anhand einer For-Schleife auflisten möchte?
    Und kann mir bitte jemand erklären wie das für Strings geht? Da blicke ich überhaupt nicht durch.



    Vielen Dank und Grüße

    Guten Tag Breadfischer,
    ich hab vergessen wie man die Autos nochmal abschließen kann.. Ich will die Fahrzeige aber nicht mit SetVehicleParamsForPlayer abschließen, sondern halt so das wenn man einsteigen will das einsteigen abgebrochen wird und eine Message kommt die sagt das man keinen Schlüssel hat oder so.


    Freue mich auf Hilfe :)


    Gruß, Gimbo

    Ahh, du startest da erst die Busroute? Klar geht das mit Dialog. Nur wenn du mit SetPlayerCheckpoint ein Marker setzt musst du das dann bei der nächsten Haltestelle mit OnPlayerEnterCheckPoint machen.

    Hab nun das.. nur das tut sich gar nichts:



    if(!strcmp("/Destroythiscar", cmd, true))
    {
    if(PlayerInfo[playerid][pAdmin] > 2)
    {
    new id = GetPlayerVehicleID(playerid);
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(id == PlayerCar[i][NSID])
    {
    new sform[128];
    format(sform,sizeof sform,"/Cars/%d.ini",PlayerCar[i][NSID]);
    if(fexist(sform))
    {
    new pm = GetVehicleModel(PlayerCar[i][vid]);
    pm -= 400;
    format(str, sizeof str, "Du hast den %s ID %d von %s gelöscht!", PlayerVehicle[pm], PlayerCar[i][NSID], PlayerCar[i][Key]);
    SendClientMessage(playerid, COLOR_RED, str);
    DestroyVehicle(PlayerCar[i][vid]);
    DestroyDynamic3DTextLabel(PlayerCar[i][NS]);
    if(INI_Open(sform))
    {
    INI_Remove(sform);
    INI_Save();
    INI_Close();
    }
    PlayerCar[i][BuyPrice] = 0;
    PlayerCar[i][px] = 0;
    PlayerCar[i][py] = 0;
    PlayerCar[i][pz] = 0;
    PlayerCar[i][pa] = 0;
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "");
    PlayerCar[i][model] = 0;
    PlayerCar[i][c1] = 0;
    PlayerCar[i][c2] = 0;
    format(PlayerCar[i][ABC], 11, "");
    return 1;
    }
    return 1;
    }
    }
    }
    return 1;
    }

    mhh.. mit GetPlayerVehicleID hab ichs davor gemacht.
    Hier:

    if(strcmp(cmdtext, "/mycar", true) == 0)
    {
    new mycar = GetPlayerVehicleID(playerid);
    {
    format(string, sizeof(string), "Deine Fahrzeugid lautet %s", mycar);
    SendClientMessage(playerid, COLOR_DBLUE, string);
    }
    return 1;
    }


    Nur irgendwie wenn ich dann in einem Fahrzeug sitze und /mycar schreibe dann zeigt der mir ein Symbol wie ◘ oder so :D Ich versuchs einfach mal


    //edit: Code gefailt

    Nabend.
    Ich hab ein kleines Problem.. un zwar sind meine Autos alle in Inni Datein gespeichert..
    Die kann man einfach mit /destroyvehicle zerstören.. nur das Problem ist.. alle ID's werden falsch angezeigt weil die Autos nach den Innidatein geladen werden.
    Wenn ich ein Auto zerstören will, dann muss ich die ID eingeben.. ist ja schlecht wenn alles durcheinander ist. :/


    Kann jemand den /destroyvehicle Command so umändern das man keine ID mehr eingeben muss, sondern einfach das Auto zerstört wird in dem man sitzt??
    Währe sehr dankbar. Hier der Code:



    if(!strcmp("/Destroycar", cmd, true))
    {
    if(PlayerInfo[playerid][pAdmin] > 2)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    return SendClientMessage(playerid, Grey, "Verwendung: /DestroyCar [CarID]");
    }
    new id = strval(tmp);
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(id == PlayerCar[i][NSID])
    {
    new sform[128];
    format(sform,sizeof sform,"/Cars/%d.ini",PlayerCar[i][NSID]);
    if(fexist(sform))
    {
    new pm = GetVehicleModel(PlayerCar[i][vid]);
    pm -= 400;
    format(str, sizeof str, "Du hast den %s ID %d von %s gelöscht!", PlayerVehicle[pm], PlayerCar[i][NSID], PlayerCar[i][Key]);
    SendClientMessage(playerid, COLOR_RED, str);
    DestroyVehicle(PlayerCar[i][vid]);
    DestroyDynamic3DTextLabel(PlayerCar[i][NS]);
    if(INI_Open(sform))
    {
    INI_Remove(sform);
    INI_Save();
    INI_Close();
    }
    PlayerCar[i][BuyPrice] = 0;
    PlayerCar[i][px] = 0;
    PlayerCar[i][py] = 0;
    PlayerCar[i][pz] = 0;
    PlayerCar[i][pa] = 0;
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "");
    PlayerCar[i][model] = 0;
    PlayerCar[i][c1] = 0;
    PlayerCar[i][c2] = 0;
    format(PlayerCar[i][ABC], 11, "");
    return 1;
    }
    return 1;
    }
    }
    }
    return 1;
    }