From the Desk of joeyz

General discussion.

Moderator: Forum Moderators

User avatar
joeyz
BF2 & UT2004 Server Founder
Posts: 200
Joined: Fri Feb 17, 2006 4:44 pm

From the Desk of joeyz

Post by joeyz » Sat Jun 16, 2007 9:31 am

Lets clear up some confusion that lingers in some people's minds.

Before Christmas 2006, In preparation for UT2007, I did a full server upgrade of hardware and reloaded everything. While configuring everything fresh on the new server I decided to...

1. Change NEW server name from "Joey's RPG Invasion Server" to "Monster Madness RPG Invasion Server". More of a public name than personal name.
2. Change RPG Level Up system. Lower the level up system from 6% percent to 4%. (For those who dont know what that means... each time you level up, your new level goal is your current experience + 4%).
3. Change RPG start level to Level 1.
4. Change difficulty to "GOD LIKE".

NOTE: The above decisions were based on feedback I got from everyone on old server.

When I fired up the new server, I started everyone fresh at RPG 4% level up system and level 1. But during the first month (Jan 07), I got some complaints about it being harder than old server to level up because of "God Like" and starting at level 1, so I made a decision and lowered the levelup system to another 1% and changed players to start at level 10. So now the server is on a 3% level up system and players start at level 10. No problem.

During that transition something went slightly wrong and it was not discovered until four weeks later. Normally when you lower the level up system percentile, it AUTOMATICALLY ADJUSTS everyone's RPG data. For most players, their data was updated. However, the system only updated 90+% of the players. Why was that? What went wrong? I discovered that a mixture of SPECIAL CHARACTERS in player names, caused some kind of glitch in the database to where it did not update everyone.

NOTE: Special Characters ($,@,!,~,",.,),(,^,],[,{,},%,#,&,*;,:,|,\,/,<,>,".',,+,=,-,_).
Special Character$ are normally reserved for programming. Occasionally, these special characters can screw up a computer application or database. These special characters are dangerous and a threat to databases in the real business world. I remember when a special character inputted into the main database server on our military base threw it offline for two days. Sometimes you will see a screwed up website due to incorrect handling/processing special characters. This is why some servers do NOT allow special characters in names or strings of input data because it can glitch the code or database. Its sorta like the the same thing for when UT previously allowed everyone to use ANSI color or multi-colored player names. The color coded player names were crashing the game and people were using the ANSI colors, special characters, and even character mapping symbols as exploits to cause trouble. As you may know, UT2004 does not support/allow the color codes any longer.

So why do people use these special characters and why do I allow it on server? Well some people use the special characters for the following reasons...

1. Some use it for a Clan tag (ok with me), except twat clan on my server.
2. Some use special characters in name because they think their cool. {barf!}
3. Some use them because they think that if they use special characters in theirs names that an admin cant type it or type it fast enough to kick/ban the player. This is rubbish and lame, this isnt IRC or yahoo chat. Admins have hot keys to log in and simply right click on your name and {POOF} your banned - bye bye dumb ass!
4. Some use them simply because the name they want is already taken and have to make a unique name.
5. Some use them as exploring exploits (try and crash game or corrupt data). For an example, I periodically check the RPG for anyone with more than one hash key. Lord and behold I found one that had at least 40 different player names. All of the names were combinations of special characters, ansi, character mapping types. It was clear this moron was not here to play. He was trying to crash your game or RPG database. His/her IP (including whole city) and game hash key is now banned for LIFE from game server and network.

Anyways, in Jan 07, I had THREE choices...
(1) Reset Everyone and start all over.
(2) Manually fix people stats where RPG database engine failed to update.
(3) Code a block to special characters, make everyone change names, and reset everyone and start fresh.

After discussing this with players and admins, many didnt want to start all over. To reduce the amount of impact, confusion or disatisfaction, I decided option #2. I spent time adjusting those who were still under the 4% system and switched them over to the 3% system. There seems to be a few still out there, Drac, Mrs D and CrackRock i just did recently.

Feb 07, During the process of fixing player stats for those on old system (4%), we had some people who joined server before the change and after the change. I even had people who havent played since the new server was up and they walk in saying, "What happened to my stats? why am I level 10 again?" These people havent played since December and had to be briefed that the server is new and everyone started fresh. There were people from game server in November asking me in January 07 to restore their stats. No one's stats are restored under the old server name. The only stats that will be manually adjusted is those who were under the 4% system in jan/feb 07 and didnt successfully get adjusted under the new 3% system.

So, if you feel your stats arent correct and you been on the server prior to feb 07, i will look at your stats. I manually fix them if its not under the 3% system. All you have to do is ask me to check and I will adjust it. I will NOT restore anyone's stats from the old server name "Joey's RPG Invasion Server". So please, those people need to stop asking. For all those who joined server after Feb07, your stats should be fine. Again, if you feel you data is wrong, let me know.

Oh by the way, this brings me to another point about RPG stats. For those that are panicking about their stats and worrying about other people's stats and trying to compare, let me educate you on a few things. Without looking at the exact figures in the database, just becuase your level 100 and need 2,000 experience points to level and you compare to another player thats 2,000 and needs 1,950 experience points to level up, this does NOT mean that your stats are screwed up. As you progress in leveling, RPG does many things like, round off numbers and gives bonuses. I noticed slight gaps between players since I added Druids Invasion Spree and other items like enhanced damage, enhanced damage reduction, and experience exp medic. So in other words, no one will have the EXACT exp numbers. But I do want you to watch for a major gap differences like; im level 100 and need 2,000 experience and he/she is level 100 and needs 11,000 exp. Thats a major difference and could indicate that they person with 11,000 exp is still under the old 4% system and not the current 3% system. Please bring that to my attention asap for me to analyze and adjust.

Please do not start rumors about unfairness huma huma, crying and whining. Accusing someone being unfair does not do anything but cause disruption. I am more than fair with what I do for this server/community. I treat everyone alike and there is no favortism or special priveledges for anyone with stats or how they behaive on server. It does not matter if your an admin or player. When someone screws up, I take no sides and will gun you down with my flak. I am a very busy person and dont have hardly any time to play and enjoy game on server. All I ask is for people to respect server and enjoy the game without causing problems for anyone.

For those that email me and I dont get back with you in timely manner, please understand that its hard working all day with the army, running ut server, coding new stuff, fixing program bugs, answering every peice of email and paying all the bills so you can play. Its truly overwhelming for 1 person. You would not believe the hundreds of emails I use to get every 24 hours about someone asking me to reset their rpg stats because they bought an ablility or screwed up their stats. I dont get those as musch cause I coded it so that you can BUY or REFUND any two parts of your RPG stats. I was going to allow individual refund items but people would abuse that and use it as an exploit to cheat. Anyways, I try my best to give you options that other servers would not give you so you can enjoy the game as much as possible.

As of this point, I am working on a few things whenever I have time. I know there are a few issues with game on server. However, if you look at everything as a whole there is more good than bad. Please keep in mind that this is ALL custom and development stuff (BETA). As you may know, there are over 180 different monsters, 35 weapons, 70 powerups and 25 artifacts. Thats a hell of alot of code.

Here are the few issues I am working on that pertains to the code/game.

1. Periodically loss of or all weapons, still need help in pin pointing this down so I know what code to fix. I hear so many different stories but can only say this, it lingers between RPG Denial, Ghost, Resurrection and WOP Retention. Or it could just be that the player had a network spike or lag on thier own client network. Please watch out for when it happens. You can really help by trying different combinations of pu, ghost, resurrect, denial, and retention. Lets catch this bug when it happens so I know which code needs to be fixed.

2. Accasionally RPGInteraction.GetPowerUpCount() crash to desktop. I cant seem to pin point this one either cause I am unable to reproduce that error. I am implementing some extra checks and procedures to avoid the runaway loop. Please watch for it and try to figure out when it happens during game. You would be my hero if you can find when it happens and always happens. Here is a good example, everytime i use the awarness powerup and scroll through my pu inventory it crashes. Something like that is detail, then I know what code is not working with another peice of code. To those that are using exploits as cheats in game, until I catch you (and I coded new stuff to spy), I hope you continue to lose weapons, pu, ghost into a rock and lag worse than two turtles having sex on the moon. Why, because if you would play like normal people and stop searching for exploits in the game bad stuff would not happen to you.

3. Discovered the new FLY powerup is logging some warnings in clientside UT2004.LOG. It seems to log the warnings when a player gets killed while flying. Not a serious threat to game performance, but it can cause minor lag, especially if it is writing it to all 16 players. I am working on the code and fixing it. Til then, you can still use Fly pu.

4. Some more adjustments in Dynamic Load Object, PreCaching, and garbage cleanup. Not a serious issue at this time.

In the meantime, if something doesnt work in game or has a bug, common sense tells you to report it and dont use that item until fixed. People who just cry, moan or complain about lag, losing weapons, other players, my stats etc., are usually the trouble makers on the server that just wind up getting kicked or banned. Be a winner, not a whiner, use team work, and be part of the solution, not the problem. Even though you have a role and stats, its still a TEAM GAME. If you dont help others than why should others help you? Again, Be part of solution, not part of the problem. If your ping is higher than normal, simply leave the game, check it, and rejoin.

I need your help. How can you further help? You can help by increasing game performance and keep lag down low by playing off line and reviewing your own C:\UT2004\System UT2004.LOG and fix any errors and warnings you see before joining any online server. After playing online, check the log occasionally, especially if you felt lag during online play. People have been sending me their UT2004.LOG for me to analyze. Much of the troubles I see is on the client side and a small percent of server side. I do try and fix my errors asap. Some of you people are downloading maps, mutators, mods, and scripts from elsewhere online that are not complete and are missing textures, animations, sounds, music, staticmeshes etc. You need to keep your log clean by removing incomplete items in your game directory. Following these tips will optimize your UT before joining ANY online server game.

Believe it or not, majority of problems on server are caused by bad maps and players. Please rememeber that these maps were made for DeathMatch(DM) not Invasion. We are trying our best to fix maps for better play. Fixing maps takes time. Have you ever played a game and didnt spawn or felt a freeze? Some of the problems are caused by maps not having enough spawn points for players or path nodes for monsters not being enough or a patch node to close to a wall or object for a big queen to spawn. Also, if you are always the last person to join game and have a low ping, this is a good indication that your computer resources are too low for UT (ie; slow processor, not enough system or video ram, not correctly configured system, drivers or settings). I gave one guy my phone number so I can help him with UT and his system, he was running top of the line video, SLI (two 512 video cards). After walking him thru his system, i discovered that the guy didnt have the correct video drivers and he was running an old clunky 10 year old 15" monitor. Another note: just because you have top of the line system does not mean you can max out the UT settings for max quality. Some hardware and drivers are not fully 100% compatible with UT. If you play on server, ensure your bandwidth is maximized for the game. Running skype, yahoo chat, exfire, windows updates, anti-viruse, firewalls all deteroraite the game performance because they eat up system and network resources. Becuase this server is pretty much fast paced with alot of data constantly be sent/recieved its important to avoid wireless. Wireless has slower bandwidth. Also if your family member is on the network uploading/downloading or sharing stuff online at another pc, this will degrade online play. The server sends and recieves data quickly and needs to have your data every second. All it takes is one person to cause lag and can cause others to lag. Your position must be sent to the server quickly as possible so the server can update all other players on where you are at and what you are doing so the other people can render and update their graphics on YOU.

Things are running pretty well. I see people working as a team and enjoying the game. We still have a few people who are still trying to crash your game. Here is an example, I was off work and stayed in game for a total of 12 hours. Amazingly, there was only one map crash, a monster fell out of world on a map and caused a runaway loop. Other than that, things were fine. We even played the worse maps.

The next day things went to hell, I was not in game but was secretly on server monitoring the in and out network packets. Also watched the server console. While watching TV from my couch, i would accasionally flip my remote to display server and noticed crashes were happening left and right. I will not give out my secrets, but someone is purposely crashing the game when server is full just so they can get in. I am investigating more into this. Also, someone else is using the map vote exploit crash to win maps. I added some new code to trace who is doing but only descretely display it to my server log for me to review. If you see someone voting then leaving and or voting and rejoining please report it asap, he is trying to crash your game. Thos who attempt this will be banned immediately. For those who are here to attack players, game, or server; Be warned, it is considered a network attack and is a violation of the Digital Millenium Act and you can/will be prosecuted under federal law. I am recording game/server packets and protocols. I will forward these to the Telecommunications legal office and your internet service provider legal department. All I am going to tell you is that, "IM GONNA GET YA! ;-)" Having an accuse of, "I had this ut script or trojan on my system and didn't know it or know what it was doing." is NOT going to save you. Bottom line, watch out for suspicous activity, events, and when they occur. Do not confront the person in game chat, dont warn him, simply dont let him know that you know. Secretly report it to an admin so we can monitor it, collect and anaylze data. Some people think we cant trace it, they are wrong as two boys in a closet.

In conclusion, i just wanna say thank you to everyone on the server. There are those that contribute in some kind of way. Today I noticed that we have 333 registered users. OMG, I never anticipated that many. As always, if anyone wants to help with coding, forum, web designing, powerups, monsters, map making the door here is always open. I personally want to thank the admins and developers for their hard work. I cant do everything alone. Special thanks to Nard, Jayseth, CJ, Zombie, Mystical and a few others for all the maps they make and other stuff they do. It takes a lot of work. Mystical, did you know that she has made over 25 maps for this server? Thats a lot of time she puts in for you guys. Yeah I know she is raw with words, but woman are sassy like that lol. Last but not least, I want to thank the players, which are supporters too. They may not make maps, weapons, mods etc, but they still contribute in so many ways. Much of the stuff and ideas you see today on the server came from thier feedback. Again, from inside, thank you!

The future?
Well if you continue to support the server and keep drama down low, I will open UT2007 (aka ut3) and develope invasion as soon as I can ;)

In the meantime, Zombie and Paintball, please try to cleanup the forum.
love ya guys!
--------------------------------------------------------------------------------------
PS: Im seeing too much trash and useless flaming. Just create a folder or smething and call it nonsense, whiners or something and toss the threads there so they wont waste people's time there. In fact, dont spoil the thread post for everyone else. Can you just toss the individual replies? Also zombie and paint, if they challenge your authority and continue to do so, ban them for a week, month whatever it takes. The game forum should be constructive about the game, not trash. Im not saying that all threads have to be about the game but some people dont have anything to say except garbage to start incidents. Nothing personal, why waste people's eyes, time and space. Do you think CNN website forum would allow trash on it? Nope, should be clean and professional and any personal attacks should be deleted. People should read the rules and if they dont, their fault.
Flak of Power +10 [Powerups: 3 Sturdy, 2 infs, 1 Healing, 1 Vorpal, 1 Lucky, 1 Poison 5x, 1 Protection 5x, 1 Retaliation x5, 1 Retention, 1 Super Force, 2 Speed 5x, 2 Damage 5x, 2 Energy 5x, 1 Penetrating, 1 Razorbomb]

User avatar
draegohn
Staff Sergeant
Staff Sergeant
Posts: 583
Joined: Sat Feb 24, 2007 9:11 am
Location: central pennsylvania

Post by draegohn » Sat Jun 16, 2007 9:56 am

wow, so much covered with that post, joey. thank you! i still kind of hoped you would tell on the forum something of your view about the whole suicide issue that has crept up. i want to at least know if i can do it once if i need to get gold back without an admin threatening kick/ban o..o

i also had two questions about the server's past:

1. how long has the server been around? what i mean exactly is..when it was Joey's Invasion Server, when was it first online for the public?

2. was this the first server that made use of the slotty weapons of power and powerups?

i am asking these because i am not only curious, but i believe last year i stopped by a WOP server with pus and such that looked like those here. there weren't any unique monsters though. i only stayed a few days because there was so so so much pu fighting ("this was mine, you jerk" as example, so often seen) and it was not appealing to be around that. so i could have very well been here before, and not have known :}

User avatar
ZombieSlayer
Second Lieutenant
Second Lieutenant
Posts: 2077
Joined: Thu Nov 16, 2006 9:41 pm

Post by ZombieSlayer » Sat Jun 16, 2007 10:18 am

I can't answer #1 because I forgot when it first came about :oops: No I wasn't here for the first inception either.

#2 however I can answer. No Joeyz is not the first server to use Weapons of Power mod or power ups. The WOP mod has been around a long while and Joeyz has just made it kick ass :prayer:

User avatar
draegohn
Staff Sergeant
Staff Sergeant
Posts: 583
Joined: Sat Feb 24, 2007 9:11 am
Location: central pennsylvania

Post by draegohn » Sat Jun 16, 2007 10:58 am

hehe, thats ok if you can't remember that date, zombs. and yes, it is totally kickass! thank you for the answer to that second question :}

User avatar
airrrr man
Staff Sergeant
Staff Sergeant
Posts: 543
Joined: Sat Jun 17, 2006 3:46 pm
Location: The absolute best state of them all (New York)

Post by airrrr man » Sat Jun 16, 2007 11:03 am

draegohn wrote: i also had two questions about the server's past:

1. how long has the server been around? what i mean exactly is..when it was Joey's Invasion Server, when was it first online for the public?
around the beginning of 04
Hi.

User avatar
BaronVonRotterdam
UT2004 Server Admin
UT2004 Server Admin
Posts: 2603
Joined: Thu Feb 16, 2006 9:42 pm
Location: The Terrible State (New York)
Contact:

Post by BaronVonRotterdam » Sat Jun 16, 2007 10:51 pm

Aye Aye Joey,

I am on the forum everyday cleaning up the forum and everyday more garbage gets thrown at it :/. Its a great deal watching over a 335 user forum. Its like doing the dishes after dinner (which I do also) you clean up after dinner then the next day after dinner you clean them up again. Its like groundhog day. However I get the job done and I enjoy it so I guess its a win win situation.
| ASRock Fatal1ty X470 | AMD Ryzen 3700x @Stock | 32GB DDR4 3200 mHz | Zotac GeForce RTX 2060 Super | Dell S2417DG |

User avatar
+SaiN+
Specialist
Specialist
Posts: 103
Joined: Sun Mar 18, 2007 2:00 am
Location: New York City
Contact:

Post by +SaiN+ » Sun Jun 17, 2007 1:42 am

I hope my name is not a problem. :( My name has two +'s in it, so if I have to change it, I'll be happy to. I'm trying to get rid of the +'s in the first place, anyway.

Second of all.. What languages do you usually use to code the game? I'm curious. =)

Mystique
Corporal
Corporal
Posts: 170
Joined: Sun May 28, 2006 4:59 pm

Post by Mystique » Sun Jun 17, 2007 3:01 am

Wait, who is mystical and why haven't I met her?

User avatar
joeyz
BF2 & UT2004 Server Founder
Posts: 200
Joined: Fri Feb 17, 2006 4:44 pm

Post by joeyz » Sun Jun 17, 2007 8:14 am

ok, will try and answer all questions.

1. Sain, your name is ok at this time, don't worry too much about it.

2. Mystic, sorry for mis-naming you as Mystical. Oh by the way, I tagged your maps as DM-{AS} etc. AS is the code name for your original name when I met you, is that ok? Let me know if I missed any maps.

3. Suicide is not illegal, you can do it if you like, there is a penalty for suicding, in fact I think in all game types, ut deducts a small amount of points for suicides. As with other servers, i added the function that if a player suicides, he does not keep the weapon he was holding, so you lose your weps as a penalty for suiciding. I made it so that if you suicide with while having ghost, resurrect, retention or denial, it wont work. Why? cause to many players trying to exploit the feature of trying to get more artifacts. I was going to take suicide completly out but left it in because suicide is helpful if your in a glitch or have bad weapons. However, i did instruct admins to watch people who constantly suicide at the end of waves just to get extra wrenches and those who constantly try suicide and combo speed exploits. I you want to suicide, go for it. But if your suiciding constantly at every wave then your up to something no good and should be kicked. Because suicide and combo speed is being abused as an exploit, I am coding some more checks to where it cant be used as an exploit. in the meantime, admins are to watch for cheating behaivors.

4. Well, server has been around for 3 years or so.

5. Airrr_man, your close, Weapons Of Power and Power Ups have actually been around longer than you think.

6. History of Powerups and Weapons of Power (aka WOP). Who made weapons of power and powerups??? Well, Epic made the powerups. Take a look at Epic's code, powerups have been around for the past 17 years (since UT99). It started with weapon and ammo pickups to health and double damage powerups and so on. These powerups modified the player's weapon type, health, damage, shield etc.

About 5 years ago (UT2003), Mystical (the Invasion Role Playing Game (RPG) master mind) started RPG and launched the concept of Weapons Of Power (WOP). He randomly modified the weapon's power (ie; Flak Cannon +3, LinkGun +2 and so on). This is why on server across the community you here players say, "I have a flak power +5". Which means that players Weapon is Flak Cannon and is Of Power +5). Techincally, since Mystical created the Weapons Of Power concept and works for EPIC, its probably safe to say that EPIC created Weapons Of Power (WOP). During that time period (while all servers were running RPG (Weapons Of Power)), Wormbo, Mr.Pants, MadNad worked on "Excessive Weapons". I guess this was pretty much a continuation of the Weapons Of Power concept. They created weapon powerup artifacts which allows you further upgrade/modify the player's weapon of power (ie; Flak Cannon +2 to Flak Cannon +3 and so on). Not only you get a random weapon of power in RPG but now you also had powerups on the map to further increase its power. Do a search online and find "ExcessiveWeapons_v301" and analyze the code. You will find two classes "WeaponPowerPickupEX.uc" and "WeaponPowerUpEX.uc" during UT2003. (I added their sample code to the bottom section of this thread so you can see.) This is basically when Power Ups (aka PU) for was born to modify the player's weapon of power (WOP).

About 3 years ago (when UT2004 came out), people continued enhancing Mystical's RPG, its weapon of power, power ups, and artifacts. 75% of the code today is pretty much just re-used code. In the past 3 years, I have heard over 5 different people who claim to be the creator. For anyone (other than Mystical) who claim they are the creators of weapon of power is wrong. It always existed in RPG. However, those enhancing RPG weapons (powers), creating artifacts, adding hud displays deserve additional credit.

======= Modifiers/Powerups UT 99 ========
UT99 Developers
EPIC Games
Player Modifiers/Powerups is born!

====== Weapon Of Power - UT2003 ==========
Mystical UT2003RPG
EPIC Games
Weapon Of Power is born!

====== Weapons Of Power Power Ups - UT2003 =======
Mr.Pants
Excessive Overkill for UT2003
Weapon Of Power Artifacts is born!

------------------------------ Sample Code -----------------------------------

class WeaponPowerPickupEX extends TournamentPickUp;

#exec AUDIO IMPORT FILE="..\ExcessiveV301\Sounds\NewOverkill4.WAV" NAME=OverKill GROUP=Sounds

var sound WeaponFullSound;

function PostBeginPlay()
{
Super.PostBeginPlay();
//log ("Spawned Weapon Power Pickup");
}

/* DetourWeight()
value of this path to take a quick detour (usually 0, used when on route to distant objective, but want to grab inventory for example)
*/
function float DetourWeight(Pawn Other,float PathWeight)
{
return MaxDesireability;
}

event float BotDesireability(Pawn Bot)
{
return MaxDesireability;
}

function inventory SpawnCopy( pawn Other )
{
local inventory Copy;

if ( Inventory != None )
{
Copy = Inventory;
Inventory = None;
}
else
Copy = spawn(InventoryType,Other,,,rot(0,0,0));

If ( Copy != None )
{
Copy.GiveTo( Other, self );
return Copy;
}
}

auto state Pickup
{
function Touch( actor Other )
{
local Inventory weaponUp;
local Weapon UpgradeWeapon;
local Pawn P;

if ( ValidTouch(Other) )
{
P = Pawn(Other);
UpgradeWeapon=P.Weapon;
weaponUp=P.FindInventoryType( class'WeaponPowerUpEX' );

if ( UpgradeWeapon.isA('AssaultRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).AssaultPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).AssaultPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('BioRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).BioPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).BioPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('ShockRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).ShockPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).ShockPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('LinkGunEX') )
{
if ( WeaponPowerUpEX(WeaponUp).LinkPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).LinkPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('MiniGunEX') )
{
if ( WeaponPowerUpEX(WeaponUp).MiniPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).MiniPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('FlakCannonEX') )
{
if ( WeaponPowerUpEX(WeaponUp).FlakPowerLevel < 2 )
{ if (WeaponPowerUpEX(WeaponUp).FlakPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('RocketLauncherEX') )
{
if ( WeaponPowerUpEX(WeaponUp).RocketPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).RocketPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('SniperRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).SniperPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).SniperPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('ONSMineLayerEX') )
{
if ( WeaponPowerUpEX(WeaponUp).MinePowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).MinePowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('ClassicSniperRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).ClassicSniperPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).ClassicSniperPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('ONSGrenadeLauncherEX') )
{
if ( WeaponPowerUpEX(WeaponUp).GrenadePowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).GrenadePowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('ONSAvrilEX') )
{
if ( WeaponPowerUpEX(WeaponUp).AvrilPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).AvrilPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 1);

}
}

}
State FadeOut
{

function Touch( actor Other )
{
local Inventory weaponUp;
local Weapon UpgradeWeapon;
local Pawn P;

if ( ValidTouch(Other) )
{
P = Pawn(Other);
UpgradeWeapon=P.Weapon;
weaponUp=P.FindInventoryType( class'WeaponPowerUpEX' );
if ( UpgradeWeapon.isA('AssaultRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).AssaultPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).AssaultPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('BioRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).BioPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).BioPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('ShockRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).ShockPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).ShockPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('LinkGunEX') )
{
if ( WeaponPowerUpEX(WeaponUp).LinkPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).LinkPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('MiniGunEX') )
{
if ( WeaponPowerUpEX(WeaponUp).MiniPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).MiniPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('FlakCannonEX') )
{
if ( WeaponPowerUpEX(WeaponUp).FlakPowerLevel < 2 )
{ if (WeaponPowerUpEX(WeaponUp).FlakPowerLevel == 1 && P.Controller != None)
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else if ( UpgradeWeapon.isA('RocketLauncherEX') )
{
if ( WeaponPowerUpEX(WeaponUp).RocketPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).RocketPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}

else if ( UpgradeWeapon.isA('SniperRifleEX') )
{
if ( WeaponPowerUpEX(WeaponUp).SniperPowerLevel < 2 )
{
if (WeaponPowerUpEX(WeaponUp).SniperPowerLevel == 1 && P.Controller != None )
PlayerController(P.Controller).ClientPlaySound(WeaponFullSound);
WeaponPowerUpEX(WeaponUp).PowerUpWeapon(P);
AnnouncePickup(P);
SetRespawn();
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 0);
}
else
P.ReceiveLocalizedMessage(class'ExcessiveMessage', 1);

}
}
}

defaultproperties
{
WeaponFullSound=Sound'ExcessiveV301.Sounds.OverKill'
MaxDesireability=1.000000
RespawnTime=30.000000
PickupMessage="Weapon Upgrade "
PickupSound=Sound'PickupSounds.SniperRiflePickup'
PickupForce="AdrenelinPickup"
DrawType=DT_StaticMesh
StaticMesh=StaticMesh'E_Pickups.BombBall.BombRing'
Physics=PHYS_Rotating
AmbientGlow=255
ScaleGlow=0.600000
Style=STY_AlphaZ
CollisionRadius=32.000000
CollisionHeight=32.000000
Mass=10.000000
RotationRate=(Yaw=24000)
}

==========================
Mr.Pants' Excessive Overkill for UT2003
==========================
class WeaponPowerUpEX extends Inventory

var bool bFirstPickup;
var bool bRoundOver;
var int RocketPowerLevel,
FlakPowerLevel,
AssaultPowerLevel,
BioPowerLevel,
LinkPowerLevel,
MiniPowerLevel,
ShockPowerLevel,
SniperPowerLevel,
MinePowerLevel,
GrenadePowerLevel,
ClassicSniperPowerLevel,
AvrilPowerLevel;

function Destroyed()
{
local Vector SpawnLocation;
local Pickup PowerUPEX;

if (Level != None && !Level.bDeleteme && !level.game.bGameEnded && Pawn(Owner) != None && Level != None && Level.Game != None && !Level.Game.bGameEnded /*&& Pawn(Owner).Controller != None && !Pawn(Owner).Controller.IsInState('GameEnded')*/)
PowerUpEX=spawn(class'WeaponPowerPickupEX',,,Pawn(owner).Location+SpawnLocation);

if ( PowerUpEX != None )
{
PowerUpEX.InitDroppedPickupFor(self);
PowerUpEX.Velocity = vect(0,0,200);
}
//Velocity = vect(0,0,0);

// Remove from owner's inventory.
super.Destroyed();
}

// Give this inventory item to a pawn.
function GiveTo( pawn Other, optional Pickup Pickup )
{
Instigator = Other;
if ( Other.AddInventory( Self ) )
GotoState('');
else
Destroy();

if (!bFirstPickup && bCanWeaponUp(Other.Weapon))
PowerUpWeapon(Other);

bFirstPickup=False;
}

function bool bCanWeaponUp(Weapon WeaponCheck)
{
return true;// Check to make sure we can power up this weapon
}

function PowerUpWeapon(Pawn Other)
{
local Weapon UpgradeWeapon;

UpgradeWeapon=Other.Weapon;

if ( UpgradeWeapon.isa('AssaultRifleEX') )
{
AssaultRifleEX(UpgradeWeapon).ServerSetWeaponLevel();
AssaultPowerLevel++;
}

else if ( UpgradeWeapon.isa('BioRifleEX') )
{
BioRifleEX(UpgradeWeapon).ServerSetWeaponLevel();
BioPowerLevel++;
}
else if ( UpgradeWeapon.isa('ShockRifleEX') )
{
ShockRifleEX(UpgradeWeapon).ServerSetWeaponLevel();
ShockPowerLevel++;
}
else if ( UpgradeWeapon.isa('LinkGunEX') )
{
LinkGunEX(UpgradeWeapon).ServerSetWeaponLevel();
LinkPowerLevel++;
}
else if ( UpgradeWeapon.isa('MiniGunEX') )
{
MiniGunEX(UpgradeWeapon).ServerSetWeaponLevel();
MiniPowerLevel++;
}
else if ( UpgradeWeapon.isa('FlakCannonEX') )
{
FlakCannonEX(UpgradeWeapon).ServerSetWeaponLevel();
FlakPowerLevel++;
}

else if ( UpgradeWeapon.isa('RocketLauncherEX') )
{
RocketLauncherEX(UpgradeWeapon).ServerSetWeaponLevel();
RocketPowerLevel++;
}
else if ( UpgradeWeapon.isa('SniperRifleEX') )
{
SniperRifleEX(UpgradeWeapon).ServerSetWeaponLevel();
SniperPowerLevel++;
}
else if ( UpgradeWeapon.isa('ONSMineLayerEX') )
{
ONSMineLayerEX(UpgradeWeapon).ServerSetWeaponLevel();
MinePowerLevel++;
}
else if ( UpgradeWeapon.isa('ONSGrenadeLauncherEX') )
{
ONSGrenadeLauncherEX(UpgradeWeapon).ServerSetWeaponLevel();
GrenadePowerLevel++;
}
else if ( UpgradeWeapon.isa('ONSAvrilEx') )
{
ONSAvrilEx(UpgradeWeapon).ServerSetWeaponLevel();
AvrilPowerLevel++;
}
else if ( UpgradeWeapon.isa('ClassicSniperRifleEX') )
{
ClassicSniperRifleEX(UpgradeWeapon).ServerSetWeaponLevel();
ClassicSniperPowerLevel++;
}


}

function SetRespawn()
{
Destroy();
}

defaultproperties
{
bFirstPickup=True
}
Flak of Power +10 [Powerups: 3 Sturdy, 2 infs, 1 Healing, 1 Vorpal, 1 Lucky, 1 Poison 5x, 1 Protection 5x, 1 Retaliation x5, 1 Retention, 1 Super Force, 2 Speed 5x, 2 Damage 5x, 2 Energy 5x, 1 Penetrating, 1 Razorbomb]

User avatar
TheSynGame
Master Sergeant
Master Sergeant
Posts: 823
Joined: Wed Apr 19, 2006 3:12 pm

Post by TheSynGame » Sun Jun 17, 2007 10:32 am

Joey when you put a block on res/ghost you basically took out the speed glitch.

I only suicide for 3 reasons.

a) If I'm stuck
b) If I want to build up my weap to a 10.
c) If I want to hold a gold wrench since I already used it on one.

It's not really exploiting anything UNLESS there something else wrong where someone gets it randomly without dying or if they ressed.

I still don't see the problem in suiciding. Losing weapons from it is pretty low even for you.
Image

Post Reply

Return to “UT2004 General Discussion”