Beiträge von Jeffry

    Du kannst auch einfach bei OnPlayerExitVehicle abfragen, ob das Fahrzeug im Wasser ist, ohne die Variable bei OnPlayerUpdate zu nutzen.


    Den Spieler direkt wieder in das Fahrzeug zu setzen klappt nicht wirklich, aber du kannst versuchen, bei OnPlayerExitVehicle den Spieler zu freezen, dann einen kurzen Timer zu setzen, 50ms zum Beispiel, und ihn dann wieder zu entfreezen.
    Du kannst es auch ohne Timer versuchen, also einfach freeze und entfreeze direkt hintereinander, bei OnPlayerEnterVehicle klappt das auch.

    new Float:Geld[MAX_PLAYERS];
    forward Float:GetPlayerMoneyEx(playerid);
    stock Float:GetPlayerMoneyEx(playerid)
    {
    return Geld[playerid];
    }
    stock GivePlayerMoneyEx(playerid, Float:money)
    {
    Geld[playerid] += money;
    return 1;
    }
    stock GeldAnzeige(Float:money)
    {
    new str[16];
    format(str, sizeof(str), "%0.2f€", money);
    for(new i=0, j = strlen(str); i<j; i++) if(str[i] == '.') str[i] = ',';
    return str;
    }


    In einem Befehl:
    new Float:money, tmp[16];
    if(sscanf(params, "s[16]", tmp)) return SendClientMessage(playerid, -1, "/befehl [Geld] -> Bsp: /befehl 1,23");
    for(new i=0, j = strlen(tmp); i<j; i++) if(tmp[i] == ',') tmp[i] = '.';
    money = floatstr(tmp);
    GivePlayerMoneyEx(playerid, money);


    Teste es mal so aus, mache dir aber zuvor ein Backup von deinem Code, falls es nicht klappt.


    Du musst natürlich einige Änderungen in deinem bisherigen Code machen, sprich überall dort, wo du mit den Geldfunktionen arbeitest, musst du es etwas ändern.
    Du übergibst ja hiermit direkt den Wert als Kommazahl (eben mit Punkt im Code), also 10.00 entspricht 10,00€ in der Anzeige.
    Wenn du Probleme beim ändern des Codes hast musst du eben Bescheid sagen, ich weiß ja nicht wie fit du im beheben von Warnungen/Errors bist. Es werden sicher ein paar am Anfang da sein, weil die Funktionen sich nicht 1:1 mit deinen decken.
    Also falls Fragen sind, einfach Bescheid sagen.
    Aber du siehst schon, so ist es wesentlich übersichtlicher.

    Ah, sorry. Das habe ich dir falsch gesagt, ich habe deine Variablen verwechselt. :wacko:


    Es muss so sein:
    GetPlayerWeaponData(playerid,GetWeaponSlot2(dpw_model[playerid]),PICKUP_MODELW[playerid],PICKUP_AMMOW[playerid]);


    Dann sollte es klappen.

    xSnake:
    if(IsPlayerInRangeOfPoint(playerid,10,1590.33, -1637.92, 14.83))
    {
    if(!isPlayerInFrakt(playerid, 1)) return 1;
    if(!isAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    if(sInfo[playerid][adminduty] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Aduty!");
    MoveDynamicObject(LSPDGTor, 1590.35, -1637.92, 8.33, 2.5);
    SendClientMessage(playerid,ROT,"Das Tor schließt in 10sec automatisch!");
    SetTimerEx("CloseGate", 10000, 0, "d", LSPDGTor);
    printf("%s Öffnet das LSPDGTOR)",getPlayerName(playerid));
    return 1;
    }


    Falls du meinst, dass man mindestens eines davon braucht:
    if(IsPlayerInRangeOfPoint(playerid,10,1590.33, -1637.92, 14.83))
    {
    if(!isPlayerInFrakt(playerid, 1) && !isAdmin(playerid,1) && sInfo[playerid][adminduty] == 0) return 1;
    MoveDynamicObject(LSPDGTor, 1590.35, -1637.92, 8.33, 2.5);
    SendClientMessage(playerid,ROT,"Das Tor schließt in 10sec automatisch!");
    SetTimerEx("CloseGate", 10000, 0, "d", LSPDGTor);
    printf("%s Öffnet das LSPDGTOR)",getPlayerName(playerid));
    return 1;
    }

    Wieso eigentlich 10 Schuss? Davon steht gar nichts in deinem Code. Schau mal nach ob du es irgendwo hart im Code stehen hast, dass du 10 Schuss bekommst.


    Wenn du nichts findest, poste nochmal den aktuellen Code vom droppen und den vom aufnehmen der Waffe, dann debuggen wir es mal.

    Ich kann dir nur sagen, dass du ein falsches Plugin verwendest. Welches du verwenden musst steht entweder dort wo du den Code her hast, oder (wie es eigentlich vorbildlich wäre, im Code).


    Ansonsten kannst du ja mal verschiedene. MySQL Teile aus dem Code posten, vor allem der Verbindungsaufbau und ein zwei weitere Beispiele.