problem mit befehl

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
  • Moin


    Ich habe ein kleines problem bei meinem Befehl /carlist, der befehl /carlist sollte eigentlich bewirken das man sein gekauftes Fahrzeug sehen tuht, aber irgend wie funktioniert das nicht so ganz ?...


    public OnPlayerStateChange:
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPlayerVehicleID(playerid) == autohausfahrzeuge[0])
    {
    if(GetPVarInt(playerid,"Autonutzung") == 0)
    {
    TogglePlayerControllable(playerid,0);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Auto Vermietung","{87E200}Fahrzeugname: {DCDCDC}Infernus\n{87E200}Fahrzeug Preis: {DCDCDC}2500€\n{87E200}Fahrzeug Klasse: {DCDCDC}Sport Wagen","Kaufen","Abbrechen");
    }
    else
    {
    return 1;
    }
    }
    }
    if(GetPlayerVehicleID(playerid) == autohausfahrzeuge[1])
    {
    if(GetPVarInt(playerid,"Autonutzung") == 0)
    {
    TogglePlayerControllable(playerid,0);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Auto Kaufen","{87E200}Fahrzeugname: {DCDCDC}Sultan\n{87E200}Fahrzeug Preis: {DCDCDC}2500€\n{87E200}Fahrzeug Klasse: {DCDCDC}Normal","Kaufen","Abbrechen");
    }
    else
    {
    return 1;
    }
    }
    return 1;
    }



    public OnDialogResponse:


    if(dialogid == 1)
    {
    if(response == 1)
    {
    new ainfernus = GetVehicleModel(411);
    new string[128];
    if(HatPlayerAnAuto(playerid))return SendClientMessage(playerid,GELB,"Du hast Bereits ein Auto, Benutze: /exits um auszusteigen");
    {
    GivePlayerMoney(playerid,-2500);
    SetPVarInt(playerid,"Auto",1);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,WEIS,string);
    format(string,sizeof(string),"Herzlichen Glückwunsch %s du hast dir ein Infernus Gekauft",SpielerName(playerid));
    SendClientMessage(playerid,ROT,"Du kannst das Fahrzeug Parken mit, /parken");
    ainfernus = CreateVehicle(411,2092.5171,1387.3790,10.5479,270.0001,1,1,-1);
    PutPlayerInVehicle(playerid,ainfernus,0);
    }
    }
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    }
    }
    if(dialogid == 2)
    {
    if(response == 1)
    {
    new asultan = GetVehicleModel(560);
    if(HatPlayerAnAuto(playerid))return SendClientMessage(playerid,GELB,"Du hast Bereits ein Auto, Benutze: /exits um auszusteigen");
    {
    GivePlayerMoney(playerid,-2500);
    SetPVarInt(playerid,"Auto",1);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,ROT,"Du hast dir Erfolgreich einen Sultan gekauft");
    asultan = CreateVehicle(560,2092.5171,1387.3790,10.5479,270.0001,1,1,-1);
    PutPlayerInVehicle(playerid,asultan,0);
    }
    }
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    }
    }
    return 1;
    }



    ocmd:carlist(playerid,params[])
    {
    new string[128];
    format(string,sizeof(string),"Fahrzeug %s",GetPVarInt(playerid,"Auto"));
    SendClientMessage(playerid,WEIS,string);
    return 1;
    }




    Also mein frage wehre wie ginge das, das wenn er sich ein Infernus oder Sultan kaufen tuht, das es später bei /carlist stehen tuht.




    MfG: Equ

  • Du wirst dir den Namen des Models abspeichern müssen und diesen ausgeben. Du kannst nicht einen Integer einfügen, wenn du einen String einfügen möchtest (siehe format() im Befehl).

  • Du speicherst den Model-Namen via format() in einem Variable bzw. in einen Array, wenn das Auto gekauft wird. Wichtig ist, dass du den Wagen einer SpielerID zuordnest - Daher wäre ein Array angebracht. Und nun wirst du einfach in deinem Befehl diesen Array benutzen, um den Namen auszugeben. Das sollte kein Hexenwerk sein, fang einfach mal an mit deinen Überlegungen und zeig uns deine Ansätze, wenn du nicht weiterkommst. Wenn ich nun hier die Lösung reinschreib, wird dich das keinen Milimeter weiterbringen.