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...