Hallöle,
ich bin gerade dabei ein Waffenskillsystem in mein Script einzubauen.
Soweit funktioniert auch alles wirklich einwandfrei, bis auf das Abschießen der Ziele.
Eingestellt ist, dass sobald ein Objekt vom Spieler abgeschossen wurde, es verschwindet,
der Spieler auf der "Abschuss-Variable" +1 Punkt bekommt und ein neues Objekt gespawnt
wird.
Wenn das dann wieder abgeschossen wird, passiert das selbe wie oben!
Mein Problem ist nun, dass sobald ich das Objekt einmal abschieße,
irgendwie das ganze 1000 mal geloopt wird und das aus einem
Treffer plötzlich 1000de werden
Folgendes steht bei OnPlayerWeaponShot:
Code
if(hittype == BULLET_HIT_TYPE_PLAYER_OBJECT)
{
if(hitid == SkillTrainInfo[playerid][SkillObject])
{
if(IsPlayerInRangeOfPoint(playerid,1,300.1365,-134.0314,1004.0625))
{
if(weaponid == SkillTrainInfo[playerid][SkillWeapon])
{
DestroyPlayerObject(playerid,SkillTrainInfo[playerid][SkillObject]);
SkillTrainInfo[playerid][SkillObject] = CreatePlayerObject(playerid,1586,273 + random(13),-142.7 + random(16),1003,0,0,270);
SkillTrainInfo[playerid][SkillTCount]++;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
PlayerPlaySound(playerid,1056,x,y,z);
}
else
{
SCM(playerid,COLOR_RED,"Du schießt mit der falschen Waffe!");
SetPlayerArmedWeapon(playerid,SkillTrainInfo[playerid][SkillWeapon]);
}
}
else
{
SCM(playerid,COLOR_RED,"Der Punkt wurde nicht gewertet weil du die Kabine verlassen hast!");
s_SetPlayerPos(playerid,300.1365,-134.0314,1004.0625);
SetPlayerFacingAngle(playerid,90);
DestroyPlayerObject(playerid,SkillTrainInfo[playerid][SkillObject]);
SkillTrainInfo[playerid][SkillObject] = CreatePlayerObject(playerid,1586,273 + random(13),-142.7 + random(16),1003,0,0,270);
}
}
}
Alles anzeigen
Das erste Objekt (bei Beginn des Waffenskill-Prozesses) wird folgendermaßen erstellt: