ID Verschiebung bei Pickups?

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
  • Hey Leute,


    habe im Script sowas gemacht, dass wenn man stirbt, Geld auf der Straße liegen bleibt (Pickup)
    Manchmal ist es aber so, dass wenn ich das Geld aufnehme ich auf einmal im BSN drin bin.


    Wie können sich denn auf einmal diese Pickups verschieben, wenn doch jedes klar für sich definiert ist?


    LG


    Michi

  • Zitat

    > Andre Hast du die Pickups falsch deklariert?

    Wie meinst du das?


    Also hier mal der Teil, wo ich das mit dem BSN Eingang deklariere:


    new bsnenter;
    bsnenter = CreatePickup(1318,1,1470.2800,-1574.4374,13.7326);


    Hier, aus dem OnPlayerDeath. (Geld liegen lassen, da Tod!)


    //Geld verlieren
    if(GetPlayerMoney(playerid)>=100)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    PGeldInfos[playerid][pgx] = x;
    PGeldInfos[playerid][pgy] = y;
    PGeldInfos[playerid][pgz] = z;
    PGeldInfos[playerid][wert] = (GetPlayerMoney(playerid)/100*5);
    GivePlayerMoney(playerid,(0-PGeldInfos[playerid][wert]));
    PGeldInfos[playerid][geldp] = CreatePickup(1212 ,1,PGeldInfos[playerid][pgx],PGeldInfos[playerid][pgy],PGeldInfos[playerid][pgz],0);
    new str[128];
    format(str,sizeof(str),"Sie verlieren 5%s (%i$) ihres Geldes auf der Straße...","%%",PGeldInfos[playerid][wert]);
    SendClientMessage(playerid,COLOR_YELLOW,str);
    }


    Hier der Code, wenn man ein Pickup (Also das Geld) aufnimmt.


    //Geldverlust
    for(new pID=0;pID<MAX_PLAYERS;pID++)
    {
    if(IsPlayerConnected(pID)==1)
    {
    if(pickupid==PGeldInfos[pID][geldp])
    {
    if(PGeldInfos[pID][wert]>0)
    {
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new string[128];
    format(string,sizeof(string),"Sie haben soeben %i$ gefunden!",PGeldInfos[pID][wert]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, PGeldInfos[pID][wert]);
    PGeldInfos[pID][pgx] = 0.0;
    PGeldInfos[pID][pgy] = 0.0;
    PGeldInfos[pID][pgz] = 0.0;
    PGeldInfos[pID][wert] = 0;
    DestroyPickup(PGeldInfos[pID][geldp]);
    return 1;
    }
    }
    }
    }


    Und hier, wenn man in den BSN geht.


    //BSN
    if(pickupid==bsnenter)
    {
    SetPlayerPos(playerid,364.1106,-73.9090,1001.5078);
    SetPlayerInterior(playerid,10);
    SetPlayerFacingAngle(playerid,312.3910);
    SetCameraBehindPlayer(playerid);
    GameTextForPlayer(playerid,"Herzlich Willkommen bei McDonalds!",3000,3);
    }



    Finde einfach keinen Fehler...