Beiträge von Dachdecker

    wie hast du es gefixt ich baue es mir grade auch ^^

    Ich habe am Code eigentlich nicht geändert:


    new Float: Tod_X, Float: Tod_Y, Float: Tod_Z, waffe; GetPlayerPos(playerid, Tod_X, Tod_Y, Tod_Z); waffe = GetPlayerWeapon(playerid); CreatePickup(GetWeaponPickup(waffe), 1, Tod_X, Tod_Y, Tod_Z, GetPlayerVirtualWorld(playerid));

    Du musst aber dann noch zu der Abfrage von hav0K das Pickup loeschen und dem Spieler die Waffe geben. Versuch aber mal bitte ob nicht doch der Pickup Type 2 den Trick tut. Wenn nicht, dann musst Du wohl oder uebel die Pickups in einem Array speichern und sagen was fuer ein Inhalt sich in dem Pickup befindet (welche Waffe). Anders kannst Du nicht rausfinden, was fuer eine Art von Pickup der Spieler gerade aufgehoben hat bzw. aufheben will.

    Mir stellt sich die Frage, die Waffe wird ja mit einer gewissen Schusszahl liegengelassen durch den tod, wie gebe ich die Schusszahl an den Spieler, welcher die Waffe aufhebt und soll ich lieber eine [MAX_PLAYERS] variable machen für das CreatePickup oder eine für alle Spieler?



    EDIT:::


    Ich habe die WaffenID mit einem SetPVarInt gespeichert und mit GetPVarInt ausgegeben - funktioniert auch.
    Mit den Schuss bin ich noch nicht weiter.


    Habe eine Variable für alle erstellt new WaffedurchTod;


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Float: Tod_X, Float: Tod_Y, Float: Tod_Z, waffe;
    GetPlayerPos(playerid, Tod_X, Tod_Y, Tod_Z);
    waffe = GetPlayerWeapon(playerid);
    CreatePickup(GetWeaponPickup(waffe), 1, Tod_X, Tod_Y, Tod_Z, GetPlayerVirtualWorld(playerid));
    return 1;
    }

    GetPlayerWeapon is von samp, ich denke du meinst GetWeaponPickup



    stock GetWeaponPickup(weaponid)
    {
    new pickup = -1;
    switch(weaponid)
    {
    case 1: pickup = 331;
    case 2: pickup = 333;
    case 3: pickup = 334;
    case 4: pickup = 335;
    case 5: pickup = 336;
    case 6: pickup = 337;
    case 7: pickup = 338;
    case 8: pickup = 339;
    case 9: pickup = 341;
    case 10: pickup = 321;
    case 11: pickup = 322;
    case 12: pickup = 323;
    case 13: pickup = 324;
    case 14: pickup = 325;
    case 15: pickup = 326;
    case 16: pickup = 342;
    case 17: pickup = 343;
    case 18: pickup = 344;
    case 19: pickup = -1;
    case 20: pickup = -1;
    case 21: pickup = -1;
    case 22: pickup = 346;
    case 23: pickup = 347;
    case 24: pickup = 348;
    case 25: pickup = 349;
    case 26: pickup = 350;
    case 27: pickup = 351;
    case 28: pickup = 352;
    case 29: pickup = 353;
    case 30: pickup = 355;
    case 31: pickup = 356;
    case 32: pickup = 372;
    case 33: pickup = 357;
    case 34: pickup = 358;
    case 35: pickup = 359;
    case 36: pickup = 360;
    case 37: pickup = 361;
    case 38: pickup = 362;
    case 39: pickup = 363;
    case 40: pickup = 364;
    case 41: pickup = 365;
    case 42: pickup = 366;
    case 43: pickup = 367;
    case 45: pickup = 369;
    case 46: pickup = 371;
    }
    return pickup;
    }

    Ich habe jetzt den stock GetWeaponPickup(weaponid) erstellt komplett aber er erstellt ingame keinen Pickup.



    waffe = GetPlayerWeapon(playerid);
    CreatePickup(GetWeaponPickup(waffe), 2, Tod_X, Tod_Y, Tod_Z+1.5, GetPlayerVirtualWorld(playerid));

    Ich habe es jetzt erneut versucht mit GetPlayerWeapon, kenne aber immer noch keine Option, wie ich ein CreatePickup erstellen kann, da ja die WeaponIDs != ObjectIDs sind..



    new Float: Tod_X, Float: Tod_Y, Float: Tod_Z, TotenWaffe[MAX_PLAYERS];
    GetPlayerPos(playerid, Tod_X, Tod_Y, Tod_Z);
    TotenWaffe[playerid] = GetPlayerWeapon(playerid);
    CreatePickup(TotenWaffe[playerid], 1, Tod_X, Tod_Y, Tod_Z+1.5, 0);

    nett wie du auch was dazu erklärst.. Du schickst mir zwar freundlicherweise die SA-MP wikis aber dazu kommt keine Erklärung.. ich kann mit den Wikis alleine nicht anfangen... da ich nicht weiß wie ich es schreiben soll

    Hallo,


    ich glaube ich gehe die Sache komplett falsch an, aber ich hab von dem System echt keine Ahnung:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Float: Tod_X, Float: Tod_Y, Float: Tod_Z, TotenWaffe[14][2];
    GetPlayerPos(playerid, Tod_X, Tod_Y, Tod_Z);
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, TotenWaffe[i][0], TotenWaffe[i][1]);
    CreatePickup(TotenWaffe[i][0], 1, Tod_X, Tod_Y, Tod_Z, 0);
    }




    return 1;
    }


    Es ist sicherlich alles falsch, aber ich habs wenigstens versucht - könntet Ihr mir das erklären, wie es richtig geht?