Author Topic: Support: eXtreme+ v2.2  (Read 23637 times)

Offline Zoro

  • Rank: Private
  • *
  • Posts: 15
Support: eXtreme+ v2.2
« Reply #120 on: December 19, 2007, 08:59:36 am »
Hi all.

I'm trying to mod the extreme 2.2 (server and client iwd version) to include in the weapons class a new class called "boltsniper" (numeric id=9, obviously since the last is panzerschreck with id=8 ).

I edited in the extreme_srv_v2.2.iwd the following files:

maps\mp\gametypes\_weapons.gsc
   function updateAllowed() that way:

Code: [Select]
updateAllowed()
{
classname = undefined;

// if not class bassed and weapon limiter enabled, create an array to add the weapon names used only for this game
if(!level.ex_wepo_class && level.ex_wepo_limiter) level.ex_wlim_names = [];

switch(level.ex_wepo_class)
{
case 1: classname = "pistol"; break; // pistol only
case 2: classname = "sniper"; break; // sniper only
case 3: classname = "mg"; break; // mg only
case 4: classname = "smg"; break; // smg only
case 5: classname = "rifle"; break; // rifle only
case 6: classname = "boltrifle"; break; // bolt action rifle only
case 7: classname = "shotgun"; break; // shotgun only
case 8: classname = "rl"; break; // panzerschreck only
case 9: classname = "boltsniper"; break;  // bolt action+snipers
}

for(i = 0; i < level.weaponnames.size; i++)
{
weaponname = level.weaponnames[i];

if(level.ex_wepo_class)
{
// check if it matches the class based weapon
if(isWeaponType(weaponname, classname)) level.weapons[weaponname].allow = 1;
else level.weapons[weaponname].allow = 0;

// check frag grenade
if(level.ex_wepo_allow_frag && level.weapons[weaponname].classname == "nade") level.weapons[weaponname].allow = 1;
else if(level.weapons[weaponname].classname == "nade") level.weapons[weaponname].allow = 0;

// check smoke grenade
if(level.ex_wepo_allow_smoke && level.weapons[weaponname].classname == "smoke") level.weapons[weaponname].allow = 1;
else if(level.weapons[weaponname].classname == "smoke") level.weapons[weaponname].allow = 0;

// check if allowed pistol
if(level.ex_wepo_class != 1 && level.ex_wepo_sidearm && isWeaponType(weaponname, "pistol")) level.weapons[weaponname].allow = 1;

cvarvalue = level.weapons[weaponname].allow;
}
else cvarvalue = drm_getCvarInt(level.weapons[weaponname].server_allowcvar);

// if not class based weapons and weapon limiter enabled
if(!level.ex_wepo_class && level.ex_wepo_limiter)
{
// check to see whether this weapon limit is zero, not available!
if(level.weapons[weaponname].limit == 0) cvarvalue = 0;

// if it is allowed and is game allies and axis, then add it to the weapons in use array
if((isWeaponType(weaponname, game["allies"]) || isWeaponType(weaponname, game["axis"])) && cvarvalue)
level.ex_wlim_names[level.ex_wlim_names.size] = weaponname;

// add the cvarvalue to the weapons array
level.weapons[weaponname].cvarvalue = cvarvalue;
}

if(level.weapons[weaponname].allow != cvarvalue)
{
level.weapons[weaponname].allow = cvarvalue;
thread updateAllowedAllClients(weaponname);
}
}
}


extreme\_ex_weapons.gsc
   function isWeaponType(weapon, type) that way:

Code: [Select]
isWeaponType(weapon, type)
{
if(!isDefined(weapon)) return false;

switch(type)
{
case "turret":
switch(weapon)
{
case "mg42_bipod_duck_mp":
case "mg42_bipod_prone_mp":
case "mg42_bipod_stand_mp":
case "mobile_mg42":
case "30cal_duck_mp":
case "30cal_prone_mp":
case "30cal_stand_mp":
case "mobile_30cal": return true;

default: return false;
}

case "rocket":
switch(weapon)
{
case "panzerfaust_mp":
case "panzerschreck_allies":
case "panzerschreck_mp": return true;
default: return false;
}
break;

case "common":
switch(weapon)
{
case "panzerfaust_mp":
case "panzerschreck_mp":
case "panzerschreck_allies":
case "binoculars_mp":
case "shotgun_mp": return true;
default: return false;
}

// Check if weapon is a grenade
case "grenade":
switch(weapon)
{
case "frag_grenade_american_mp":
case "frag_grenade_british_mp":
case "frag_grenade_german_mp":
case "frag_grenade_russian_mp":
case "fire_mp":
case "gas_mp": return true;
default: return false;
}

// Check if weapon is smoke grenade
case "smokegrenade":
switch(weapon)
{
case "smoke_grenade_american_mp":
case "smoke_grenade_american_blue_mp":
case "smoke_grenade_american_green_mp":
case "smoke_grenade_american_orange_mp":
case "smoke_grenade_american_pink_mp":
case "smoke_grenade_american_red_mp":
case "smoke_grenade_american_yellow_mp":
case "smoke_grenade_american_fire_mp":
case "smoke_grenade_american_gas_mp":
case "smoke_grenade_british_mp":
case "smoke_grenade_british_blue_mp":
case "smoke_grenade_british_green_mp":
case "smoke_grenade_british_orange_mp":
case "smoke_grenade_british_pink_mp":
case "smoke_grenade_british_red_mp":
case "smoke_grenade_british_yellow_mp":
case "smoke_grenade_british_fire_mp":
case "smoke_grenade_british_gas_mp":
case "smoke_grenade_german_mp":
case "smoke_grenade_german_blue_mp":
case "smoke_grenade_german_green_mp":
case "smoke_grenade_german_orange_mp":
case "smoke_grenade_german_pink_mp":
case "smoke_grenade_german_red_mp":
case "smoke_grenade_german_yellow_mp":
case "smoke_grenade_german_fire_mp":
case "smoke_grenade_german_gas_mp":
case "smoke_grenade_russian_mp":
case "smoke_grenade_russian_blue_mp":
case "smoke_grenade_russian_green_mp":
case "smoke_grenade_russian_orange_mp":
case "smoke_grenade_russian_pink_mp":
case "smoke_grenade_russian_red_mp":
case "smoke_grenade_russian_yellow_mp":
case "smoke_grenade_russian_fire_mp":
case "smoke_grenade_russian_gas_mp": return true;
default: return false;
}

// Check if weapon is a rifle
case "rifle":
switch(weapon)
{
case "enfield_mp":
case "g43_mp":
case "kar98k_mp":
case "m1carbine_mp":
case "m1garand_mp":
case "mosin_nagant_mp":
case "svt40_mp": return true;
default: return false;
}

// Check if weapon is a bolt action rifle
case "boltrifle":
switch(weapon)
{
case "mosin_nagant_mp":
case "kar98k_mp":
case "enfield_mp": return true;
default: return false;
}

// Check if weapon is a semi automatic rifle
case "semirifle":
switch(weapon)
{
case "g43_mp":
case "m1garand_mp":
case "svt40_mp": return true;
default: return false;
}

// Check if weapon is smg
case "smg":
switch(weapon)
{
case "greasegun_mp":
case "mp40_mp":
case "sten_mp":
case "thompson_mp":
case "ppsh_mp":
case "pps42_mp": return true;
default: return false;
}

// Check if weapon is mg
case "mg":
switch(weapon)
{
case "mp44_mp":
case "bar_mp":
case "bren_mp":
case "mobile_30cal":
case "mobile_mg42":
case "ppsh_mp": return true;
default: return false;
}

// Check if weapon is sniper
case "sniper":
switch(weapon)
{
case "mosin_nagant_sniper_mp":
case "springfield_mp":
case "kar98k_sniper_mp":
case "enfield_scope_mp":
case "g43_sniper": return true;
default: return false;
}

// Check if weapon is rocket launcher
case "rl":
switch(weapon)
{
case "panzerschreck_mp":
case "panzerschreck_allies": return true;
default: return false;
}

// Check if weapon is shotgun
case "shotgun":
switch(weapon)
{
case "shotgun_mp": return true;
default: return false;
}

// Check if weapon is pistol
case "pistol":
switch(weapon)
{
case "colt_mp":
case "luger_mp":
case "tt30_mp":
case "webley_mp": return true;
default: return false;
}

// Check if weapon is knife
case "knife":
switch(weapon)
{
case "knife_mp": return true;
default: return false;
}

// Check if weapon is american
case "american":
switch(weapon)
{
case "frag_grenade_american_mp":
case "smoke_grenade_american_mp":
case "colt_mp":
case "knife_mp":
case "mobile_30cal":
case "fire_mp":
case "gas_mp":
case "m1carbine_mp":
case "m1garand_mp":
case "greasegun_mp":
case "thompson_mp":
case "bar_mp":
case "springfield_mp":
case "shotgun_mp":
case "panzerschreck_allies":
case "enfield_mp": return true;
default: return false;
}

// Check if weapon is british
case "british":
switch(weapon)
{
case "frag_grenade_british_mp":
case "smoke_grenade_british_mp":
case "webley_mp":
case "knife_mp":
case "mobile_30cal":
case "fire_mp":
case "gas_mp":
case "m1garand_mp":
case "enfield_mp":
case "sten_mp":
case "bren_mp":
case "thompson_mp":
case "enfield_scope_mp":
case "panzerschreck_allies":
case "shotgun_mp": return true;
default: return false;
}

// Check if weapon is russian
case "russian":
switch(weapon)
{
case "frag_grenade_russian_mp":
case "smoke_grenade_russian_mp":
case "tt30_mp":
case "knife_mp":
case "mobile_30cal":
case "fire_mp":
case "gas_mp":
case "mosin_nagant_mp":
case "svt40_mp":
case "pps42_mp":
case "ppsh_mp":
case "mosin_nagant_sniper_mp":
case "panzerschreck_allies":
case "shotgun_mp": return true;
default: return false;
}

// Check if weapon is german
case "german":
switch(weapon)
{
case "frag_grenade_german_mp":
case "smoke_grenade_german_mp":
case "luger_mp":
case "knife_mp":
case "mobile_mg42":
case "fire_mp":
case "gas_mp":
case "kar98k_mp":
case "g43_mp":
case "g43_sniper":
case "mp40_mp":
case "mp44_mp":
case "kar98k_sniper_mp":
case "panzerschreck_mp":
case "shotgun_mp": return true;
default: return false;
}

// Check if weapon is boltsniper (modded 18122007)
case "boltsniper":
switch(weapon)
{
case "mosin_nagant_sniper_mp":
case "springfield_mp":
case "kar98k_sniper_mp":
case "enfield_scope_mp":
case "mosin_nagant_mp":
case "kar98k_mp":
case "enfield_mp": return true;
default: return false;
}
}

return false;
}


What else do I need to edit to create this new weapon class?

Thank you in advance :wink:

Offline PatmanSan

  • Administrator
  • Rank: Private
  • *****
  • Posts: 2527
Support: eXtreme+ v2.2
« Reply #121 on: December 19, 2007, 09:31:05 am »
First, I think it's better to re-use the "sniper" class for this. You are modifying stock weapons that already belong to a class. If you change them to new class, you will break the other.

But if you want to proceed, you will have to tell the mod it has to accept class 9. In extreme\_ex_varcache.gsc

   // weapon class overides
   // 0 = all weapons
   // 1 = pistols only
   // 2 = sniper only
   // 3 = machine gun only
   // 4 = submachine gun only
   // 5 = rifles only
   // 6 = bolt action only
   // 7 = shotgun only
   // 8 = panzerschreck only
   level.ex_wepo_class = [[level.ex_drm]]("ex_wepo_class", 0, 0, 9, "int");

Then you need to modify the bolt sniper weapons in the weapons array to have classname "boltsniper". In maps\mp\gametypes\_weapons.gsc:

   level.weapons["springfield_mp"] = spawnstruct();
   level.weapons["springfield_mp"].server_allowcvar = "scr_allow_springfield";
   level.weapons["springfield_mp"].client_allowcvar = "ui_allow_springfield";
   level.weapons["springfield_mp"].allow_default = 1;
   level.weapons["springfield_mp"].classname = "boltsniper";
   level.weapons["springfield_mp"].team = "allies";
   level.weapons["springfield_mp"].limit = [[level.ex_drm]]("ex_springfield_limit", 99, 0, 99, "int");
   level.weapons["springfield_mp"].ammo_limit = [[level.ex_drm]]("ex_springfield_ammo_limit", 60, 0, 999, "int");

Do this for all the weapons you want to include in the new class.
Probably some other things to change as well, but I'll wait until you decided which way you decided to go.

Offline Zoro

  • Rank: Private
  • *
  • Posts: 15
Support: eXtreme+ v2.2
« Reply #122 on: December 19, 2007, 10:06:13 am »
Ok, you say it's better to re-use the Sniper class but which way?

I forgot to say that in my server we like to play in only-rifle mode. If I mod the Sniper class, I think I should change the bolt-action rifles class into "sniper". But if I proceed that way, I won't have the only-rifle class (without snipers) anymore, will I?

In the end, I'd like to mod the mod (lol) in a way that let me play with sniper class, bolt-action rifles class, and a class that combine snipers and bolt-action rifles (without using the "all weapons" mode disabling all the other weapons). Is it possible?

Offline xXBOWLDAYXx

  • Rank: Private
  • *
  • Posts: 37
    • http://www.extremegamerz.net
Wondering about anti cheat and the Mod
« Reply #123 on: February 27, 2008, 11:39:44 am »
Question is what exactly does the mod 2.2 do for anti cheat lets say not running with pb. and is there a cvar and dvar full anti cheat list somewhere i have missed. Will the mod itself have enough protection for cheats if stand alone?

Offline Joker{eXtreme}

  • Rank: Private
  • *
  • Posts: 6108
    • http://www.mycallofduty.com
Support: eXtreme+ v2.2
« Reply #124 on: February 27, 2008, 11:45:15 am »
The eXtreme mod really doesn't do anything for "cheaters" m8.  Except for the Admin commands but that is only if you have 24/7 admins present in the server.

I always recommend streaming with PB and PBBans.

Offline 4peterjan4

  • Rank: Private
  • *
  • Posts: 505
    • http://www.specialforces-clan.com
Support: eXtreme+ v2.2
« Reply #125 on: March 01, 2008, 03:31:46 pm »
Hi i need some help with eXtreme+ 2.2

I would have my sprint time to 5 seconds only how i do?

This settings i have now:

// max sprint time in seconds
// min = 1, max = 999, default = 3
set ex_sprint_time "8"

// max recover time in seconds, total recover time for a full recover will be this time + the
// maximum sprint time!
// min = 0, max = 999, default = 2
set ex_sprint_recover_time "0"

Still 10 secons sprinting..

Greetings Peter-Jan

Offline PatmanSan

  • Administrator
  • Rank: Private
  • *****
  • Posts: 2527
Support: eXtreme+ v2.2
« Reply #126 on: March 01, 2008, 07:01:08 pm »
See http://www.mycallofduty.org/modules.php?name=Forums&file=viewtopic&t=621

Either change it yourself in v2.2 or update to v2.3

Offline 4peterjan4

  • Rank: Private
  • *
  • Posts: 505
    • http://www.specialforces-clan.com
Support: eXtreme+ v2.2
« Reply #127 on: March 03, 2008, 03:54:06 pm »
Hello people i need again some help with eXtreme+ 2.2

I would have my own gomsounds in my server.

I know how to do.

If u add gomtune1-gomtune10in the eXtreme2.2 mod its working fine  i tested.

But i want an other way.


My own iwd with the sounds in it.

Than is the eXtreme+ 2.2 mod smaller.

What i have done now added the soundaliases to my new iwd and the gomtunes.

But that wont work?

Can some help me out of this problem?

Greetings Peter-Jan

Offline Gixxer

  • Rank: Private
  • *
  • Posts: 1340
    • http://www.extremegamerz.net
Support: eXtreme+ v2.2
« Reply #128 on: March 03, 2008, 05:35:11 pm »
leave the soundaliases file in the mod iwd, then in your  newly created iwd, make a folder called sound, then in that folder make one called music, then place your mp3 files in there called gom1 - gom10, that should work.

EDIT:


Do not double post the same question in multiple places, it will not get your questions answered any faster

Offline AngryNinja

  • Rank: Private
  • *
  • Posts: 2
Support: eXtreme+ v2.2
« Reply #129 on: July 20, 2008, 02:33:48 pm »
Hey guys. Having a little problem. Hope you can assist...

I don't have GUID's showing up anymore. Anyone seen this? and hwo to fix?

Running the latest patch, and Extreme 2.2

Offline ReaKtor

  • Rank: Private
  • *
  • Posts: 471
Support: eXtreme+ v2.2
« Reply #130 on: July 20, 2008, 05:06:51 pm »
You mean GUID numbers showing in an rcon program like RCoN4CoD2??

Sometimes you get GUID numbers and sometimes you don't. It's an Activision problem.  

And they have other problems too -- like periods when the Master Server list is down and no servers show on your internet listing ingame. ... then only players who have your server in their favs can connect.  

...and even worse ... periods when they can't check activation codes and no one can connect to anything... happened yesterday.

The only cure for this stuff is ---  wait it out.

Offline AngryNinja

  • Rank: Private
  • *
  • Posts: 2
Support: eXtreme+ v2.2
« Reply #131 on: July 20, 2008, 05:45:45 pm »
The GUID problem just started...but it was constant for about 2 days. No GUID showing. For anyone. Not just a single player like sometimes is seen.

And sure, I could have been using RCON4COD2 but I was just looking at the console. Then I downloaded the games_mp.log and looked there. Sho nuff...no GUID's.

Well, I'll keep looking for an answer...hopefully can find one.

Thanks for your reply.

Offline Gixxer

  • Rank: Private
  • *
  • Posts: 1340
    • http://www.extremegamerz.net
Support: eXtreme+ v2.2
« Reply #132 on: July 21, 2008, 05:45:27 am »
ummm, i found the answer you are looking for bud, look up 2 posts to Reaktors post, that gives you the answer and the correct one at that. this happens to everyone, happened on our server a few weeks ago and of course there were some idiots out of line that needed banned, but Guid's and ip's were not showing in the log or Rcon, so we literally had to kick them 100 times until they got tired of trying to rejoin.