enum-Undj etzt

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
  • Hallo ich habe ein enum gemacht, dort werden cars mit gespawnt das klappt auch nun möchte ich eine if abfrage machen und fragen im welchem car er ist und bei jedem car soll etwas anderes passieren(bezahlen) nun weiß ich nicht wie ich es schreiben soll, das ich es nur einmal schreibe und somit nur in dem enum editieren brauche(im new) das ich es sonst nicht editeren muss kann mir wer helfen?
    hier ist das enum:
    enum ganghaus
    {
    Name[128],
    Gangid,
    Modelid,
    Preis,
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    Float:z_angle
    };
    new Kaufliste[autos][ganghaus] = {
    {"LandStalker",0,400,50000,2148.6665,1408.4299,10.9126,1.1883}
    };
    Wer nun noch die spawns braucht soll es posten


    mfg

  • Bitte ^^ Mit leichten Erklärungen:


    enum ganghaus
    {
    Name[128],
    Gangid,
    Modelid,
    Preis,
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    Float:z_angle
    };
    new KauflisteCarNumber[MAX_VEHICLES]; //Das hier einfügen
    new Kaufliste[autos][ganghaus] = {
    {"LandStalker",0,400,50000,2148.6665,1408.4299,10.9126,1.1883}
    };


    public OnGameModeInit()
    {
    new car = 0, carid;
    for(; car < MAX_VEHICLES; car++) KauflisteCarNumber[car] = -1; //Erstellt den Standart Wert für jedes Fahrzeug, also -1
    car = 0;
    for(; car < sizeof(Kaufliste); car++) //Geht alle Kaufautos durch
    {
    carid = CreateVehicle(Kaufliste[car][Modelid], Kaufliste[car][pos_x], Kaufliste[car][pos_y], Kaufliste[car][pos_z], Kaufliste[car][z_angle], 1, 1, -1); //Erstellt das Fahrezug
    KauflisteCarNumber[carid] = car; //Definiert das Fahrzeug
    }
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER && KauflisteCarNumber[GetPlayerVehicleID(playerid)] != -1) //Wenn Spieler als Fahrer eingestiegen ist und es ein KaufAuto ist (also != -1)
    {
    new autoid = KauflisteCarNumber[GetPlayerVehicleID(playerid)], string[128];
    format(string, sizeof(string), "DU bist in einem Fahrzeugshop Fahrzeug mit dem Fahrzeugnamen %s und dem Preis von %d$!", Kaufliste[car][Name], Kaufliste[car][Preis]);
    SendClientMessage(playerid, 0x00FF00FF, string); //Wiedergeben des Textes ^^
    }
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • warte ich schreibe mal alles wie ich es habe:D
    #define autos 1
    new GangAuto[autos];
    enum ganghaus
    {
    Name[128],
    Gangid,
    Modelid,
    Preis,
    Float:pos_x,
    Float:pos_y,
    Float:pos_z,
    Float:z_angle
    };
    new Kaufliste[autos][ganghaus] = {
    {"LandStalker",0,400,50000,2148.6665,1408.4299,10.9126,1.1883}
    };
    forward IstEinGangAuto(carid);
    public OnGameModeInit()
    {
    for(i=0; i<sizeof(Kaufliste); i++)
    {


    GangAuto[Kaufliste[i][Gangid]] = AddStaticVehicle(Kaufliste[i][Modelid],Kaufliste[i][pos_x],Kaufliste[i][pos_y],Kaufliste[i][pos_z],Kaufliste[i][z_angel],1,1); // Gangautohaus Landstalker
    };
    return 1;
    };
    OnPlayerCommand....
    if(strcmp(cmd,"/buyfcar",true)== 0)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    new tmpmodel = GetVehicleModel(tmpcar);
    if(IstEinGangAuto(tmpcar))
    {
    for(i=0; i<sizeof(Kaufliste); i++)//von hier
    {
    if(Gangauto[Kaufliste[i][Gangid]])//bis hier das prob
    {
    ...................


    public IstEinGangAuto(carid)
    {
    for(new i = 0; i < sizeof(GangAuto); i++)
    {
    if(carid == GangAuto[i])
    {
    return 1;
    }
    }
    return 0;
    }
    Player_State_Driver...............
    else if(IstEinGangAuto(newcar))
    {
    if(PlayerInfo[playerid][pLeader]>0 && PlayerInfo[playerid][pLeader]!=1 && PlayerInfo[playerid][pLeader]!=2 && PlayerInfo[playerid][pLeader]!=3 && PlayerInfo[playerid][pLeader]!=4 && PlayerInfo[playerid][pLeader]!=16 && PlayerInfo[playerid][pLeader]!=7 && PlayerInfo[playerid][pLeader]!=9 && PlayerInfo[playerid][pLeader]!=23 && PlayerInfo[playerid][pLeader]!=10)
    // if(PlayerInfo[playerid][pLeader]>0)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du kannst dieses Auto nun mit /buyfcar kaufen");
    SendClientMessage(playerid,COLOR_GREEN,"Wenn du jedoch das Auto nicht kaufen möchtest benutze /exita");
    fraus[playerid] = 1;
    TogglePlayerControllable(playerid,0);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Gangleader !");
    }
    }

    Einmal editiert, zuletzt von Mailer ()

  • Eig hast du eh alles schon.. Was willst du nun genau machen, hab dich ned ganz verstanden ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Die if abfrage bei /buyfcar
    wenn er jetzt im Gangauto[1] sitzt soll von spieler der preis für Gangauto[1] abgezogen bekommen

  • Erklärung sollte verständlich sein im Code ^^


    stock GetGangAutoID(carid)
    {
    for(new i = 0; i < sizeof(GangAuto); i++)
    {
    if(carid == GangAuto[i])
    {
    return i;
    }
    }
    return -1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmd,"/buyfcar",true)== 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "Du sitzt in keinem Fahrzeug!");
    new tmpcar = GetPlayerVehicleID(playerid);
    new tmpmodel = GetVehicleModel(tmpcar);
    new gangid = GetGangAutoID(tmpcar);
    if(gangid == -1) return SendClientMessage(playerid, 0xFFFFFF00, "Du bist in keinem GangAuto was zum kaufen ist!");
    //Restliche Code, also die ID was du brauchst damit du Preis Abfragen kannst ist in dem Fall
    //die gangid ^^ Beispiel hier unten!
    GivePlayerMoney(playerid, -Kaufliste[gangid][Preis]); //Zieht den Preis von gewünschtem Fahrzeug halt ab ^^ (über die gangid)
    //Restlicher Code...
    return 1;
    }
    return 0;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • danke dir



    //edit: lol

    Code
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : error 017: undefined symbol "i"
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : warning 205: redundant code: constant expression is zero
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : error 017: undefined symbol "i"
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : error 001: expected token: ")", but found ";"
    C:\Dokumente und Einstellungen\Timo van Doornick\Desktop\GTA Head Server 0.3a R8\gamemodes\script.pwn(13058) : fatal error 107: too many error messages on one line


    for(i=0; i<sizeof(Kaufliste); i++)
    {


    GangAuto[Kaufliste[i][Gangid]] = AddStaticVehicle(Kaufliste[i][Modelid],Kaufliste[i][pos_x],Kaufliste[i][pos_y],Kaufliste[i][pos_z],Kaufliste[i][z_angel],1,1); // Gangautohaus Landstalker
    };


    //edit2:
    Fixxed

    2 Mal editiert, zuletzt von Mailer ()