[Logo]
 
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: {RAD}Raze2K5  XML
Profile for {RAD}Raze2K5 -> Messages posted by {RAD}Raze2K5 [76] Go to Page: Previous  1, 2, 3, 4, 5, 6 Next 
Author Message
Fixed! here the working code for allowing a different class to select a skill, but not at the max of the original class:

Code:
class RADLoaded extends DruidLoaded
 	config(UT2004RPG) 
 	abstract;
 
 static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
 {
 	local int x;
 	local bool ok;
 
 	for (x = 0; x < Data.Abilities.length && !ok; x++)
 		if(Data.Abilities[x] == class'ClassWeaponsMaster' || Data.Abilities[x] == class'ClassRADsJackOfAll')
 			ok = true;
 
 	if(!ok)
 	{
 		if(CurrentLevel > 0)
 			log("Warning:"@data.Name@"has"@default.class@"Level"@CurrentLevel@"but does not have an associated Class to allow them to purchase it");
 		return 0;
 	}
 
 	if(Data.Level < default.MinLev2 && CurrentLevel > 0)
 		return 0;
 	if(Data.Level < default.MinLev3 && CurrentLevel > 1)
 		return 0;
 	if(CurrentLevel == 0)
 		return Super(RPGAbility).Cost(Data, CurrentLevel);
 
 	if(CurrentLevel == 1)
 	{
 		for (x = 0; x < Data.Abilities.length; x++)
 			if(Data.Abilities[x] == class'ClassWeaponsMaster' || Data.Abilities[x] == class'ClassRADsJackOfAll')
 			{
 				if(Data.Level >= default.MinLev2)
 					return Super(RPGAbility).Cost(Data, CurrentLevel);
 			}
 	}
 	if(CurrentLevel >= 2)
 	{
 		for (x = 0; x < Data.Abilities.length; x++)
 			if(Data.Abilities[x] == class'ClassWeaponsMaster')
 				if(Data.Level >= default.MinLev3)
 					return Super(RPGAbility).Cost(Data, CurrentLevel);
 	}
 }
 
 defaultproperties
 {
      Description="When you spawnLevel 1: You are granted all regular weapons with the default percentage chance for magic weapons.|Level 2: You are granted onslaught weapons and all weapons with max ammo. This is the max level for a Jack-of-all-Trades.|Level 3: You are granted super weapons (Invasion game types only).|Level 4: Magic weapons will be generated for all your weapons.|Level 5: You receive all positive magic weapons.|You must be a Weapons Master or Jack-of-All-Trades to purchase this skill.|You must be level 40 before you can buy level 2 and level 55 before you can buy level 3.|Cost (per level): 10,15,20,25,30"
 }


Hope this helps someone Thanks for the write up, dru, can't wait to finish the rest!

Disiple wrote:
what u mean by jack of all trades ? Are you going to have more classes then dc? 


"Class: Jack-of-All-Trades"
Description: "This class allows you to pick nearly all abilities, but master none of them. You will only be able to learn AT BEST two-thirds of the actual mastery for class-specific skills."

no, DC has Monster Master/Medic, Adreneline Master, Weapons Master, and Engineer.

So my server will have 4, DC will have 4. when i finish mine, i will test it thoroughly for balance, then submit it to the forum for review and people can install it at their discretion.
dc doesn't impliment it, but using Obscenery's Extreme Invasion you can specify to have 1 super monster spawn in any wave (usually the last wave, since it's supposed to be a boss)... as much health, speed, size, and damage as you want... I'll be adding a gametype for the elite RPG players on my server called "RPG Impossible" once i get my Jack-Of-All-Trades class working >
fail

It downloaded and loaded up just fine, and i got my stats removed the way it should be handled by RPG, and it refunded my points...

BUT... I can't select any of my skills as a weapon master can someone help me with by lending another set of eyes, and a sharp mind? in it's entirety, this is the final code i have for, as one example, Loaded Weapons:

Code:
class RADLoaded extends DruidLoaded
 	config(UT2004RPG) 
 	abstract;
 
 static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
 {
 	local int x;
 	local int rv;
 	local bool ok;
 
 	for (x = 0; x < Data.Abilities.length && !ok; x++)
 		if ((Data.Abilities[x] == class'ClassWeaponsMaster') || (Data.Abilities[x] == class'ClassRADsJackOfAll'))
 			ok = true;
 
 	if(Data.Level < default.MinLev2 && CurrentLevel > 0)
 		return 0;
 	if(Data.Level < default.MinLev3 && CurrentLevel > 1)
 		return 0;
 	if(CurrentLevel <= 1) //1 LESS THAN LEVEL CUTOFF FOR JACKOFALL CLASS
 		rv = class'RPGAbility'.static.Cost(Data, CurrentLevel);
 
 	if(Data.Level >= default.MinLev1) && (CurrentLevel >= 2)) //1 HIGHER THAN ABOVE, THIS IS WHERE THE DETERMINATION FOR CHARACTER CLASSES COMES IN
 	{
 		for (x = 0; x < Data.Abilities.length && !ok; x++)
 			if (Data.Abilities[x] == class'ClassWeaponsMaster')
 				rv = class'RPGAbility'.static.Cost(Data, CurrentLevel);
 	}
 	if(rv > 0)
 	{
 		if(!ok)
 		{
 			if(CurrentLevel > 0)
 				log("Warning:"@data.Name@"has"@default.class@"Level"@CurrentLevel@"but does not have an associated Class to allow them to purchase it");
 			return 0;
 		}
 		else
 			return rv;
 	}
 	return 0;
 }
 
 defaultproperties
 {
      Description="When you spawnLevel 1: You are granted all regular weapons with the default percentage chance for magic weapons.|Level 2: You are granted onslaught weapons and all weapons with max ammo. This is the max level for a Jack-of-all-Trades.|Level 3: You are granted super weapons (Invasion game types only).|Level 4: Magic weapons will be generated for all your weapons.|Level 5: You receive all positive magic weapons.|You must be a Weapons Master or Jack-of-All-Trades to purchase this skill.|You must be level 40 before you can buy level 2 and level 55 before you can buy level 3.|Cost (per level): 10,15,20,25,30"
 }
ok after compiling, I've received 37 warnings... seems like a lot

they all look similar to this:

Parsing RADAdrenalineSurge
C:\Unreal Anthology\UT2004\JackOfAll\Classes\RADAdrenalineSurge.uc(5) : Warning, 'AdjustableStartingCost' obscures 'AdjustableStartingCost' defined in base class 'DruidAdrenalineSurge'.
C:\Unreal Anthology\UT2004\JackOfAll\Classes\RADAdrenalineSurge.uc(5) : Warning, 'AdjustableCostAddPerLevel' obscures 'AdjustableCostAddPerLevel' defined in base class 'DruidAdrenalineSurge'.

etc etc... do I have to change that information just as i did for

Super.Cost(Data, CurrentLevel)

which was changed, as per the thread, to

class'RPGAbility'.Static.Cost(Data, CurrentLevel)

or do i want these obscurities to occur... ?

EDIT: nevermind... forgot to remove all the extra called variables... since I'm extending, they inherit all of the parent's properties, and there was no need to re-define variables except within a struct itself...

0 errors, 0 warnings... time to TEST!!

Szlat wrote:
As far as I know, RPGAbility does not have a property RequiredLevel. So you will need to declare it, and set a default value in defaultproperties, so that default.RequiredLevel works.
If you made it a config variable, then admins could change the required minimum level in the ini file.

It looks like it is close to working.
JackofAll should be able to buy levels 1 to 3.
However, I am not sure that WeaponMasters will be able to buy all the levels.

The second loop looks a bit wrong.
When it starts, ok will be true, so !ok is false, so the loop immediately terminates.
And if it did go, if there was another ability after ClassWeaponMaster (or ClassORIGINAL as it now is) it would reset rv = 0.  


oops I apologize, the code I posted was for my extension to AbilityEnhancedReduction, which defines that variable within the class itself... i DO understand what you're saying, though, and am VERY glad you pointed that out, because even though I was manually checking the conditions in each extended class, i didn't pay attention to what variables were called...

Thanks a bunch! I just finished extending the last class, so... time to package it up and see how it goes... ::crosses fingers::

Szlat wrote:
I have never seen anyone putting an if statement in the defaultproperties section. I don't think you can.
So, you have to do it as in DruidNoWeaponDrop. The Cost function returns 0 if you cannot buy the next level, >0 as the cost for a valid purchase.
So, if the player in this case has the ClassMonsterMaster ability, then return the correct cost. If the player has ClassJackofallTrades, then return the correct cost up to level 13, then return 0. For all other classes, return 0 


Thank you for the quick reply... I'm in the process of redoing my changes then (following DruidNoWeaponDrop as the example)... I figured it wouldn't work because it looked like the "defaultproperties" section was declaring constants, and extending would just amend an existing constant by way of replacement for the exact constant, not by statement... if that makes sense...

so here's what I've got (it's a template... classORIGINAL is replaced with the original master class, and the #'s are replaced with the skill level set for the JoAT):

Code:
static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
 {
 	local int x;
 	local int rv;
 	local bool ok;
 
 	for (x = 0; x < Data.Abilities.length && !ok; x++)
 		if (Data.Abilities[x] == class'ClassWeaponsMaster' || Data.Abilities[x] == class'ClassJackOfAll')
 			ok = true;
 	
 	if(Data.Level < (default.RequiredLevel + CurrentLevel))
 		return 0;
 	if((Data.Level >= (default.RequiredLevel + CurrentLevel)) && (CurrentLevel <= #)) //1 LESS THAN LEVEL CUTOFF FOR JACKOFALL CLASS, it checks the current skill level then determines whether to allow next level or not
 		rv = Super.Cost(Data, CurrentLevel);
 	if((Data.Level >= (default.RequiredLevel + CurrentLevel)) && (CurrentLevel >= #)) //1 HIGHER THAN ABOVE, THIS IS WHERE THE DETERMINATION FOR CHARACTER CLASSES COMES IN
 	{
 		for (x = 0; x < Data.Abilities.length && !ok; x++)
 			if (Data.Abilities[x] == class'ClassORIGINAL')
 				rv = Super.Cost(Data, CurrentLevel);
 			else
 				rv = 0;
 	}
 	if(rv > 0)
 	{
 		if(!ok)
 		{
 			if(CurrentLevel > 0)
 				log("Warning:"@data.Name@"has"@default.class@"Level"@CurrentLevel@"but does not have an associated Class to allow them to purchase it");
 			return 0;
 		}
 		else
 			return rv;
 	}
 	return 0;
 }


it seems as thouugh DruidNoWeaponDrop deals with "Super.Cost(Data, Current Level)" so this being my first was a bit difficult to follow (haven't coded in years)... dunno if that'll work yet, but here's hoping :} if it does, the rest should be cake o_O
quick question... I'm attempting to create my own character class called the "Jack of All Trades" (master of none, of course) and am extending ALL abilities to allow this character to be able to select the ability, as well as the original default character...

the catch is that my class won't be able to max any of the abilities, where as the original class WILL be able to... so instead of basically stealing all your code and doubling the length of the the in-game skills list, I've decided to extend the skills... ALL of them... and I'm using an if/else statement to attempt to achieve the result I'm looking for, but don't know if I need to terminate the return string with a semi colon...

I'm inside my first modified class (MyAbilityMonsterPoints)... should it look like THIS?
Code:
defaultproperties
 {
      AbilityName="Monster Points"
      Description="Allows you to summon monsters with the loaded monsters skill. (Max Level: 20, 13 for JoAT)|You must be a Monster Master or Jack-of-All-Trades to purchase this skill.|Cost (per level): 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21"
      StartingCost=2
      CostAddPerLevel=1
 	if(Data.Abilities[x] == class'ClassMonsterMaster')
 	     MaxLevel=20
 	else
 	     MaxLevel=13
 }


or should it look like THIS?

Code:
defaultproperties
 {
      AbilityName="Monster Points"
      Description="Allows you to summon monsters with the loaded monsters skill. (Max Level: 20, 13 for JoAT)|You must be a Monster Master or Jack-of-All-Trades to purchase this skill.|Cost (per level): 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21"
      StartingCost=2
      CostAddPerLevel=1
 	if(Data.Abilities[x] == class'ClassMonsterMaster')
 	     MaxLevel=20; //note how i added a semi-colon! ^^
 	else
 	     MaxLevel=13; //here too! ^^
 }


thanks

NOTE TO SELF: DruidNoWeaponDrop may have the fix for seperating skill selection by class if current method doesn't work
My apologies... i guess i didn't realize the mutator pushed packages differently than UT2Vote (don't mean to keep bringing that system up, i know you dislike it <3 )

I cleared my UT2K4 cache and went to the server, and UT2Vote loaded up the mutators into UT2004.ini that always load, and even though the packages in MutatorConfig.ini didn't show up in the UT2004.ini file, they still pushed through... it even seems to have helped with my redirect problem... thanks so much dru, dunno how you did it, but you're awesome <3
sorry to revive such an old post, but...

the mutator was working fine until I decided to try to switch game types... now it's not unloading my other packages

do I need to put it into the voting config for UT2Vote? cuz that's what I've done, and I've defined each game type in MutatorConfigs.ini like so:

Code:
[XGame.xVehicleCTFGame MutatorConfig]
 
 [SkillTrials.ASGameInfo MutatorConfig]
 
 [PvPTDM.xTeamGame MutatorConfig]
 Mutator=Class'VasOnFirev1x21.VasOnFireMutator'
 Mutator=Class'utcompv17a.MutUTComp'
 DownloadPackage="VasOnFirev1x21"
 DownloadPackage="utcompv17a"
 
 [PvPiTDM.xTeamGame MutatorConfig]
 Mutator=Class'VasOnFirev1x21.VasOnFireMutator'
 Mutator=Class'utcompv17a.MutUTComp'
 Mutator=Class'XGame.MutZoomInstaGib'
 DownloadPackage="VasOnFirev1x21"
 DownloadPackage="utcompv17a"


Is this how to blank them out? What am I doing wrong lol
I'm member #197 and nobody really knows me, but i like this thread, so I'll post anyway...



No photoshop required




gangsta's don't smile o_O




one of my favorites




my post workout pic




Going to work




Going to work it




aaand Halloween '07...



There, i think I covered all the angles >,> ... Sorry I'm a picture maniac tonight

Chameleon wrote:

Grizzled_Imposter wrote:
yes> PS3 comes with wireless.

In fact, even if you hard wire your PS 3 you can use your PSP with it wirelessley.  


So, you don't have any problems getting your PSP connected to your PS3? I don't have wireless networking on my PS3 or on my home network. I tried connecting a couple times via the internet following the instructions, but it doesn't work. Is it really even worth it?
 


probably couldn't connect to it because of a router's firewall... do you run a router in your home?? o_O

Disiple wrote:
just want to say that i had to reset my modem now every thing is fine.
2642downalod and 512 upload. THis seem to have fix everything, Thank you again for your help
 


Glad I could be of some us after 3 years of inactivity on the forum...

if your modem constantly makes the signal degrade, you could be experincing bad line quality, or your modem may need to be replaced. Keep this in mind, should the issue crop up again.

As for now, it looks like your line is a 3Mb down/512Kb up... congrats, and good luck
Rockband...

and to those that haven't played it, you have to play it WITH OTHERS to really enjoy it... I agree it can be irritating to hear the drums over and over when you're not playing, but being behind a guitar, bass, drums, or mic is really exhilerating... i had my 23rd birthday 2 weeks ago and we threw a party, had DDR with 4000+ available songs with 2 metal arcade pads and 2 high-quality foam pads... Guitar Hero 2 and 3, and Rockband... we spent an hour total on DDR and GH2/3 altogether... and 5 hours on rockband...

it can include more people, there's more variety, and the way it feels to pull a song off when you're relying on the other 3 pieces of a 4-person puzzle to due justice to the song at hand...

in short... Rockband > Guitar Hero 1/2/3... although in innovation, Guitar Hero wins hands down

Spike wrote:
It was very disappointing that the Xbox360 did not include wireless - what were they thinking? (well, they were thinking they could make more $$$ obviously, but still...) 


since the XBox 360 was developed and platformed by M$ (computer lingo for Micro$oft), they decided not to include wireless for reasons unknown... HOWEVER, i conclude that they didn't include it because:

1.) Anybody manufacturing devices for the 360 has to have permission from M$ to do so, and they can obtain permission by buying a license from them.. these licenses usually go for 6 months to 2 years, depending on how much the company is willing to fork up... usually they'll do 6 months, and if their peripherals start bringing in profit, they'll renew the license for a longer period... once their license expires, that company is no longer allowed to manufacture peripherals for M$

2.) M$ also manufactures these devices on their own, bringing in a direct profit over the cost to manufacture the devices... they figured they wouldn't include it now, so that they could sucker you into spending more $$$ on expenses that weren't seen at the time of purchase for the actual 360 itself... that's why monkeys at circus city and bad buy are trained to sell you peripherals all the time... that's how most companies that sell major electronics will wind up making cash... they sell their computers at cost, and screw you with peripheral prices (especially cables)

3.) History shows that a company will sometimes intentionally leave out features so that they can make a revision later with 'enhanced functionality' in order to reap more of a profit... a good example right now is the iPhone, with them considering incorporating 3G (a technology that's been around, but was intentionally excluded from the iPhone).. it wasn't a matter of not being able to fit the technology in, or the technology not being available... it's just a sign of foresite on future profits...

Business is an interesting venture.. I'll be starting mine here within the next few weeks... we'll see how it goes
 
Profile for {RAD}Raze2K5 -> Messages posted by {RAD}Raze2K5 [76] Go to Page: Previous  1, 2, 3, 4, 5, 6 Next 
Go to:   
Powered by JForum 2.1.7 © JForum Team