(adsbygoogle = window.adsbygoogle || []).push({});
Hey guys i will add pokeball to my gsc mod menu and it does freeze on my loading screen please help me

i will post my code below, does i need an theread more or does i need to delete one, that aren't for pokeball?
Only this Mod doesn't work ;((((
MY GSC code of pokeball:
GivePlayerWeapon(weapon, printweapon)
{
self GiveWeapon(weapon);
self setWeaponAmmoClip(weapon, weaponClipSize(self getCurrentWeapon()));
self giveMaxAmmo(weapon);
self SwitchToWeapon(weapon);
if (!isDefined(printweapon))
printweapon = true;
if (printweapon)
self iPrintln("Weapon: ^2" + weapon);
}
pokeFlash()
{
self.pokeHud = drawShader("white", 0, -100, 1000, 1000, (1, 1, 1), 0, 10, false);
self.pokeHud FadeOverTime(0.50);
self.pokeHud.alpha = 1;
wait 0.50;
self.pokeHud FadeOverTime(0.50);
self.pokehud.alpha = 0;
wait 0.50;
self.pokeHud FadeOverTime(0.50);
self.pokeHud.alpha = 1;
wait 0.50;
self.pokeHud FadeOverTime(0.50);
self.pokeHud.alpha = 0;
wait 0.50;
self.pokeHud destroyElem();
self notify("finishedFlash");
}
pokeBall()
{
self endon("disconnect");
self endon("pokemonRelease");
if (!self.pokeBall)
{
self GivePlayerWeapon("sensor_grenade_mp", false);
self iPrintln("Throw Your Sensor Grenade To Release The Pokemon!");
self.pokeBall = true;
for (;

{
self waittill("grenade_fire", grenade, weaponName);
if(weaponName == "sensor_grenade_mp")
{
self iPrintlnBold("Arcanine, I Choose You!");
grenade hide();
self.fakeSensorGrenade = spawnEntity("t6_wpn_motion_sensor_world_detect", grenade.origin);
self.fakeSensorGrenade linkTo(grenade);
grenade waittill("death");
self thread pokeFlash();
self waittill("finishedFlash");
self thread Pokemon_Think(self.fakeSensorGrenade.origin, self.fakeSensorGrenade.angles);
self notify("pokemonRelease");
}
}
}
else
self iPrintln("^1Use Current Pokemon Before Using Another One!");
}
Pokemon_Think(origin, angles)
{
self.pokemon["model"] = "german_shepherd";
self.pokemon["pokemonEntity"] = spawn("script_model", origin);
self.pokemon["pokemonEntity"] SetModel(self.pokemon["model"]);
self.pokemon["newOrigin"] = origin + (0, 0, 500);
self.pokemon["pokemonEntity"] RotateTo((0, angles[1], 0), 0);
self.pokemon["pokemonEntity"] MoveTo(self.pokemon["newOrigin"], 5);
wait 5;
self.pokemon["newOrigin"] = self.pokemon["pokemonEntity"].origin + VectorScale(AnglesToForward(self.pokemon["pokemonEntity"].angles), 1000);
self.pokemon["pokemonEntity"] MoveTo(self.pokemon["newOrigin"], 0.50);
wait 0.50;
self.pokemon["pokemonEntity"] PlaySound(level.heli_sound["crash"]);
foreach(player in level.players)
{
if (level.teamBased && self.pers["team"] == player.pers["team"])
{ }
else
{
if (player != self)
player thread [[level.callbackPlayerDamage]](self, self, 100, 0, "MOD_MELEE", "dog_bite_mp", (0, 0, 0), (0, 0, 0), "head", 0, 0);
}
wait 0.05;
}
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin);
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (400, 0, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 400, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (400, 400, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0 ,400));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (400, 0, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (0, 400, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (400, 400, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 800));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (200, 0, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 200, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (200, 200, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 200));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (200, 0, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (0 ,200 ,0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin - (200, 200, 0));
playFx(level.fx_u2_explode, self.pokemon["pokemonEntity"].origin + (0, 0, 200));
self.pokemon["pokemonEntity"] delete();
self.fakeSensorGrenade delete();
self.pokeBall = false;
}
setVision(vision, transitionTime)
{
visionSetNaked(vision, transitionTime);
self setinvisibletoall();
self setvisibletoplayer(self);
}
spawnEntity(model, origin)
{
entity = spawn("script_model", origin);
entity setModel(model);
return entity;
}
spawnEntityPlayer(model)
{
spawnPosition = self traceBullet(200);
entity = spawn("script_model", spawnPosition);
entity setModel(model);
self iPrintln("Object Spawned: ^2" + model);
return entity;
}
spawnTurretPlayer(turrettype)
{
spawnPosition = self traceBullet(200);
turret = spawnTurret("misc_turret", spawnPosition, turrettype);
turret.angles = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
turret setModel("t6_wpn_turret_sentry_gun");
turret.weaponinfoname = turrettype;
self iPrintln("Turret Spawned: ^2" + turrettype);
return turret;
}
playerAnglesToForward(player, distance)
{
return player.origin + VectorScale(AnglesToForward(player getPlayerAngles(), distance));
}
CanTargetPlayer(player)
{
CanTarget = true;
if (!IsAlive(player) || player.sessionstate != "playing")
return false;
if (Distance(player.origin, self.origin ) > 5000)
return false;
if (!isDefined(player.pers["team"]))
return false;
if (level.teamBased && player.pers["team"] == self.team)
return false;
if (player == self.owner)
return false;
if (player.pers["team"] == "spectator")
return false;
if (!BulletTracePassed(self getTagOrigin("tag_origin"), player getTagOrigin("j_head"), false, self))
return false;
return CanTarget;
}
traceBullet(traceDistance, traceReturn, detectPlayers)
{
if (!isDefined(traceDistance))
traceDistance = 10000000;
if (!isDefined(traceReturn))
traceReturn = "position";
if (!isDefined(detectPlayers))
detectPlayers = false;
return bulletTrace(self getEye(), self getEye() + VectorScale(AnglesToForward(self getPlayerAngles()), traceDistance), detectPlayers, self)[traceReturn];
}
traceBulletCustom(traceStart, traceEnd, traceReturn, detectPlayers)
{
if (!isDefined(traceReturn))
traceReturn = "position";
if (!isDefined(detectPlayers))
detectPlayers = false;
return bulletTrace(traceStart, traceEnd, detectPlayers, self)[traceReturn];
}