GetPlayerWeaponData Problem

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
  • Warum gibt er 0 aus wenn er doch gerade erst 1 Munnition bekommen hat?
    if(ammo == 0)
    {
    GivePlayerWeapon(playerid, 24, 1);
    }
    else
    {
    SetPlayerAmmo(playerid, 2, ammo+1);
    }
    GetPlayerWeaponData(playerid, 2, weapon, ammo);
    format(string, sizeof(string), "%d", ammo);
    SendClientMessage(playerid, F_White, string);

  • ocmd:test(playerid,parmas[]){
    new weapons[13][2];
    new ammo = 0;
    for(new i = 0; i <=12; i++){
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    if(weapons[i][0] == 24){
    if(ammo == 0){
    GivePlayerWeapon(playerid, 24, 1);
    }else{
    SetPlayerAmmo(playerid,weapons[i][0],ammo++);
    }
    }
    }
    return 1;
    }
    Versuch es ma so

  • ps. einfach weapons[i][0] benutzen dann kommt die id

  • Eine plausible Erklärung wäre vermutlich, das GTA selbst gar nicht so schnell reagiert, wie der Ablauf deines Codes vonstatten geht.
    Dementsprechend weiß weder der Server noch GTA an sich, das der Spieler diese Anzahl an Munition bereits hat bzw. haben sollte.


    Was ich mich vielmehr frage, warum willst du es an dieser Stelle überhaupt einsetzen ?
    Die Anzahl der Munition weißt du dann doch bereits, entweder weil du sie dazu rechnest oder weil du sie vorher schon geprüft hast.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski