Autohaus, Auto soll erstellt werden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Autohaus, Auto soll erstellt werden

    Hey,

    Quellcode

    1. if(dialogid == DIALOG_AUTOHAUS1)
    2. {
    3. if(response)
    4. {
    5. new vid = GetPlayerVehicleID(playerid);
    6. for(new i = 0; i < sizeof(Autohausauto1); i++)
    7. if(IsPlayerInVehicle(playerid, Autohausauto1[i]))
    8. {
    9. if(vid == Autohausauto1[i])
    10. {
    11. new string[300];
    12. format(string, sizeof(string), "%s preis %d ",Autohausauto1_name[i], Autohausauto1_preis[i]);
    13. ShowPlayerDialog(playerid, DIALOG_AUTOHAUS1, DIALOG_STYLE_MSGBOX, "{00C9FF}Los Santos S-Sport Autohaus", string, "Kaufen", "Abbrechen");
    14. }
    15. }
    16. }
    17. return 1;
    18. }
    Alles anzeigen

    Ich will das genau jetzt in diesem Dialog schon das Auto an einer X Y Z Position gespawnt wird
    Wie mache ich das, dass er genau das selbe Fahrzeug an dieser Stelle spawnt, hoffe einer kann mir behilflich sein :)
    EyL, German Roleplay. Opening 2019
    youtube.com/watch?v=MjWlICSj6Jo
  • ist nur eine idee
    hab noch nicht ganz verstanden was du vor hast

    formatierung anpassen!

    Spoiler anzeigen

    Quellcode

    1. if(dialogid == DIALOG_AUTOHAUS1)
    2. {
    3. if(response)
    4. {
    5. new vid = GetPlayerVehicleID(playerid);
    6. for(new i = 0; i < sizeof(Autohausauto1); i++)
    7. if(IsPlayerInVehicle(playerid, Autohausauto1[i]))
    8. {
    9. if(vid == Autohausauto1[i])
    10. {
    11. new string[300];
    12. new vehID,vID;
    13. Float:x = 0.0;
    14. Float:y = 0.0;
    15. Float:z = 0.0;
    16. Float:rotation = 0.0;
    17. color1 = 1;
    18. color2 = 2;
    19. format(string, sizeof(string), "%s preis %d ",Autohausauto1_name[i], Autohausauto1_preis[i]);
    20. ShowPlayerDialog(playerid, DIALOG_AUTOHAUS1, DIALOG_STYLE_MSGBOX, "{00C9FF}Los Santos S-Sport Autohaus", string, "Kaufen", "Abbrechen");
    21. vehID = AddStaticVehicle(vID,Float:x,Float:y,Float:z,Float:rotation,color1,color2);
    22. }
    23. }
    24. }
    25. return 1;
    26. }
    Alles anzeigen


  • BrightLeaN schrieb:

    Wie mache ich das, dass er genau das selbe Fahrzeug an dieser Stelle spawnt, hoffe einer kann mir behilflich sein
    Das Fahrzeug in dem der Spieler sitzt, oder eine "Kopie" davon?
    Sind die Fahrzeugdaten in einem Array bekannt (Model, Farbe, Tunings, ...), wenn ja, welches?
    Ist die Position bekannt, wenn ja, welche?

    PS:
    Achte unbedingt zukünftig bei deinen Codes immer darauf, for-Schleifen ebenfalls zu "unterklammern", wie du es bei if-Abfragen auch machst!
    Das ist wichtig, sonst führt das früher oder später zu Fehlern.
  • Gut danke für den zukünftigen Tipp habe die Schleife angepasst,
    War zu doof um ein Array zu erstellen deswegen habe ich alles einzeln angepasst das heißt


    Quellcode

    1. new Autohausauto1[ 15 ];
    2. new Autohausauto1_preis[ 15 ];
    3. new Autohausauto1_name[ 15 ][16];
    Das heißt habe jetzt z.b Autohausauto1[1]=Turismo gemacht um das Auto im Dialog anzuzeigen, ich weiß ziemlich dumm und kompliziert.
    Man sollte die Farbe und Tunings voher auswählen können aber soweit bin ich noch nicht, wollte es erst mal simple halten.

    Es soll das selbe Fahrzeug also nur die ID an einer X Y Z Position spawnen, ganz einfach wenn ich in einem Turismo sagen wir dann das Autohausauto[ 1 ] sitze soll er mir auch nach dem kauf den Turismo spawnen. also sind 12 Positionen habe noch keine Position wollte ich im Nachhinein machen. Also eine Position noch nicht bekannt.
    Also so das es zufällig an einen der 12 Positionen spawnt.
  • PAWN-Quellcode

    1. new Float:SAHSpawn[][15] =
    2. {
    3. {-2796.9854, 1224.8180, 20.5429, 192.0335},
    4. {757.8008,-1361.3445,13.4201,270.0133}, // 1
    5. {758.0203,-1364.8248,13.4205,269.2972}, // 2
    6. {758.1547,-1368.3466,13.4207,270.1615}, // 3
    7. {758.1164,-1371.8838,13.4206,270.1245}, // 4
    8. {758.0817,-1375.3683,13.4206,270.1860}, // 5
    9. {758.1844,-1378.8671,13.4207,269.6140}, // 6
    10. {757.8246,-1382.4070,13.4201,269.5460}, // 7
    11. {770.5339,-1382.2946,13.4423,89.8120}, // 8
    12. {770.7288,-1378.9629,13.4426,90.8112}, // 9
    13. {770.4979,-1375.3431,13.4422,90.5926}, // 10
    14. {770.6320,-1371.7992,13.4425,89.3745}, // 11
    15. {770.5838,-1368.4084,13.4424,90.1042}, // 12
    16. {770.4329,-1364.8346,13.4421,90.1601}, // 13
    17. {770.5293,-1361.4044,13.4423,89.4227} // 14
    18. };
    Alles anzeigen

    PAWN-Quellcode

    1. if(dialogid == DIALOG_AUTOHAUS5)
    2. {
    3. if(response)
    4. {
    5. new vid = GetPlayerVehicleID(playerid);
    6. for(new i = 0; i < sizeof(Autohausauto1); i++)
    7. {
    8. if(IsPlayerInVehicle(playerid, Autohausauto1[i]))
    9. {
    10. if(vid == Autohausauto1[i])
    11. {
    12. if(pInfo[playerid][pGeld] < Autohausauto1_preis[i])
    13. {
    14. RemovePlayerFromVehicle(playerid);
    15. new string[100];
    16. format(string, sizeof(string), "{c45461}Du brauchst $%s damit du dir den %s kaufen kannst.",sMoney(Autohausauto1_preis[i]),Autohausauto1_name[i]);
    17. SendClientMessage(playerid,-1,string);
    18. }
    19. else
    20. {
    21. RemovePlayerFromVehicle(playerid);
    22. ShowPlayerDialog(playerid, DIALOG_AUTOHAUS10, DIALOG_STYLE_MSGBOX, "{F39C12}Los Santos Super-Sport Autohaus", "\t{FFFFFF}«{F39C12} Zahlung erfolgreich {FFFFFF}»\nDein Fahrzeug steht auf dem Parkplatz", "Verstanden", "");
    23. new SP = random(sizeof(SAHSpawn));
    24. new FB = random(127);
    25. CreateVehicle(Autohausauto1[i], SAHSpawn[SP][0], SAHSpawn[SP][1], SAHSpawn[SP][2], SAHSpawn[SP][3], FB, FB, 0);
    26. }
    27. }
    28. }
    29. }
    30. }
    31. else
    32. {
    33. RemovePlayerFromVehicle(playerid);
    34. }
    35. return 1;
    36. }
    Alles anzeigen
    Melde mich seit langem mal wieder um hier mal weiter zu machen mir hat die Motivation gefehlt weil mir das sehr schwer viel.

    Habe es jetzt so gemacht, habe auch eine Zufallsfarbe genommen weiß aber nicht ob das falsch ist habe ein random von - 127 gemacht und dieser wird dann bei Farbe eingesetzt aber müsste doch eigentlich gehen da der Wert -1 ja irgendwie nicht so ganz funktioniert.

    Problem dabei Das Auto spawnt nicht woran liegts?

  • BrightLeaN schrieb:

    Melde mich seit langem mal wieder um hier mal weiter zu machen mir hat die Motivation gefehlt weil mir das sehr schwer viel.
    Schön, dass du weiter machst! :)


    BrightLeaN schrieb:

    Problem dabei Das Auto spawnt nicht woran liegts?
    Du erstellst das neue Fahrzeug mit der VehicleID des Autohausauto's, anstelle der ModelID.

    PAWN-Quellcode

    1. CreateVehicle(Autohausauto1[i], SAHSpawn[SP][0], SAHSpawn[SP][1], SAHSpawn[SP][2], SAHSpawn[SP][3], FB, FB, 0);

    zu:

    PAWN-Quellcode

    1. CreateVehicle(GetVehicleModel(Autohausauto1[i]), SAHSpawn[SP][0], SAHSpawn[SP][1], SAHSpawn[SP][2], SAHSpawn[SP][3], FB, FB, 0);
  • Neu

    Verstehe dieses Tutorial nicht so ganz, liegt an der MYSQL glaube ich ist ja bisschen älter.

    Hab so bisschen geschaut wie ich das mache, irgendwie kriege ich Fehler, habe keinen weiteren Plan.
    Was passiert wenn ich 2 Autos habe? Das selbe mit 2 am Ende (P_X2 e.g)

    PAWN-Quellcode

    1. #define MAX_PCARS 300
    2. enum PCarEnum{
    3. P_X,
    4. P_Y,
    5. P_Z,
    6. P_R,
    7. P_C1,
    8. P_C2,
    9. p_MID
    10. };
    11. new PCar[MAX_PCARS][PCarEnum];
    Alles anzeigen


    PAWN-Quellcode

    1. forward LoadPlayerCars(playerid);
    2. public LoadPlayerCars(playerid)
    3. {
    4. new id;
    5. id = cache_get_value_name_int(0, "ID");
    6. cache_get_value_name_float(0,"P_X",PCarEnum[id][P_X]);
    7. cache_get_value_name_float(0,"P_Y",PCarEnum[id][P_Y]);
    8. cache_get_value_name_float(0,"P_Z",PCarEnum[id][P_Z]);
    9. cache_get_value_name_float(0,"p_R",PCarEnum[id][P_R]);
    10. cache_get_value_name_int(0,"P_C1",PCarEnum[id][P_C1]);
    11. cache_get_value_name_int(0,"P_C2",PCarEnum[id][P_C2]);
    12. cache_get_value_name_int(0,"P_MID",PCarEnum[id][P_MID]);
    13. return 1;
    14. }
    Alles anzeigen

    Quellcode

    1. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3955) : warning 202: number of arguments does not match definition
    2. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : error 028: invalid subscript (not an array or too many subscripts): "PCarEnum"
    3. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : warning 215: expression has no effect
    4. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : error 001: expected token: ";", but found "]"
    5. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : error 029: invalid expression, assumed zero
    6. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : fatal error 107: too many error messages on one line
    7. Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    8. 4 Errors.
    Alles anzeigen

  • Neu

    Danke!

    PAWN-Quellcode

    1. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3955) : warning 202: number of arguments does not match definition
    2. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3956) : warning 213: tag mismatch
    3. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3957) : warning 213: tag mismatch
    4. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3958) : warning 213: tag mismatch
    5. C:\Users\Avdo\Desktop\PAWN Scripting\Enjoy Your Life\gamemodes\EyL.pwn(3959) : warning 213: tag mismatch
    6. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    7. 5 Warnings.

    Jetzt ist halt nur was hiermit falsch

    PAWN-Quellcode

    1. id = cache_get_value_name_int(0, "ID");
  • Neu

    BrightLeaN schrieb:

    Was passiert wenn ich 2 Autos habe? Das selbe mit 2 am Ende (P_X2 e.g)

    PAWN-Quellcode

    1. new PCar[MAX_PCARS][PCarEnum];

    zu:

    PAWN-Quellcode

    1. new PCar[MAX_PLAYERS][MAX_PCARS][PCarEnum];


    Außerdem musst du dann alle

    PAWN-Quellcode

    1. PCarEnum[id][enumWert]

    zu:

    PAWN-Quellcode

    1. PCarEnum[playerid][id][enumWert]

    ändern.

    Und in LoadPlayerCars mit einer Schleife arbeiten.



    BrightLeaN schrieb:

    Verstehe dieses Tutorial nicht so ganz, liegt an der MYSQL glaube ich ist ja bisschen älter.
    Das stimmt, aber du hast es doch schon gut hinbekommen. Kleine Änderungen sind durch den Wechsel auf R40+ notwendig. Das Grundprinzip bleibt aber gleich.
  • Neu

    Wie jedes mal habe ich wieder das Problem mit der Schleife, habe dazu immer noch Fehler woran kann es wohl liegen

    PAWN-Quellcode

    1. forward LoadPlayerCars(playerid);
    2. public LoadPlayerCars(playerid)
    3. {
    4. new id;
    5. id = cache_get_value_name_int(0, "ID", id);
    6. cache_get_value_name_float(0,"P_X",PCarEnum[playerid][id][P_X]);
    7. cache_get_value_name_float(0,"P_Y",PCarEnum[playerid][id][P_Y]);
    8. cache_get_value_name_float(0,"P_Z",PCarEnum[playerid][id][P_Z]);
    9. cache_get_value_name_float(0,"p_R",PCarEnum[playerid][id][P_R);
    10. cache_get_value_name_int(0,"P_C1",PCarEnum[playerid][id][P_C1);
    11. cache_get_value_name_int(0,"P_C2",PCarEnum[playerid][id][P_C2]);
    12. cache_get_value_name_int(0,"P_MID",PCarEnum[playerid][id][P_MID]);
    13. return 1;
    14. }
    Alles anzeigen

    Quellcode

    1. (4067) : error 028: invalid subscript (not an array or too many subscripts): "PCarEnum"
    2. (4067) : warning 215: expression has no effect
    3. (4067) : error 001: expected token: ";", but found "]"
    4. (4067) : error 029: invalid expression, assumed zero
    5. (4067) : fatal error 107: too many error messages on one line
    6. Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    7. 4 Errors.

    Beitrag von LeonMrBonnie ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Neu

    Du kannst es so machen:

    PAWN-Quellcode

    1. forward LoadPlayerCars(playerid);
    2. public LoadPlayerCars(playerid)
    3. {
    4. new rows, id;
    5. cache_get_row_count(rows);
    6. for(new i = 0; i < rows; i++)
    7. {
    8. cache_get_value_name_int(i, "ID", PCar[playerid][i][P_ID]);
    9. cache_get_value_name_float(i,"P_X",PCar[playerid][i][P_X]);
    10. cache_get_value_name_float(i,"P_Y",PCar[playerid][i][P_Y]);
    11. cache_get_value_name_float(i,"P_Z",PCar[playerid][i][P_Z]);
    12. cache_get_value_name_float(i,"p_R",PCar[playerid][i][P_R);
    13. cache_get_value_name_int(i,"P_C1",PCar[playerid][i][P_C1);
    14. cache_get_value_name_int(i,"P_C2",PCar[playerid][i][P_C2]);
    15. cache_get_value_name_int(i,"P_MID",PCar[playerid][i][P_MID]);
    16. }
    17. return 1;
    18. }
    Alles anzeigen
  • Neu

    Danke dir!
    Trotzdem habe ich noch einige Fehler, dazu noch eine Frage warum du P_ID hinzugefügt hast.

    PAWN-Quellcode

    1. forward LoadPlayerCars(playerid);
    2. public LoadPlayerCars(playerid)
    3. {
    4. new rows, id;
    5. cache_get_row_count(rows);
    6. for(new i = 0; i < rows; i++)
    7. {
    8. cache_get_value_name_int(i, "ID", PCar[playerid][i][P_ID]);
    9. cache_get_value_name_float(i,"P_X",PCar[playerid][i][P_X]);
    10. cache_get_value_name_float(i,"P_Y",PCar[playerid][i][P_Y]);
    11. cache_get_value_name_float(i,"P_Z",PCar[playerid][i][P_Z]);
    12. cache_get_value_name_float(i,"p_R",PCar[playerid][i][P_R);
    13. cache_get_value_name_int(i,"P_C1",PCar[playerid][i][P_C1);
    14. cache_get_value_name_int(i,"P_C2",PCar[playerid][i][P_C2]);
    15. cache_get_value_name_int(i,"P_MID",PCar[playerid][i][P_MID]);
    16. }
    17. return 1;
    18. }
    Alles anzeigen


    Quellcode

    1. (4071) : warning 213: tag mismatch
    2. (4072) : warning 213: tag mismatch
    3. (4073) : warning 213: tag mismatch
    4. (4074) : error 001: expected token: "]", but found ")"
    5. (4075) : error 001: expected token: "]", but found ")"
    6. (4066) : warning 203: symbol is never used: "id"
    7. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    8. 2 Errors.
  • Neu

    BrightLeaN schrieb:

    Danke dir!
    Trotzdem habe ich noch einige Fehler, dazu noch eine Frage warum du P_ID hinzugefügt hast.

    Quellcode

    1. cache_get_value_name_float(i,"p_R",PCar[playerid][i][P_R);
    2. cache_get_value_name_int(i,"P_C1",PCar[playerid][i][P_C1);

    Zu



    Quellcode

    1. cache_get_value_name_float(i,"p_R",PCar[playerid][i][P_R]);
    2. cache_get_value_name_int(i,"P_C1",PCar[playerid][i][P_C1]);
    da haben die „]“ gefehlt.

    - Via Handy
  • Neu

    Danke dir, hab mir die Zeilen anguckt und nichts bemerkt sorry.

    Trotzdem habe ich tag mismatches und "id" wird nicht benutzt?

    PAWN-Quellcode

    1. (4071) : warning 213: tag mismatch
    2. (4072) : warning 213: tag mismatch
    3. (4073) : warning 213: tag mismatch
    4. (4074) : warning 213: tag mismatch
    5. (4066) : warning 203: symbol is never used: "id"
    6. Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    7. 5 Warnings.


    PAWN-Quellcode

    1. forward LoadPlayerCars(playerid);
    2. public LoadPlayerCars(playerid)
    3. {
    4. new rows, id;
    5. cache_get_row_count(rows);
    6. for(new i = 0; i < rows; i++)
    7. {
    8. cache_get_value_name_int(i, "ID", PCar[playerid][i][P_ID]);
    9. cache_get_value_name_float(i,"P_X",PCar[playerid][i][P_X]);
    10. cache_get_value_name_float(i,"P_Y",PCar[playerid][i][P_Y]);
    11. cache_get_value_name_float(i,"P_Z",PCar[playerid][i][P_Z]);
    12. cache_get_value_name_float(i,"p_R",PCar[playerid][i][P_R]);
    13. cache_get_value_name_int(i,"P_C1",PCar[playerid][i][P_C1]);
    14. cache_get_value_name_int(i,"P_C2",PCar[playerid][i][P_C2]);
    15. cache_get_value_name_int(i,"P_MID",PCar[playerid][i][P_MID]);
    16. }
    17. return 1;
    18. }
    Alles anzeigen