Autohausfahrzeug spawnt 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, wie die Überschrift schon sagt, spawnt das Autohausfahrzeug nicht.


    Code:


    OnGameModeInit


    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    Kaufliste[i][Carid]=CreateVehicle(Kaufliste[i][Modelid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],Kaufliste[i][Color1],Kaufliste[i][Color2],-1);
    }


    enum:


    enum Auto
    {
    Name[256],
    Carid,
    Preis,
    Autohaus,
    Modelid,
    Float:X,
    Float:Y,
    Float:Z,
    Float:Rotation,
    Color1,
    Color2
    };


    new Kaufliste[2][Auto] = {
    {"Glendale",466,4500,1,-1,1279.1447,-1795.6395,13.1314,90.9318,1,1},
    {"Oceanic",467,4000,1,-1,1279.1526,-1799.9985,13.1265,90.8219,1,1}
    };


    Hoffe ihr könnt mir helfen!

  • Hallo,


    nach deinem Prinzip würde er CreateVehicle so ausführen:
    CreateVehicle(-1, ...);
    -1 ist keine Model ID. CarID wird verwendet, um die ID festzuhalten die zurück gegeben wird von CreateVehicle. Aber ein Model -1 gibt es nunmal nicht. Änder mal die -1 in 411 und ich garantiere dir, dass es funktioniert.

  • for(new i=0; i<sizeof(Kaufliste); i++)
    {
    CreateVehicle(Kaufliste[i][Carid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],Kaufliste[i][Color1],Kaufliste[i][Color2],-1);
    }


    Wenn ichs so mache, createt der zwar ein Fahrzeug, aber wenn man in ein Fahrzeug steigt, wird man gefreezed.


    Code:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    new fahrzeug = GetPlayerVehicleID(playerid);
    new string[64];
    new ahc = IsAutohausCar(fahrzeug);
    if(ahc)
    {
    TogglePlayerControllable(playerid,0);
    format(string,sizeof(string),"Fahrzeug: %s\nPreis: %d$",Kaufliste[ahc][Name],Kaufliste[ahc][Preis]);
    ShowPlayerDialog(playerid,DIALOG_Autohaus,DIALOG_STYLE_MSGBOX,"Autohaus-Fahrzeug",string,"Kaufen","Abbrechen");
    }
    }


    Man soll nur gefreezed werden, wenn es ein Autohaus Car ist

  • Hallo,


    ich glaube das was ich nun letztendlich von dir wollte kam noch nicht so richtig an. Ich werde es erneut erklären.


    Du hast in Carid die ID des Models gespeichert und in Model -1 (aus welchem Grund auch immer). Warum speicherst du nicht einfach in Carid eine 0 ab und setzt die Model ID von Carid in Modelid ? Du erstellst sozusagen Fahrzeug Model -1 und als FahrzeugID hast du einen vordefinierten Wert eingegeben. Ich denke das ist nur ein Denkfehler von dir.


    Zum neuen Problem:
    TogglePlayerControllable(playerid,0);
    rausnehmen.

  • if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(Kaufliste); i++
    {
    new fahrzeug = GetPlayerVehicleID(playerid);
    new string[64];
    new ahc = IsAutohausCar(fahrzeug);
    if(GetPlayerVehicleID(playerid) == ahc[i])
    {
    TogglePlayerControllable(playerid,0);
    format(string,sizeof(string),"Fahrzeug: %s\nPreis: %d$",Kaufliste[ahc][Name],Kaufliste[ahc][Preis]);
    ShowPlayerDialog(playerid,DIALOG_Autohaus,DIALOG_STYLE_MSGBOX,"Autohaus-Fahrzeug",string,"Kaufen","Abbrechen");
    }
    }
    }

  • Hier:


    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    CreateVehicle(Kaufliste[i][Carid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],Kaufliste[i][Color1],Kaufliste[i][Color2],-1);
    }


    Createt der ALLE Fahrzeuge die hier stehen:


    new Kaufliste[2][Auto] = {
    {"Glendale",466,4500,1,1279.1447,-1795.6395,13.1314,90.9318,1,1},
    {"Oceanic",467,4000,1,1279.1526,-1799.9985,13.1265,90.8219,1,1}
    };


    Und:


    TogglePlayerControllable(playerid,0);


    Das muss hier drinne bleiben:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    new fahrzeug = GetPlayerVehicleID(playerid);
    new string[64];
    new ahc = IsAutohausCar(fahrzeug);
    if(ahc)
    {
    TogglePlayerControllable(playerid,0);
    format(string,sizeof(string),"Fahrzeug: %s\nPreis: %d$",Kaufliste[ahc][Name],Kaufliste[ahc][Preis]);
    ShowPlayerDialog(playerid,DIALOG_Autohaus,DIALOG_STYLE_MSGBOX,"Autohaus-Fahrzeug",string,"Kaufen","Abbrechen");
    }
    }


    Da man sonst das Fahrzeug klauen kann...


    SryP4wn dann kommt das:


    Zitat

    Ungültiges Array (kein Array?): "ahc"


    ...


    wie behebt man das nomma?


    bin gerade iwi n bisl dumm

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hallo,


    warum sollte der Spieler überhaupt gefreezt werden ? Kann zu Bugs führen. Mich persönlich regt das immer wieder auf. War vor ca. 2 Tagen auf einem richtig schlecht editierten GodFather Server und wurde genau bei so etwas gefreezt. Wollte zuerst in meinen Bildschirm schlagen nachdem kein Admin geantwortet hat um mich zu entfreezen, aber habe mich dann für /q entschieden.


    Das Fahrzeug kann man nicht klauen wenn du einfach überprüfst ob er den Motor anschalten will und dies ein Kaufhaus Fahrzeug ist.

  • Dann eben so:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    new fahrzeug = GetPlayerVehicleID(playerid);
    new string[64];
    new ahc = IsAutohausCar(fahrzeug);
    if(ahc)
    {
    format(string,sizeof(string),"Fahrzeug: %s\nPreis: %d$",Kaufliste[ahc][Name],Kaufliste[ahc][Preis]);
    ShowPlayerDialog(playerid,DIALOG_Autohaus,DIALOG_STYLE_MSGBOX,"Autohaus-Fahrzeug",string,"Kaufen","Abbrechen");
    }
    }


    Der Spieler ist ja ehh im Dialog...


    Danke, aber es funzt ja trotzdem nit alles

  • new KaufAutos[5];
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(Kaufliste); i++
    {
    new string[64];
    if(GetPlayerVehicleID(playerid) == KaufAutos[i])
    {
    TogglePlayerControllable(playerid,0);
    format(string,sizeof(string),"Fahrzeug: %s\nPreis: %d$",Kaufliste[ahc][Name],Kaufliste[ahc][Preis]);
    ShowPlayerDialog(playerid,DIALOG_Autohaus,DIALOG_STYLE_MSGBOX,"Autohaus-Fahrzeug",string,"Kaufen","Abbrechen");
    }
    }
    }
    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    KaufAutos[i] = CreateVehicle(Kaufliste[i][Carid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],Kaufliste[i][Color1],Kaufliste[i][Color2],-1);
    }



  • Dann spawnen ca 20 gleiche Fahrzeuge aufeinander und er zeigt immer noch nicht den Dialog an...


  • for(new i=0; i<sizeof(Kaufliste); i++)
    {
    KaufAutos[i] = CreateVehicle(Kaufliste[i][Carid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],Kaufliste[i][Color1],Kaufliste[i][Color2],-1);
    }


    Zeile 15 - 18.