Beiträge von Maksimo007

    Mit new Text:HausInfoText
    Moment...fehlt da [MAX_Haus]?
    MAX_HAUS ist definiert mit #define MAX_HAUS 15
    Edit: Habs ausgebessert, nun erscheint aber die Box nicht, wenn man ins Pickup geht.
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i=1;i<MAX_HAUS;i++)
    {
    if(HausInfo[i][haus_pickup] == pickupid)
    {
    new s[100];
    format(s,100,"Besitzer: %s, Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
    TextDrawShowForPlayer(playerid,HausInfoText[i]);
    }return TextDrawHideForPlayer(playerid,HausInfoText[i]);
    }
    return 1;
    }


    //Edit: Habs gelöst ;)

    Hey, ich habe ein kleines Problem mit meinem TextDraw im Haussystem.
    Hier sind die Fehlermeldungen:
    invalid subscript (not an array or too many subscripts): "HausInfoText"
    expression has no effect
    expected token: ";", but found "]"
    invalid expression, assumed zero
    too many error messages on one line



    Hier dann mein Code:
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    HausInfoText[haus] = TextDrawCreate(443.000000,315.000000,"Lade..."); //Hier liegt der Fehler
    TextDrawLetterSize(HausInfoText[haus],0.420000,1.700000);
    TextDrawFont(HausInfoText[haus],2);
    TextDrawSetShadow(HausInfoText[haus],2);
    TextDrawSetOutline(HausInfoText[haus],1);
    TextDrawUseBox(HausInfoText[haus],1);
    TextDrawBackgroundColor(HausInfoText[haus],255);
    TextDrawBoxColor(HausInfoText[haus],255);
    TextDrawTextSize(HausInfoText[haus],630.000000,0.000000);
    }
    SetTimer("HausInfoTimer",1000,true);



    Timer:
    forward HausInfoTimer();
    public HausInfoTimer()
    {
    new string[128];
    for(new i=1;i<MAX_HAUS;i++)
    {
    format(string,sizeof(string),"Besitzer: %s~n~Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
    TextDrawSetString(HausInfoText,string);
    }
    return 1;
    }



    Komme hier wirklich nicht mehr weiter, was habe ich falsch gemacht?


    Mfg Maksimo007

    Hey,
    ich habe ein Problem mit SendClientMessage.
    ocmd:hausverkaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(GetPVarInt(playerid,"Haus")!=0)
    {
    new pfad[50];
    format(pfad,50,"/Haeuser/%d.txt",haus);
    SetPVarInt(playerid,"Haus",0);
    dini_Set(pfad,"besitzer","Keiner");
    GivePlayerMoney(playerid,HausInfo[haus][haus_preis]/2);
    SendClientMessage(playerid,Color_Green,"Du hast erfolgreich dein Haus verkauft und hast die Hälfte des Kaufpreises zurückbekommen!");
    KillHaus(haus);
    LoadHaus(haus);
    SavePlayer(playerid);
    }
    else if(GetPVarInt(playerid,"Haus")==0)
    {
    SendClientMessage(playerid,Color_Red,"Du hast kein Haus!");
    }
    }
    return 1;
    }


    Und war wird das letzte SendClientMessage so ungefär 10 mal abgerufen, d.h. die Nachricht steht 10x im Chat.
    Was ist daran falsch?


    Mfg Maksimo007

    Hey,
    ich habe mir ein Haussystem erstellt und will nun, dass ein TextDraw erstellt wird, wenn der Player in ein Pickup geht.
    Hier der Code:
    OnGameModeInit:
    for(new haus=0;haus<MAX_HAUS;haus++)
    {
    HausInfoBox[haus] = TextDrawCreate(443.000000,315.000000,"Lade...");
    TextDrawLetterSize(HausInfoBox[haus],0.420000,1.700000);
    TextDrawFont(HausInfoBox[haus],2);
    TextDrawSetShadow(HausInfoBox[haus],2);
    TextDrawSetOutline(HausInfoBox[haus],1);
    TextDrawUseBox(HausInfoBox[haus],1);
    TextDrawBackgroundColor(HausInfoBox[haus],255);
    TextDrawBoxColor(HausInfoBox[haus],255);
    TextDrawTextSize(HausInfoBox[haus],630.000000,00.000000);
    LoadHaus(haus);
    }
    SetTimer("UpdateHausInfo",1000,1);



    Hier der Timer:
    forward UpdateHausInfo();
    public UpdateHausInfo()
    {
    for(new i=0;i<MAX_HAUS;i++)
    {
    new HausInfoString[100];
    format(HausInfoString,sizeof(HausInfoString),"Besitzer: %s~n~Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
    TextDrawSetString(HausInfoBox[i],HausInfoString); //<=== Fehler liegen hier
    }
    return 1;
    }



    Nun die Fehler:
    error 028: invalid subscript (not an array or too many subscripts): "HausInfoBox"
    warning 215: expression has no effect
    error 001: expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line



    Weiß nicht, was ich tun soll.


    Mfg Maksimo007

    Habe gerade %.2f eingefügt, nun steht als Zustand 1.00 da. Brauche aber doch 100.00 und was bedeutet eig. %.2f? Und warum updatet der Zustand nicht? Falls ihr noch paar Infos braucht, bitte melden (Code).
    Code:
    public UpdateTacho()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    {
    new Float:Entfernung, Float:Geschwindigkeit, veh, Float:health;
    GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]);
    veh = GetPlayerVehicleID(i);
    health = GetVehicleHealth(veh,health);
    Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2));
    Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6;
    new Tachostring[256];
    format(Tachostring, sizeof(Tachostring), "Geschw.: %d Km/h~n~Zustand: %.2f~n~Fahrzeug: %s", floatround(Geschwindigkeit),health,Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(i))-400]);
    TextDrawSetString(Tacho[i], Tachostring);
    GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]);
    TextDrawShowForPlayer(i, Tacho[i]);
    }
    else
    {
    TextDrawHideForPlayer(i, Tacho[i]);
    }
    }
    return 1;
    }
    TACHOTIMER ist auf 1000.

    Hey,
    ich habe mir im Tacho den "Zustand" erstellt.
    veh = GetPlayerVehicleID(i);
    health = GetVehicleHealth(veh,health);


    Health ist mit new Float:healt definiert und veh mit GetPlayerVehicleID(i);


    Wenn ich nun aber health in den Tacho einfüge kommt irgendeine Zahl über Millionen. Was mache ich da nun?


    Mfg Maksimo007

    Hey,
    ich würde gerne wissen, wie ich den Fahrzeugzustand in % angebe. Ich arbeite mit GetVehicleHealth. Allerdings bekomm ich da eine sehr große Zahl. Wie mach ich dies nun in %?


    Mfg Maksimo007