Waffen 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
  • Hallo Community,
    ich habe ein Gangwar Server, wo man dort 3 Waffen am Anfang bekommt.
    MP5, AK47 & 3 Granaten. - Bei einem Premiumuser speichern die Waffen nach dem
    Disconnecten. Aber wenn er wieder online kommt, hat er das doppelte Munition von
    MP5, AK47 & den 3 Garanten = 6 Granaten. D.h Er lädt einmal vom WaffenSpeichern & Connecten.


    Wie kann ich das machen das es nicht verdopellt?

    :) SWAGETTI & YOLONAISE!



  • Joa, fehlt aber immer noch das Speichern / Laden.


    Glaskugel macht leider grad Urlaub.


    //Edit: OnPlayerConnect / Disconnect wäre vielleicht auch nicht verkehrt.


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Wovon redest du welches Speichern / Laden? xD


    So speichert er die Waffen = SavePlayerWeapons(playerid); // Waffen speichern
    So gibt er sie wieder = GivePlayerWeaponEx(playerid); // Waffen wieder geben


    Bei OnPlayerConnect ist nichts aber hier,

    public OnPlayerDisconnect(playerid, reason)
    {
    if(isPlayerPremium(playerid))
    {
    SavePlayerWeapons(playerid); // Waffen speichern
    }

    :) SWAGETTI & YOLONAISE!

  • Wovon redest du welches Speichern / Laden? xD


    So speichert er die Waffen = SavePlayerWeapons(playerid); // Waffen speichern
    So gibt er sie wieder = GivePlayerWeaponEx(playerid); // Waffen wieder geben


    Ja und? Die WaffenID wird ja wohl in einem Stock in die Datenbank / Dini geschrieben?


    Der Teil wäre wichtig, SavePlayerWeapons >> Wird wahrsch. n Stock o.ä sein, der wäre intressant zu sehen.


    Und der Stock GivePlayerWeaponEx >> Wäre auch intressant zu sehen.


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!


  • Function GivePlayerWeaponEx(playerid) // Funktion um dem Spieler die vorher gespeicherten Waffen samt Munition wieder zu geben
    {
    for(new weaponslot = 0; weaponslot < 13; weaponslot++)
    {
    GivePlayerWeapon(playerid, PlayerWeapon[playerid][weaponslot][0], PlayerWeapon[playerid][weaponslot][1]);
    }
    return 1;
    }


    Function SavePlayerWeapons(playerid) // Funktion um die aktuellen Waffen samt Munition in die Spielervariablen zu speichern
    {
    for(new weaponslot = 0; weaponslot < 13; weaponslot++)
    {
    GetPlayerWeaponData(playerid, weaponslot, PlayerWeapon[playerid][weaponslot][0], PlayerWeapon[playerid][weaponslot][1]);
    }
    return 1;
    }

    :) SWAGETTI & YOLONAISE!


  • Wenn das der ganze SavePlayerWeapon stock ist, wo speicherst du die Waffen?


    MySQL, Dini?


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Dini, aber des lässt sich da nicht speichern.


    Achso, denn könntest du dir die Waffen ja garnicht wieder geben beim connecten als Premium User (Es muss ja gespeichert werden)


    Da wo es gespeichert wird in die Dini Datei & Ausgelesen wird, das solltest du vielleicht noch mal mit rein stellen.


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du hast mein Problem gar nicht verstanden.
    Es speichert die Waffen alles funktioniert nur, wenn ein Spieler sich connect oder
    NEU spawnt bekommt er am Anfang Waffen vom Script herso. Dann bekommt er noch die GESPEICHERTE WAFFEN dazu
    = 2x soviel Muni also das doppelte statt 3 Granaten dann 6 und das geht immer so weiter.
    Weil er nach jedem Tot 3 Waffen bekommt.

    :) SWAGETTI & YOLONAISE!

  • Du hast mein Problem gar nicht verstanden.
    Es speichert die Waffen alles funktioniert nur, wenn ein Spieler sich connect oder
    NEU spawnt bekommt er am Anfang Waffen vom Script herso. Dann bekommt er noch die GESPEICHERTE WAFFEN dazu
    = 2x soviel Muni also das doppelte statt 3 Granaten dann 6 und das geht immer so weiter.
    Weil er nach jedem Tot 3 Waffen bekommt.


    Hast du die Waffen evtl. über SetSpawnInfo(PARAMETER); vergeben?


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • AddPlayerClass(102,1343.9312,-1680.2059,17.7252,3.6268,30,100,29,150,16,3);



    AddPlayerClass(102,1343.9312,-1680.2059,17.7252,3.6268,30,100,29,150,16,3);
    AddPlayerClass(102,1343.9312,-1680.2059,17.7252,3.6268,0,0,0,0,0,0); //So wäre es denn ohne Waffen


    Du vergibst die Waffen damit ja auch doppelt, Einmal über GivePlayerWeaponEx und AddPlayerClass


    //Edit: PWN Klammer geschlossen
    '//Edit2: Denn frag ab ob er in der Frak. Ballas ist, und falls nicht gibst du ihm die Premium Waffen und sonst nur die Ballas Waffen
    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Ja genau, so werden dann die Monitionen verdopellt.
    Aber dieses WaffenSpeichern ist ja nur für Premiumuser, die normalen bekommen immer noch
    das normale.


    Wie kann ich machen das es sich nicht teleportert?


    Was meinst du mit teleportet?


    if(IsUserPremium(playerid) == 1 && FrakID != BallasID) // Falls Spieler Premium besitzt, und die Fraktion != (Nicht gleich) Ballas ist... führe aus was in {} steht.
    {
    GivePlayerWeaponEx(playerid);
    }


    //Edit: Damit kannst du abfragen ob er Premium besitzt und nicht in der Frak. Ballas ist > Falls er nicht in der Frak ist gibste ihm die Waffen (Und natürlich muss Premium vorhanden sein)
    //Edit2: Erklärung eingefügt
    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!