Beiträge von malE

    Man kann soviel Kopfgeld auf ein Spieler setzen wie man lustig ist, solange bei dem Spieler die Variable PlayerInfo[pID][p_Kopfgeld] nicht über 100000 ist.


    Da z.B die Abfrage bei dem Befehl /kopfgeld

    C
    if(PlayerInfo[pID][p_Kopfgeld] + kopfgeld > 100000)return SendClientMessage(playerid, COLOR_GREY, "Das Kopfgeld vom Spieler darf nicht über $100.000 liegen.");

    Hallo



    Code
    Gui, Add, Edit, x2 y50 w140 h20 vEdit, %Edit%
    Gui, Add, Hotkey, x152 y50 w70 h20 vHotkey, %Hotkey%
    Gui, Add, CheckBox, x232 y50 w20 h20 vCheck, %Check% 
    Gui, Show, w254 h113, 
    return
    GuiClose:
    ExitApp

    wie kann ich jetzt machen sobald Hotkey gedrückt wird das Edit ausgeführt wird aber nur wenn CheckBox angeklickt wurde?


    Mfg

    Ist nicht nötig. Ich habe mir nur das GM angeschaut mehr nicht :).
    Wollte nur mitteilen damit du das vielleicht beheben könntest, aber du sagst es sei kein Fehler.


    Fehler konnte ich bei mir aber beheben. Indem ich den define getPlayerAdminRang aus ocmd:aduty rausnehme


    //Edit
    Mir ist gerade auch aufgefallen das der Tacho buggt. Könnte auch wahrscheinlich wieder nur an mir liegen :D

    Danke erstmal!
    So das Laden der Pflanze funktioniert nun. Aber sobald das Callback Hanf() aufgerufen wird spinnt das Label wieder aber auch nur bei der ersten ( rechten ) Pflanze.



    stock getFreeHanfID()
    {
    for(new i=0; i < sizeof(HanfInfo); i++)
    {
    if(HanfInfo[i][h_ID] == 0)return i;
    }
    return 0;
    }


    Du meinst getFreeHanfID wird beim Laden nicht benötigt? Wie soll ich dann aber die Pflanze laden. HanfInfo[][h_beispiel] das ( erste ) Array bleibt dann wohl leer? Wenn ich diese nicht mit dem i fülle.

    What`s wrong?

    format(str, sizeof(str), "Zielperson: %s [%d] | Kopfgeld: $%s", PlayerInfo[pID][pName], i, GetPVarInt(pID, "KG_Betrag"));
    if(strlen(str) < 0) SendClientMessage(playerid, -1, "Momentan sind keine Aufträge da.");
    else ShowPlayerDialog(i, DIALOG_KOPFGELD, DIALOG_STYLE_MSGBOX, "Hitmen Aufträge", str, "Schließen", "");


    Wenn der String 0 Zeichen hat wird mir die ClientMessage nicht gesendet.

    Ciao,


    Jeffry:


    sobald ich eine Hanf Pflanze erstelle wird die erste Pflanze nicht richtig angezeigt und auch nicht wie gewollt aktualisiert durch das public Hanf().
    Aber wenn ich mehr als eine Pflanze erstelle funktionieren alle bis auf die erste erstellte Pflanze.


    Bild

    Die rechte Pflanze ist die erste Pflanze die ich erstellt habe.




    enum HanfEnum {
    Float:h_X,
    Float:h_Y,
    Float:h_Z,
    h_Wasser,
    h_Zustand,
    h_Prozent,
    h_Pflanze,
    bool:h_Gepflanzt,
    h_ID,
    Text3D:h_Label,
    h_Besitzer[MAX_PLAYER_NAME]
    }
    new HanfInfo[MAX_HANF][HanfEnum];



    ocmd:planthanf(playerid, params[])
    {
    new Float:x, Float:y, Float:z, str[145], query[256];
    GetPlayerPos(playerid, x, y, z);
    if(PlayerInfo[playerid][pHanf] < 1)return SendClientMessage(playerid, -1, " Du hast keine Hanfsamen mehr übrig");
    new i = getFreeHanfID();
    if(HanfInfo[i][h_Gepflanzt])return 1;
    HanfInfo[i][h_X] = x;
    HanfInfo[i][h_Y] = y;
    HanfInfo[i][h_Z] = z;
    HanfInfo[i][h_Gepflanzt] = true;
    HanfInfo[i][h_Wasser] = 35;
    HanfInfo[i][h_Zustand] = 75;
    HanfInfo[i][h_Prozent] = 1;
    format(HanfInfo[i][h_Besitzer], MAX_PLAYER_NAME, "%s", PlayerInfo[playerid][pName]);
    format(str, sizeof(str), "[Besitzer: %s]\nWasser: %i\nZustand: %i\nProzent: %i%",
    HanfInfo[i][h_Besitzer], HanfInfo[i][h_Wasser], HanfInfo[i][h_Zustand], HanfInfo[i][h_Prozent]);
    HanfInfo[i][h_Label] = Create3DTextLabel(str, -1, HanfInfo[i][h_X], HanfInfo[i][h_Y], HanfInfo[i][h_Z]+1, 10, 0, 1);
    HanfInfo[i][h_Pflanze] = CreateObject(822, x, y, z, 0, 0, 0, 75);
    PlayerInfo[playerid][pHanf] -= 1;
    format(query, sizeof(query), "INSERT INTO weed (besitzer, x, y, z, wasser, zustand, prozent) VALUES ('%s', '%f', '%f', '%f', '%i', '%i', '%i')", HanfInfo[i][h_Besitzer], x, y, z,
    HanfInfo[i][h_Wasser], HanfInfo[i][h_Zustand], HanfInfo[i][h_Prozent]);
    mysql_function_query(handle, query, true, "OnHanfCreated", "i", i);
    return SendClientMessage(playerid, -1, " Hanf wurde gepflanzt");
    }


    Wird durch ein Timer jede Minute aufgerufen.

    forward Hanf();
    public Hanf()
    {
    for(new i=0; i < sizeof(HanfInfo); i++)
    {
    new str[145], query[256];
    HanfInfo[i][h_Wasser] --;
    if(HanfInfo[i][h_Wasser] == 0)
    {
    HanfInfo[i][h_Zustand] -= 10;
    if(HanfInfo[i][h_Zustand] == 0)
    {
    HanfInfo[i][h_X] = 0;
    HanfInfo[i][h_Y] = 0;
    HanfInfo[i][h_Z] = 0;
    HanfInfo[i][h_Gepflanzt] = false;
    Delete3DTextLabel(HanfInfo[i][h_Label]);
    DestroyObject(HanfInfo[i][h_Pflanze]);
    }
    } else if(HanfInfo[i][h_Wasser] > 0 && HanfInfo[i][h_Wasser] < 30) {
    HanfInfo[i][h_Zustand] -= 5;
    HanfInfo[i][h_Prozent] +=1;
    } else if(HanfInfo[i][h_Wasser] > 30 && HanfInfo[i][h_Wasser] < 50) {
    HanfInfo[i][h_Zustand] -= 4;
    HanfInfo[i][h_Prozent] +=2;
    } else if(HanfInfo[i][h_Wasser] > 50 && HanfInfo[i][h_Wasser] < 70) {
    HanfInfo[i][h_Zustand] -= 3;
    HanfInfo[i][h_Prozent] +=3;
    } else if(HanfInfo[i][h_Wasser] > 70 && HanfInfo[i][h_Wasser] < 90) {
    HanfInfo[i][h_Zustand] -= 2;
    HanfInfo[i][h_Prozent] +=4;
    } else if(HanfInfo[i][h_Wasser] > 90 && HanfInfo[i][h_Wasser] < 100) {
    HanfInfo[i][h_Zustand] --;
    HanfInfo[i][h_Prozent] +=5;
    }
    format(query, sizeof(query), "UPDATE weed SET zustand='%i', wasser='%i', prozent='%i' WHERE id='%i'", HanfInfo[i][h_Zustand], HanfInfo[i][h_Wasser], HanfInfo[i][h_Prozent], HanfInfo[i][h_ID]);
    mysql_function_query(handle, query, false, "", "");
    format(str, sizeof(str), "[Besitzer: %s]\nWasser: %i\nZustand: %i\nProzent: %i%", HanfInfo[i][h_Besitzer], HanfInfo[i][h_Wasser], HanfInfo[i][h_Zustand], HanfInfo[i][h_Prozent]);
    Update3DTextLabelText(HanfInfo[i][h_Label], -1, str);
    }
    }


    Dann hab ich noch ein Problem das mein Hanf nicht richtig geladen wird ( 3DTextLabel ).
    Das Object ( Pflanze ) wird erstellt aber das Label wird nicht erstellt. Außer bei der ersten Pflanze.


    Bild

    Da wird das aber auch wieder mit falschen Werten angezeigt.



    forward OnHanfLoad();
    public OnHanfLoad()
    {
    new num_fields,num_rows, str[145];
    cache_get_data(num_rows, num_fields, handle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id = getFreeHanfID();
    HanfInfo[id][h_X] = cache_get_field_content_float(i, "x", handle);
    HanfInfo[id][h_Y] = cache_get_field_content_float(i, "y", handle);
    HanfInfo[id][h_Z] = cache_get_field_content_float(i, "z", handle);
    HanfInfo[id][h_Gepflanzt] = true;
    HanfInfo[id][h_Wasser] = cache_get_field_content_int(i, "wasser", handle);
    HanfInfo[id][h_Zustand] = cache_get_field_content_int(i, "zustand", handle);
    HanfInfo[id][h_Prozent] = cache_get_field_content_int(i, "prozent", handle);
    new tmp_name[MAX_PLAYER_NAME];
    cache_get_field_content(i, "besitzer", tmp_name, handle);
    strmid(HanfInfo[id][h_Besitzer], tmp_name, 0, sizeof(tmp_name), sizeof(tmp_name));
    format(str, sizeof(str), "[Besitzer: %s]\nWasser: %i\nZustand: %i\nProzent: %i%",
    HanfInfo[i][h_Besitzer], HanfInfo[i][h_Wasser], HanfInfo[i][h_Zustand], HanfInfo[i][h_Prozent]);
    HanfInfo[i][h_Label] = Create3DTextLabel(str, -1, HanfInfo[i][h_X], HanfInfo[i][h_Y], HanfInfo[i][h_Z]+1, 10, 0, 1);
    HanfInfo[id][h_Pflanze] = CreateObject(822, HanfInfo[id][h_X], HanfInfo[id][h_Y], HanfInfo[id][h_Z], 0, 0, 0, 75);
    }
    return 1;
    }


    Ich hoffe es fehlt nichts und jemand kann mir helfen.


    //Edit
    noch ein Bild eingefügt
    public Hanf geändert & stock OnHanfSaved gelöscht da es nun im public vorkommt