Hallo Leute, ich hab bald kein Bock mehr, ich kann diese blöden Bugs nicht mehr sehen.
Ich habe einen Zombieserver, wo ich mit meinen Kumpels etwas drauf spiele, nun habe ich aber das Problem:
Es gibt ein Checkpointsystem, wenn man in den Checkpoint läuft bekommt man verschiedene Sachen.
Dann sollte der Pickup verschwinden, das tut er aber nicht immer, manchmal verschwindet er und manchmal kannst du da das Geschenk 100 mal abholen
und er verschwindet einfach nicht. Es wurde einfach mit ein paar Pickups belegt. Aber die verschwinden einfach nicht. Manchmal läufts manchmal nicht.
Wodran kann das liegen?
Hier das ganze System:
new meatDrops[MAX_PLAYERS];
Hier wird das bei OnPlayerDeath erstellt:
new Float:xc,Float:yc,Float:zc;
GetPlayerPos(playerid,Float:xc,Float:yc,Float:zc);
meatDrops[playerid]=CreatePickup(2803,1,Float:xc,Float:yc,Float:zc,0);
Und hier ist OnPlayerPickupPickup:
public OnPlayerPickUpPickup(playerid, pickupid)
{
new string[256];
if(gTeam[playerid]==TEAM_ZOMBIE)return 1;
if(gTeam[playerid]==TEAM_HUMAN)
{
new randzsammeln=random(8);
DestroyPickup(meatDrops[playerid]);
switch(randzsammeln)
{
case 0:
{
GivePlayerHealth(playerid,25);
GameTextForPlayer(playerid,"~g~ +25HP",1200,3);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
DestroyPickup(meatDrops[playerid]);
}
case 1:
{
if(ausgaben<=0)return GameTextForPlayer(playerid,"~r~ Leer",1200,3);
new randmoney=random(1000);
GibGeld(playerid,randmoney);
format(string,sizeof(string),"~g~ +%i$",randmoney);
GameTextForPlayer(playerid,string,1200,3);
ausgaben-=randmoney;
DestroyPickup(meatDrops[playerid]);
}
case 2:
{
GivePlayerHealth(playerid,40);
GameTextForPlayer(playerid,"~g~ +40HP",1200,3);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
DestroyPickup(meatDrops[playerid]);
}
case 3:
{
GivePlayerHealth(playerid,-15);
GameTextForPlayer(playerid,"~r~ -15HP",1200,3);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
DestroyPickup(meatDrops[playerid]);
}
case 4:
{
GameTextForPlayer(playerid,"~y~ 1 Sniper 1 Schuss",1200,3);
GivePlayerWeapon(playerid,34,1);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
DestroyPickup(meatDrops[playerid]);
}
case 5:
{
GameTextForPlayer(playerid,"~r~ Leer",1200,3);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
DestroyPickup(meatDrops[playerid]);
}
case 6:
{
GameTextForPlayer(playerid,"~y~ Infiziert",1200,3);
SendClientMessage(playerid,0xFFFFFFFF,"");
SendClientMessage(playerid,0xFFFFFFFF,"");
SendClientMessage(playerid,0xFFAA00FF,"Achtung: Du wurdest mit den Zombievirus infiziert. Wenn du jetzt stirbst wirst du automatisch zum Zombie.");
SendClientMessage(playerid,0xFFAA00FF,"Achtung: Die einzige Rettung für dich ist es das Gegenmittel zu finden und es dir zu Spritzen. (/healme)");
SendClientMessage(playerid,0xFFAA00FF,"Achtung: Für die Zukunft solltest du Gewässer meiden, oder es wird dir zum Verhängnis.");
SendClientMessage(playerid,0xFFFFFFFF,"");
SendClientMessage(playerid,0xFFFFFFFF,"");
Spieler[playerid][pKrank]=1;
if(Spieler[playerid][pKrank]==1){SetPlayerColor(playerid,0xFFAA00FF);}
DestroyPickup(meatDrops[playerid]);
}
case 7:
{
GameTextForPlayer(playerid,"~g~ +1 Healpack",1200,3);
PlayerPlaySound(playerid,1150,0.0,0.0,0.0);
Spieler[playerid][pHeilmittel]+=1;
DestroyPickup(meatDrops[playerid]);
}
}
DestroyPickup(meatDrops[playerid]);
return 1;
}
return 1;
}
Also es verschwindet meist nichts, trotz mehrfacher ausführung von DestroyPickup.
Ich wünsche mir, dass mir jemand helfen kann. Dieser mist.
Liebe Grüße