Bonjour, j'ai créer un Mod Menu car j'en est marre de ceux qui freeze tout le temps, et donc, dès que je lance, je freeze, je ne sais pas d'ou cela peu venir.
Code GSC :
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;
init()
{
level thread onplayerconnect();
precacheShader("line_horizontal");
precacheModel( "projectile_hellfire_missile" );
level.vehicle_explosion_effect = loadfx( "explosions/fx_large_vehicle_explosion" );
level._effect[ "flak20_fire_fx" ] = loadfx( "weapon/tracer/fx_tracer_flak_single_noExp" );
precacheModel("german_shepherd");
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
self freezecontrols(false);
self.MenuInit = false;
for(;
{
self waittill( "spawned_player" );
if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread welcomeMessage();
self thread MenuInit();
self thread closeMenuOnDeath();
self playSound("vehicle_explo");
self.swagtext = self createFontString( "hudbig", 2.8);
self.swagtext setPoint( "right", "right", 20, -185 );
self.swagtext.alpha = 0;
self.swagtext.foreground = true;
self.swagtext.archived = false;
self iprintln("Bienvenue sur ^5COBRA MENU ^1BY ^2SKIRIOUS");
}
}
}
}
drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}
drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "Co-Host")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}
verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "Co-Host")
return "^5Co-Host";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "";
}
changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel && !player isHost())
{
player.status = verlevel;
self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + getPlayerName(player), "objective", 2, -100, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
if(player.status == "Unverified")
player thread destroyMenu(player);
player suicide();
self iPrintln("Set Access Level For " + getPlayerName(player) + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
if (player isHost())
self iPrintln("You Cannot Change The Access Level of The " + verificationToColor(player.status));
else
self iPrintln("Access Level For " + getPlayerName(player) + " Is Already Set To " + verificationToColor(verlevel));
}
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.titleText = "^1Bienvenue " + self.name + " sur ^5COBRA MENU V1 BY ^1SKIRIOUS"; //Line 1
notifyData.notifyText = "^2Tu es " + verificationToColor(self.status); //Line 2
notifyData.glowColor = (0.04, 0.66, 0.89); //RGB Color array divided by 100
notifyData.duration = 10; //Change Duration
notifyData.font = "objective"; //font
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
changeVerification(player, verlevel)
{
player.status = verlevel;
}
getPlayerName(player)
{
playerName = getSubStr(player.name, 0, player.name.size);
for(i=0; i < playerName.size; i++)
{
if(playerName == "]")
break;
}
if(playerName.size != i)
playerName = getSubStr(playerName, i + 1, playerName.size);
return playerName;
}
Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}
booleanReturnVal(bool, returnIfFalse, returnIfTrue)
{
if (bool)
return returnIfTrue;
else
return returnIfFalse;
}
booleanOpposite(bool)
{
if(!isDefined(bool))
return true;
if (bool)
return false;
else
return true;
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.font = "hudbig";
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
CreateMenu()
{
self add_menu("COBRA MENU", undefined, "Unverified");
self add_option("COBRA MENU", "Basique Modz", ::submenu, "Submenu1", "Submenu1");
self add_option("COBRA MENU", "Fun Modz", ::submenu, "Submenu2", "Submenu2");
self add_option("COBRA MENU", "Submenu3", ::submenu, "Submenu3", "Submenu3");
self add_option("COBRA MENU", "Submenu4", ::submenu, "Submenu4", "Submenu4");
self add_option("COBRA MENU", "Submenu5", ::submenu, "Submenu5", "Submenu5");
self add_option("COBRA MENU", "Submenu6", ::submenu, "Submenu6", "Submenu6");
self add_option("COBRA MENU", "Submenu7", ::submenu, "Submenu7", "Submenu7");
self add_option("COBRA MENU", "Submenu8", ::submenu, "Submenu8", "Submenu8");
self add_option("COBRA MENU", "Submenu9", ::submenu, "Submenu9", "Submenu9");
self add_option("COBRA MENU", "Joueur Menu", ::submenu, "Players Menu", "Players Menu");
self add_menu("Submenu1", "COBRA MENU", "VIP");
self add_option("Submenu1", "Invinsible", ::ToggleGod);
self add_option("Submenu1", "Munition Infinie", ::InfiniteAmmo);
self add_option("Submenu1", "KillStreak", ::doKillstreaks);
self add_option("Submenu1", "Anti-Quitte", ::doAntiQuit);
self add_option("Submenu1", "Message", ::adverT);
self add_menu("Submenu2", "COBRA MENU", "VIP");
self add_option("Submenu2", "3eme Personne", ::ThirdPerson);
self add_option("Submenu2", "Envoie Dans L'Espace", ::sendtospace);
self add_option("Submenu2", "JetPack", ::doJetPack);
self add_option("Submenu2", "Voiture", ::spawnDrivableCar);
self add_option("Submenu2", "Option", ::add_option);
self add_menu("Submenu3", "COBRA MENU", "VIP");
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_menu("Submenu4", "COBRA MENU", "VIP");
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_menu("Submenu5", "COBRA MENU", "VIP");
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_menu("Submenu6", "COBRA MENU", "VIP");
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_menu("Submenu7", "COBRA MENU", "VIP");
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_menu("Submenu8", "COBRA MENU", "VIP");
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_menu("Submenu9", "COBRA MENU", "VIP");
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_menu("Players Menu", "COBRA MENU", "Co-Host");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "Players Menu", "Co-Host"); }
}
updatePlayersMenu()
{
self.menu.menucount["Players Menu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players;
playerName = getPlayerName(player);
playersizefixed = level.players.size - 1;
if(self.menu.curs["Players Menu"] > playersizefixed)
{
self.menu.scrollerpos["Players Menu"] = playersizefixed;
self.menu.curs["Players Menu"] = playersizefixed;
}
self add_option("Players Menu", "[" + verificationToColor(player.status) + "^7] " + playerName, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName);
self add_menu_alt("pOpt " + i, "Players Menu");
self add_option("pOpt " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}
add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}
updateScrollbar()
{
self.menu.scroller MoveOverTime(0.10);
self.menu.scroller.y = 68 + (self.menu.curs[self.menu.currentmenu] * 20.32);
}
openMenu()
{
self freezeControls(false);
self StoreText("COBRA MENU", "COBRA MENU");
self.menu.background FadeOverTime(0.30);
self.menu.background.alpha = 0.75;
self.swagtext FadeOverTime(0.3);
self.swagtext.alpha = 0.90;
self.menu.line MoveOverTime(0.30);
self.menu.line.y = -50;
self.menu.line2 MoveOverTime(0.30);
self.menu.line2.y = -50;
self updateScrollbar();
self.menu.open = true;
}
closeMenu()
{
self.menu.options FadeOverTime(0.3);
self.menu.options.alpha = 0;
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;
self.swagtext FadeOverTime(0.30);
self.swagtext.alpha = 0;
self.menu.title FadeOverTime(0.30);
self.menu.title.alpha = 0;
self.menu.line MoveOverTime(0.30);
self.menu.line.y = -550;
self.menu.line2 MoveOverTime(0.30);
self.menu.line2.y = -550;
self.menu.scroller MoveOverTime(0.30);
self.menu.scroller.y = -510;
self.menu.open = false;
self playsound( "veh_huey_chaff_explo_npc" );
}
destroyMenu(player)
{
player.MenuInit = false;
closeMenu();
wait 0.3;
player.menu.options destroy();
player.menu.background1 destroy();
player.menu.scroller destroy();
player.menu.scroller1 destroy();
player.infos destroy();
player.menu.line destroy();
player.menu.line2 destroy();
player.menu.title destroy();
player notify("destroyMenu");
}
closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("COBRA MENU", "COBRA MENU");
closeMenu();
self.menu.closeondeath = false;
}
}
StoreShaders()
{
self.menu.background = self drawShader("white", 240, -50, 155, 500, (0, 0, 0), 0, 0);
self.menu.scroller = self drawShader("white", 240, -500, 155, 17, (0, 0.501, 1), 255, 1);
self.menu.line = self drawShader("white", 318, -550, 2, 500, (0, 0.501, 1), 255, 2);
self.menu.line2 = self drawShader("white", 162, -550, 2, 500, (0, 0.501, 1), 255, 2);
}
StoreText(menu, title)
{
self.menu.currentmenu = menu;
string = "";
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2.4, 240, 25, (1, 1, 1), 0, (0, 0.501, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
for(i = 0; i < self.menu.menuopt[menu].size; i++)
{ string += self.menu.menuopt[menu] + "\n"; }
self.menu.options destroy();
self.menu.options = drawText(string, "objective", 1.7, 240, 65, (1, 1, 1), 0, (0, 0.501, 1), 0, 4);
self.menu.options FadeOverTime(0.3);
self.menu.options.alpha = 1;
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open)
{
openMenu();
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
self playsound( "veh_huey_chaff_explo_npc" );
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self playsound( "veh_huey_chaff_explo_npc" );
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
self.menu.options destroy();
if (input == "COBRA MENU")
self thread StoreText(input, "COBRA MENU");
else if (input == "Players Menu")
{
self updatePlayersMenu();
self thread StoreText(input, "Joueurs");
}
else
self thread StoreText(input, title);
self.CurMenu = input;
self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];
if (!self.menu.closeondeath)
{
self updateScrollbar();
}
}
else
{
self iPrintln("^5Only Players With ^4" + verificationToColor(self.menu.status[input]) + " ^5Can Access This Menu!");
}
}
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode [^2ON^7]");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("God Mode [^7OFF^7]");
self disableInvulnerability();
self.God=false;
}
}
InfiniteAmmo()
{
self endon("disconnect");
self endon("disableInfAmmo");
self.InfiniteAmmo = booleanOpposite(self.InfiniteAmmo);
self iPrintln(booleanReturnVal(self.InfiniteAmmo, "Infinite Ammo: [^7OFF^7]", "Infinite Ammo: [^2ON^7]"));
if (self.InfiniteAmmo)
{
for(;
{
if (self getCurrentWeapon() != "none")
{
self setWeaponAmmoClip(self getCurrentWeapon(), weaponClipSize(self getCurrentWeapon()));
self giveMaxAmmo(self getCurrentWeapon());
}
if (self getCurrentOffHand() != "none")
self giveMaxAmmo(self getCurrentOffHand());
wait 0.05;
}
}
else
self notify("disableInfAmmo");
}
ThirdPerson()
{
if (self.TPP == true)
{
self setclientthirdperson(1);
self iPrintln("^73eme perssonne: [^2ON^7]");
self.TPP = false;
}
else
{
self setclientthirdperson(0);
self iPrintln("^73eme perssonne: [^7OFF^7]");
self.TPP = true;
}
}
sendtospace(player)
{
if (!player isHost())
{
self iPrintln(player.name + " a ete envoyer dans l'espace");
player iPrintln("tu a ete dans l espaces");
x=randomIntRange(-75,75);
y=randomIntRange(-75,75);
z=45;
player.location =(0+x,0+y,500000+z);
player.angle =(0,176,0);
player setOrigin(player.location);
player setPlayerAngles(player.angle);
}
}
doKillstreaks()
{
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
}
doJetPack()
{
if( self.jetpack == false )
{
self thread StartJetPack();
self iPrintln("JetPack [^2ON^7]");
self iPrintln("Presse [{+gostand}] et [{+usereload}]");
self.jetpack = true;
}
else if(self.jetpack == true)
{
self.jetpack = false;
self notify("jetpack_off");
self iPrintln("JetPack [^7OFF^7]");
}
}
StartJetPack()
{
self endon("death");
self endon("jetpack_off");
self.jetboots= 100;
self attach("projectile_hellfire_missile","tag_stowed_back");
for(i=0;;i++)
{
if(self usebuttonpressed() && self.jetboots>0)
{
self playsound( "veh_huey_chaff_explo_npc" );
playFX( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_RI" ) );
playFx( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_LE" ) );
earthquake(.15,.2,self gettagorigin("j_spine4"),50);
self.jetboots--;
if(self getvelocity() [2]
00)self setvelocity(self getvelocity() +(0,0,60));
}
if(self.jetboots<100 &&!self usebuttonpressed() )self.jetboots++;
wait .05;
}
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("seulement une voiture a la fois!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Presse [{+attack}] avancer");
iPrintln("Presse [{+speed_throw}] reculler");
iPrintln("Presse [{+reload}] pour quitter");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
doAntiQuit()
{
self endon("disconnect");
self endon("Stopquittin");
for(;
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}
ToggleRageQuit()
{
if(self.antiquit==false)
{
self thread doAntiQuit();
self iprintln("Anti-RageQuit [^2ON^7]");
self.antiquit=true;
}
else
{
self notify("Stopquittin");
self iprintln("Anti-RageQuit [^7OFF^7]");
self.antiquit=false;
}
}
adverT()
{
foreach(p in level.players)
p thread DisplayAdvert();
}
DisplayAdvert()
{
self endon("disconnect");
AdvertText = createFontString("default", 2);
AdvertText setPoint("TOP","CENTER",0,0);
AdvertText setText("^5Salut !!");
wait 10;
AdvertText setText("^5MENU CREER PAR ^6" + level.hostname);
wait 10;
AdvertText setText("^5Lobby");
wait 7;
AdvertText setText("^61 CODE = 1.34 Euro");
wait 7;
AdvertText setText("^5Pas cher !");
wait 7;
AdvertText setText("^5Depeche);
wait 10;
AdvertText setText("^5Toi");
wait 10;
AdvertText setPoint("RIGHT","TOP",350,200);
AdvertText setText("^6COBRA MENU!");
wait 600;
AdvertText destroy();
}
Merci !
Code GSC :
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_hud_message;
init()
{
level thread onplayerconnect();
precacheShader("line_horizontal");
precacheModel( "projectile_hellfire_missile" );
level.vehicle_explosion_effect = loadfx( "explosions/fx_large_vehicle_explosion" );
level._effect[ "flak20_fire_fx" ] = loadfx( "weapon/tracer/fx_tracer_flak_single_noExp" );
precacheModel("german_shepherd");
}
onplayerconnect()
{
for(;
{
level waittill( "connecting", player );
if(player isHost())
player.status = "Host";
else
player.status = "Unverified";
player thread onplayerspawned();
}
}
onplayerspawned()
{
self endon( "disconnect" );
level endon( "game_ended" );
self freezecontrols(false);
self.MenuInit = false;
for(;
{
self waittill( "spawned_player" );
if( self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP" || self.status == "Verified")
{
if (!self.MenuInit)
{
self.MenuInit = true;
self thread welcomeMessage();
self thread MenuInit();
self thread closeMenuOnDeath();
self playSound("vehicle_explo");
self.swagtext = self createFontString( "hudbig", 2.8);
self.swagtext setPoint( "right", "right", 20, -185 );
self.swagtext.alpha = 0;
self.swagtext.foreground = true;
self.swagtext.archived = false;
self iprintln("Bienvenue sur ^5COBRA MENU ^1BY ^2SKIRIOUS");
}
}
}
}
drawText(text, font, fontScale, x, y, color, alpha, glowColor, glowAlpha, sort)
{
hud = self createFontString(font, fontScale);
hud setText(text);
hud.x = x;
hud.y = y;
hud.color = color;
hud.alpha = alpha;
hud.glowColor = glowColor;
hud.glowAlpha = glowAlpha;
hud.sort = sort;
hud.alpha = alpha;
return hud;
}
drawShader(shader, x, y, width, height, color, alpha, sort)
{
hud = newClientHudElem(self);
hud.elemtype = "icon";
hud.color = color;
hud.alpha = alpha;
hud.sort = sort;
hud.children = [];
hud setParent(level.uiParent);
hud setShader(shader, width, height);
hud.x = x;
hud.y = y;
return hud;
}
verificationToNum(status)
{
if (status == "Host")
return 5;
if (status == "Co-Host")
return 4;
if (status == "Admin")
return 3;
if (status == "VIP")
return 2;
if (status == "Verified")
return 1;
else
return 0;
}
verificationToColor(status)
{
if (status == "Host")
return "^2Host";
if (status == "Co-Host")
return "^5Co-Host";
if (status == "Admin")
return "^1Admin";
if (status == "VIP")
return "^4VIP";
if (status == "Verified")
return "^3Verified";
else
return "";
}
changeVerificationMenu(player, verlevel)
{
if( player.status != verlevel && !player isHost())
{
player.status = verlevel;
self.menu.title destroy();
self.menu.title = drawText("[" + verificationToColor(player.status) + "^7] " + getPlayerName(player), "objective", 2, -100, 30, (1, 1, 1), 0, (0, 0.58, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
if(player.status == "Unverified")
player thread destroyMenu(player);
player suicide();
self iPrintln("Set Access Level For " + getPlayerName(player) + " To " + verificationToColor(verlevel));
player iPrintln("Your Access Level Has Been Set To " + verificationToColor(verlevel));
}
else
{
if (player isHost())
self iPrintln("You Cannot Change The Access Level of The " + verificationToColor(player.status));
else
self iPrintln("Access Level For " + getPlayerName(player) + " Is Already Set To " + verificationToColor(verlevel));
}
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.titleText = "^1Bienvenue " + self.name + " sur ^5COBRA MENU V1 BY ^1SKIRIOUS"; //Line 1
notifyData.notifyText = "^2Tu es " + verificationToColor(self.status); //Line 2
notifyData.glowColor = (0.04, 0.66, 0.89); //RGB Color array divided by 100
notifyData.duration = 10; //Change Duration
notifyData.font = "objective"; //font
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
changeVerification(player, verlevel)
{
player.status = verlevel;
}
getPlayerName(player)
{
playerName = getSubStr(player.name, 0, player.name.size);
for(i=0; i < playerName.size; i++)
{
if(playerName == "]")
break;
}
if(playerName.size != i)
playerName = getSubStr(playerName, i + 1, playerName.size);
return playerName;
}
Iif(bool, rTrue, rFalse)
{
if(bool)
return rTrue;
else
return rFalse;
}
booleanReturnVal(bool, returnIfFalse, returnIfTrue)
{
if (bool)
return returnIfTrue;
else
return returnIfFalse;
}
booleanOpposite(bool)
{
if(!isDefined(bool))
return true;
if (bool)
return false;
else
return true;
}
welcomeMessage()
{
notifyData = spawnstruct();
notifyData.font = "hudbig";
notifyData.hideWhenInMenu = false;
self thread maps\mp\gametypes\_hud_message::notifyMessage(notifyData);
}
CreateMenu()
{
self add_menu("COBRA MENU", undefined, "Unverified");
self add_option("COBRA MENU", "Basique Modz", ::submenu, "Submenu1", "Submenu1");
self add_option("COBRA MENU", "Fun Modz", ::submenu, "Submenu2", "Submenu2");
self add_option("COBRA MENU", "Submenu3", ::submenu, "Submenu3", "Submenu3");
self add_option("COBRA MENU", "Submenu4", ::submenu, "Submenu4", "Submenu4");
self add_option("COBRA MENU", "Submenu5", ::submenu, "Submenu5", "Submenu5");
self add_option("COBRA MENU", "Submenu6", ::submenu, "Submenu6", "Submenu6");
self add_option("COBRA MENU", "Submenu7", ::submenu, "Submenu7", "Submenu7");
self add_option("COBRA MENU", "Submenu8", ::submenu, "Submenu8", "Submenu8");
self add_option("COBRA MENU", "Submenu9", ::submenu, "Submenu9", "Submenu9");
self add_option("COBRA MENU", "Joueur Menu", ::submenu, "Players Menu", "Players Menu");
self add_menu("Submenu1", "COBRA MENU", "VIP");
self add_option("Submenu1", "Invinsible", ::ToggleGod);
self add_option("Submenu1", "Munition Infinie", ::InfiniteAmmo);
self add_option("Submenu1", "KillStreak", ::doKillstreaks);
self add_option("Submenu1", "Anti-Quitte", ::doAntiQuit);
self add_option("Submenu1", "Message", ::adverT);
self add_menu("Submenu2", "COBRA MENU", "VIP");
self add_option("Submenu2", "3eme Personne", ::ThirdPerson);
self add_option("Submenu2", "Envoie Dans L'Espace", ::sendtospace);
self add_option("Submenu2", "JetPack", ::doJetPack);
self add_option("Submenu2", "Voiture", ::spawnDrivableCar);
self add_option("Submenu2", "Option", ::add_option);
self add_menu("Submenu3", "COBRA MENU", "VIP");
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_option("Submenu3", "Option", ::add_option);
self add_menu("Submenu4", "COBRA MENU", "VIP");
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_option("Submenu4", "Option", ::add_option);
self add_menu("Submenu5", "COBRA MENU", "VIP");
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_option("Submenu5", "Option", ::add_option);
self add_menu("Submenu6", "COBRA MENU", "VIP");
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_option("Submenu6", "Option", ::add_option);
self add_menu("Submenu7", "COBRA MENU", "VIP");
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_option("Submenu7", "Option", ::add_option);
self add_menu("Submenu8", "COBRA MENU", "VIP");
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_option("Submenu8", "Option", ::add_option);
self add_menu("Submenu9", "COBRA MENU", "VIP");
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_option("Submenu9", "Option", ::add_option);
self add_menu("Players Menu", "COBRA MENU", "Co-Host");
for (i = 0; i < 12; i++)
{ self add_menu("pOpt " + i, "Players Menu", "Co-Host"); }
}
updatePlayersMenu()
{
self.menu.menucount["Players Menu"] = 0;
for (i = 0; i < 12; i++)
{
player = level.players;
playerName = getPlayerName(player);
playersizefixed = level.players.size - 1;
if(self.menu.curs["Players Menu"] > playersizefixed)
{
self.menu.scrollerpos["Players Menu"] = playersizefixed;
self.menu.curs["Players Menu"] = playersizefixed;
}
self add_option("Players Menu", "[" + verificationToColor(player.status) + "^7] " + playerName, ::submenu, "pOpt " + i, "[" + verificationToColor(player.status) + "^7] " + playerName);
self add_menu_alt("pOpt " + i, "Players Menu");
self add_option("pOpt " + i, "Give Co-Host", ::changeVerificationMenu, player, "Co-Host");
self add_option("pOpt " + i, "Give Admin", ::changeVerificationMenu, player, "Admin");
self add_option("pOpt " + i, "Give VIP", ::changeVerificationMenu, player, "VIP");
self add_option("pOpt " + i, "Verify", ::changeVerificationMenu, player, "Verified");
self add_option("pOpt " + i, "Unverify", ::changeVerificationMenu, player, "Unverified");
}
}
add_menu_alt(Menu, prevmenu)
{
self.menu.getmenu[Menu] = Menu;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_menu(Menu, prevmenu, status)
{
self.menu.status[Menu] = status;
self.menu.getmenu[Menu] = Menu;
self.menu.scrollerpos[Menu] = 0;
self.menu.curs[Menu] = 0;
self.menu.menucount[Menu] = 0;
self.menu.previousmenu[Menu] = prevmenu;
}
add_option(Menu, Text, Func, arg1, arg2)
{
Menu = self.menu.getmenu[Menu];
Num = self.menu.menucount[Menu];
self.menu.menuopt[Menu][Num] = Text;
self.menu.menufunc[Menu][Num] = Func;
self.menu.menuinput[Menu][Num] = arg1;
self.menu.menuinput1[Menu][Num] = arg2;
self.menu.menucount[Menu] += 1;
}
updateScrollbar()
{
self.menu.scroller MoveOverTime(0.10);
self.menu.scroller.y = 68 + (self.menu.curs[self.menu.currentmenu] * 20.32);
}
openMenu()
{
self freezeControls(false);
self StoreText("COBRA MENU", "COBRA MENU");
self.menu.background FadeOverTime(0.30);
self.menu.background.alpha = 0.75;
self.swagtext FadeOverTime(0.3);
self.swagtext.alpha = 0.90;
self.menu.line MoveOverTime(0.30);
self.menu.line.y = -50;
self.menu.line2 MoveOverTime(0.30);
self.menu.line2.y = -50;
self updateScrollbar();
self.menu.open = true;
}
closeMenu()
{
self.menu.options FadeOverTime(0.3);
self.menu.options.alpha = 0;
self.menu.background FadeOverTime(0.3);
self.menu.background.alpha = 0;
self.swagtext FadeOverTime(0.30);
self.swagtext.alpha = 0;
self.menu.title FadeOverTime(0.30);
self.menu.title.alpha = 0;
self.menu.line MoveOverTime(0.30);
self.menu.line.y = -550;
self.menu.line2 MoveOverTime(0.30);
self.menu.line2.y = -550;
self.menu.scroller MoveOverTime(0.30);
self.menu.scroller.y = -510;
self.menu.open = false;
self playsound( "veh_huey_chaff_explo_npc" );
}
destroyMenu(player)
{
player.MenuInit = false;
closeMenu();
wait 0.3;
player.menu.options destroy();
player.menu.background1 destroy();
player.menu.scroller destroy();
player.menu.scroller1 destroy();
player.infos destroy();
player.menu.line destroy();
player.menu.line2 destroy();
player.menu.title destroy();
player notify("destroyMenu");
}
closeMenuOnDeath()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
for (;
{
self waittill("death");
self.menu.closeondeath = true;
self submenu("COBRA MENU", "COBRA MENU");
closeMenu();
self.menu.closeondeath = false;
}
}
StoreShaders()
{
self.menu.background = self drawShader("white", 240, -50, 155, 500, (0, 0, 0), 0, 0);
self.menu.scroller = self drawShader("white", 240, -500, 155, 17, (0, 0.501, 1), 255, 1);
self.menu.line = self drawShader("white", 318, -550, 2, 500, (0, 0.501, 1), 255, 2);
self.menu.line2 = self drawShader("white", 162, -550, 2, 500, (0, 0.501, 1), 255, 2);
}
StoreText(menu, title)
{
self.menu.currentmenu = menu;
string = "";
self.menu.title destroy();
self.menu.title = drawText(title, "objective", 2.4, 240, 25, (1, 1, 1), 0, (0, 0.501, 1), 1, 3);
self.menu.title FadeOverTime(0.3);
self.menu.title.alpha = 1;
for(i = 0; i < self.menu.menuopt[menu].size; i++)
{ string += self.menu.menuopt[menu] + "\n"; }
self.menu.options destroy();
self.menu.options = drawText(string, "objective", 1.7, 240, 65, (1, 1, 1), 0, (0, 0.501, 1), 0, 4);
self.menu.options FadeOverTime(0.3);
self.menu.options.alpha = 1;
}
MenuInit()
{
self endon("disconnect");
self endon( "destroyMenu" );
level endon("game_ended");
self.menu = spawnstruct();
self.toggles = spawnstruct();
self.menu.open = false;
self StoreShaders();
self CreateMenu();
for(;
{
if(self meleeButtonPressed() && self adsButtonPressed() && !self.menu.open)
{
openMenu();
}
if(self.menu.open)
{
if(self useButtonPressed())
{
if(isDefined(self.menu.previousmenu[self.menu.currentmenu]))
{
self submenu(self.menu.previousmenu[self.menu.currentmenu]);
self playsound( "veh_huey_chaff_explo_npc" );
}
else
{
closeMenu();
}
wait 0.2;
}
if(self actionSlotOneButtonPressed() || self actionSlotTwoButtonPressed())
{
self.menu.curs[self.menu.currentmenu] += (Iif(self actionSlotTwoButtonPressed(), 1, -1));
self.menu.curs[self.menu.currentmenu] = (Iif(self.menu.curs[self.menu.currentmenu] < 0, self.menu.menuopt[self.menu.currentmenu].size-1, Iif(self.menu.curs[self.menu.currentmenu] > self.menu.menuopt[self.menu.currentmenu].size-1, 0, self.menu.curs[self.menu.currentmenu])));
self playsound( "veh_huey_chaff_explo_npc" );
self updateScrollbar();
}
if(self jumpButtonPressed())
{
self thread [[self.menu.menufunc[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]]](self.menu.menuinput[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]], self.menu.menuinput1[self.menu.currentmenu][self.menu.curs[self.menu.currentmenu]]);
wait 0.2;
}
}
wait 0.05;
}
}
submenu(input, title)
{
if (verificationToNum(self.status) >= verificationToNum(self.menu.status[input]))
{
self.menu.options destroy();
if (input == "COBRA MENU")
self thread StoreText(input, "COBRA MENU");
else if (input == "Players Menu")
{
self updatePlayersMenu();
self thread StoreText(input, "Joueurs");
}
else
self thread StoreText(input, title);
self.CurMenu = input;
self.menu.scrollerpos[self.CurMenu] = self.menu.curs[self.CurMenu];
self.menu.curs[input] = self.menu.scrollerpos[input];
if (!self.menu.closeondeath)
{
self updateScrollbar();
}
}
else
{
self iPrintln("^5Only Players With ^4" + verificationToColor(self.menu.status[input]) + " ^5Can Access This Menu!");
}
}
ToggleGod()
{
if(self.God==false)
{
self iPrintln("God Mode [^2ON^7]");
self enableInvulnerability();
self.God=true;
}
else
{
self iPrintln("God Mode [^7OFF^7]");
self disableInvulnerability();
self.God=false;
}
}
InfiniteAmmo()
{
self endon("disconnect");
self endon("disableInfAmmo");
self.InfiniteAmmo = booleanOpposite(self.InfiniteAmmo);
self iPrintln(booleanReturnVal(self.InfiniteAmmo, "Infinite Ammo: [^7OFF^7]", "Infinite Ammo: [^2ON^7]"));
if (self.InfiniteAmmo)
{
for(;
{
if (self getCurrentWeapon() != "none")
{
self setWeaponAmmoClip(self getCurrentWeapon(), weaponClipSize(self getCurrentWeapon()));
self giveMaxAmmo(self getCurrentWeapon());
}
if (self getCurrentOffHand() != "none")
self giveMaxAmmo(self getCurrentOffHand());
wait 0.05;
}
}
else
self notify("disableInfAmmo");
}
ThirdPerson()
{
if (self.TPP == true)
{
self setclientthirdperson(1);
self iPrintln("^73eme perssonne: [^2ON^7]");
self.TPP = false;
}
else
{
self setclientthirdperson(0);
self iPrintln("^73eme perssonne: [^7OFF^7]");
self.TPP = true;
}
}
sendtospace(player)
{
if (!player isHost())
{
self iPrintln(player.name + " a ete envoyer dans l'espace");
player iPrintln("tu a ete dans l espaces");
x=randomIntRange(-75,75);
y=randomIntRange(-75,75);
z=45;
player.location =(0+x,0+y,500000+z);
player.angle =(0,176,0);
player setOrigin(player.location);
player setPlayerAngles(player.angle);
}
}
doKillstreaks()
{
maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999);
}
doJetPack()
{
if( self.jetpack == false )
{
self thread StartJetPack();
self iPrintln("JetPack [^2ON^7]");
self iPrintln("Presse [{+gostand}] et [{+usereload}]");
self.jetpack = true;
}
else if(self.jetpack == true)
{
self.jetpack = false;
self notify("jetpack_off");
self iPrintln("JetPack [^7OFF^7]");
}
}
StartJetPack()
{
self endon("death");
self endon("jetpack_off");
self.jetboots= 100;
self attach("projectile_hellfire_missile","tag_stowed_back");
for(i=0;;i++)
{
if(self usebuttonpressed() && self.jetboots>0)
{
self playsound( "veh_huey_chaff_explo_npc" );
playFX( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_RI" ) );
playFx( level._effect[ "flak20_fire_fx" ], self getTagOrigin( "J_Ankle_LE" ) );
earthquake(.15,.2,self gettagorigin("j_spine4"),50);
self.jetboots--;
if(self getvelocity() [2]
00)self setvelocity(self getvelocity() +(0,0,60));}
if(self.jetboots<100 &&!self usebuttonpressed() )self.jetboots++;
wait .05;
}
}
spawnDrivableCar()
{
if(!isDefined(self.car["spawned"]))
{
setDvar("cg_thirdPersonRange", "300");
self.car["carModel"] = "veh_t6_drone_rcxd";
self.car["spawned"] = true;
self.car["runCar"] = true;
self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
self.car["carEntity"].angles = self.car["spawnAngles"];
self.car["carEntity"] setModel(self.car["carModel"]);
wait .2;
thread Vehicle_Wait_Think();
}
else
iPrintln("seulement une voiture a la fois!");
}
Vehicle_Wait_Think()
{
self endon("disconnect");
self endon("end_car");
while(self.car["runCar"])
{
if(distance(self.origin, self.car["carEntity"].origin) < 120)
{
if(self useButtonPressed())
{
if(!self.car["inCar"])
{
iPrintln("Presse [{+attack}] avancer");
iPrintln("Presse [{+speed_throw}] reculler");
iPrintln("Presse [{+reload}] pour quitter");
self.car["speed"] = 0;
self.car["inCar"] = true;
self disableWeapons();
self detachAll();
self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
self hide();
self setClientThirdPerson(true);
self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
self PlayerLinkTo(self.car["carEntity"]);
thread Vehicle_Physics_Think();
thread Vehicle_Death_Think();
wait 1;
}
else
thread Vehicle_Exit_Think();
}
}
wait .05;
}
}
Vehicle_Physics_Think()
{
self endon("disconnect");
self endon("end_car");
self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
carPhysics = undefined;
carTrace = undefined;
newCarAngles = undefined;
while(self.car["runCar"])
{
carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
if(self attackButtonPressed())
{
if(self.car["speed"] < 0)
self.car["speed"] = 0;
if(self.car["speed"] < 50)
self.car["speed"] += 0.4;
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] > 0)
{
newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
self.car["speed"] -= 0.7;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
if(self adsButtonPressed())
{
if(self.car["speed"] > -20)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] -= 0.5;
self.car["carEntity"] moveTo(carTrace, 0.2);
}
else
self.car["speed"] += 0.5;
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
else
{
if(self.car["speed"] < -1)
{
if(self.car["speed"] < 0)
newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
self.car["speed"] += 0.8;
self.car["carEntity"] moveTo(carTrace, 0.2);
self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
}
}
self.car["speedBar"] updateBar(self.car["speed"]/50);
wait 0.05;
}
}
Vehicle_Death_Think()
{
self endon("disconnect");
self endon("end_car");
self waittill("death");
if(self.car["inCar"])
thread Vehicle_Exit_Think();
else
self.car["carEntity"] delete();
wait 0.2;
}
Vehicle_Exit_Think()
{
self.car["speed"] = 0;
self.car["inCar"] = false;
self.car["runCar"] = false;
self.car["spawned"] = undefined;
self.car["speedBar"] destroyElem();
self.car["carEntity"] delete();
self unlink();
self enableWeapons();
self show();
self setClientThirdPerson(false);
wait 0.3;
self notify("end_car");
}
doAntiQuit()
{
self endon("disconnect");
self endon("Stopquittin");
for(;
{
foreach(player in level.players)
player maps/mp/gametypes/_globallogic_ui::closemenus();
wait 0.05;
}
}
ToggleRageQuit()
{
if(self.antiquit==false)
{
self thread doAntiQuit();
self iprintln("Anti-RageQuit [^2ON^7]");
self.antiquit=true;
}
else
{
self notify("Stopquittin");
self iprintln("Anti-RageQuit [^7OFF^7]");
self.antiquit=false;
}
}
adverT()
{
foreach(p in level.players)
p thread DisplayAdvert();
}
DisplayAdvert()
{
self endon("disconnect");
AdvertText = createFontString("default", 2);
AdvertText setPoint("TOP","CENTER",0,0);
AdvertText setText("^5Salut !!");
wait 10;
AdvertText setText("^5MENU CREER PAR ^6" + level.hostname);
wait 10;
AdvertText setText("^5Lobby");
wait 7;
AdvertText setText("^61 CODE = 1.34 Euro");
wait 7;
AdvertText setText("^5Pas cher !");
wait 7;
AdvertText setText("^5Depeche);
wait 10;
AdvertText setText("^5Toi");
wait 10;
AdvertText setPoint("RIGHT","TOP",350,200);
AdvertText setText("^6COBRA MENU!");
wait 600;
AdvertText destroy();
}
Merci !