PDA

View Full Version : Addon adjustment: Custom Celebration Lines


Jrubzjeknf
3rd Aug 2004, 06:53 AM
The celebration lines that show up in the celebration screen, are fun to look at, but after a few games on the net, I sometimes get a little tired of the "That guy says don't do the crime if you can't do the time". My suggestion is that there should be an option and a textbar in the Celebration Addon screen, where you can type your own celebration line (burn, Burn, BURN!!!!) and the option for whether or not using it (Turn custom celebration lines on)

What do you think of it?

The_Head
3rd Aug 2004, 07:12 AM
I like it. Great Idea. For people who can't be bothered to type you could have some built in taunts.

Jrubzjeknf
3rd Aug 2004, 08:52 AM
those taunts are already in there.....(%P thightened security on the red team). Bots will use those, not the custom ones. Those are for the human players only

tarquin
3rd Aug 2004, 09:14 AM
Yeah, nice idea :)

The_Head
3rd Aug 2004, 09:24 AM
Nova^ I didn't say it was a bad idea mate. Its a sweet idea. I'm just saying having some more built in ones would also be nice.

Jrubzjeknf
3rd Aug 2004, 09:54 AM
I think the built in ones are good as they are, you shouldn't have 'burn, Burn, BURN!!!' or something like that as a default. If you want something else, you gotta make up your own. Only dunno whether you should have one field or three, but one field has the advantage that it's easier to use (it doesn't have to randomize) and it identifies you more as a human player

Jrubzjeknf
8th Aug 2004, 07:17 AM
*bump

RabidZombie
8th Aug 2004, 01:14 PM
What whould happen if you kill yourself? Who would make the messege? Maybie the peeson with the most points on the other team

Jrubzjeknf
8th Aug 2004, 02:32 PM
no, then it just shows up as default (Player didn't read the 'aim away from the face'-label). I'd just insert 1 textbox in the addon where you can type your celebration message and one checkbox to check whether or not you wanna use it. Bots will use defaults.

Jrubzjeknf
13th Aug 2004, 11:08 AM
Is there a way to decompile the .u files using UCC? Or is there another way? I'd really like to take a look at the code of JBAddonCelebrationScreen, and see what I can do with it...

**EDIT**(ucc batchexport?)

Mychaeel
13th Aug 2004, 11:13 AM
Open the .u file in UnrealEd and use the actor browser to browse to the class whose source code you want to view; double-click the class to open a source code window.

Jrubzjeknf
13th Aug 2004, 11:49 AM
tried that before, nothing was added to the actor browser. But I'll try again and let you know whether it worked or not. Thanks anyway :)

Mychaeel
13th Aug 2004, 11:56 AM
You'll have to uncheck both the "Use 'Actor' as parent?" and "Placeable classes Only?" checkboxes to have the classes show up.

Jrubzjeknf
13th Aug 2004, 12:06 PM
o....ok ^^ TY!!

Jrubzjeknf
13th Aug 2004, 12:30 PM
Nope, it doesn't work. I opened UEd, opened actor classes, deselected both checkboxes, clicked on the foldericon to open JBaddoncelebration and NOTHING HAPPENED. Nothing was added at all. I tried to open AngelItenPhysics as well, and again, nothing happened. When I try to open it, I first have to unfold the Object thingy (I'm dutch ;)) and when I scroll down, there are four things that start with JB, it mainly has to do with the cameras that can follow a player. But I cannot open any other actor class that doesn't show up in the actor browser by default for some reason. Any ideas?

TheSpoonDog
13th Aug 2004, 11:51 PM
Uncheck "Placeable classes only" but leave "use actor as parent" checked, then go down and expand info > mutator > JBAddon > JBAddonCelebration, right click > edit script :)

TheForgotten
14th Aug 2004, 01:03 AM
Is there a way to decompile the .u files using UCC? Or is there another way? I'd really like to take a look at the code of JBAddonCelebrationScreen, and see what I can do with it...

**EDIT**(ucc batchexport?)

ucc batchexport JBAddonCelebrationScreen.u class .uc MyDirectory

unreal wiki has a good discription of batchexport

Jrubzjeknf
14th Aug 2004, 03:40 AM
Spoon: TY!

Forgotten: TY also! But already figured that out by typing UCC HELP in command :D

Mychaeel
15th Aug 2004, 09:17 AM
Nope, it doesn't work. I opened UEd, opened actor classes, deselected both checkboxes, clicked on the foldericon to open JBaddoncelebration and NOTHING HAPPENED. Nothing was added at all. I tried to open AngelItenPhysics as well, and again, nothing happened.
From what you're writing it seems that you expect the loaded classes to show up somewhere on the top level of the class tree; but that, of course, isn't the case -- loaded classes are added below their parent classes in the class tree. See Unreal Wiki: OOP (http://wiki.beyondunreal.com/wiki/OOP) if you're new to object-oriented programming and class hierarchies.

The JBCamControllerX classes only are listed immediately below Object because they're directly derived from it. JBAddonCelebration, on the other hand, is derived from JBAddon which is a subclass of Mutator which is a subclass of Info which is a subclass of Actor, so you'll have to look for it in Actor -> Info -> Mutator -> JBAddon, not directly below Object.

Jrubzjeknf
15th Aug 2004, 10:05 AM
thx mychaeel. Indeed new to coding with Unreal Engine (have done lotsa coding in VB). I'll check out what you said asap

Jrubzjeknf
15th Aug 2004, 10:09 AM
wrong thread :B

/guess I bump :D

Jrubzjeknf
4th Sep 2004, 03:36 AM
guys, I got one prob and one question. First, the GUI is getting along good (have a pretty moEditBox ^^). Thinking of making a toolbutton (press it to get a list of things, like %p is the player's name) and a preview button (when pressed a boolvar is set to 1 and a black beam with the current text, when the preview button is pressed again or has lost it's focus, the beam with text disappears again).

Now my prob: The static.SaveStatic() doesn't seem to work. Each time I insert something and leave or launch Jailbreak and then return to the addons, my text is always resetted. I compared it to other code and everything seems to be fine. What am I doing wrong?

Then my question: What should I do: replace the celebration addon with a new one or let it intergrate with the current one? Replacing could make servers uncompatible with the clients. Adding it could mess some things up (dunno how, but everything that can go wrong, will go wrong ;)). Adding a seperate addon which contains everything the original celebration has, could mess up things when they're both selected. Discuss plz, then I know what to do next :)

TheForgotten
4th Sep 2004, 07:52 AM
First Prob:
Sounds like your variables and/or class arn't declared with config.
try
class JBAddonBlah extends JBAddon config;
and
var config string blah;

second prob:
keep the group name the same in your addon default properties as JBAddonCelebration (ie GroupName="Celebration") and you shouldn't be able to select both - I would call it somthing like JBAddonCelebrationAdvanced, but thats just me.

Hope this helps but, I'm not part of the jailbreak team, so if they say something different - listen to them.

Jrubzjeknf
4th Sep 2004, 02:05 PM
will try, thx for the info :)

RabidZombie
5th Sep 2004, 02:51 AM
Well i tihnk one way for the compatiblity (between clients and server) would be to make either a new one which only works if another addon is selected OR make the change and the jb team release your version, from my view i dont hink there is another way

Jrubzjeknf
5th Sep 2004, 05:03 AM
my addon could only work with original celebration selected, so that'll be ok I guess...

Jrubzjeknf
5th Sep 2004, 08:01 AM
I'm trying to prevent people from using words like f@gg0t, but detecting them is pretty hard. I already made it easier by setting 1337speak to normal letters, but capitals are a bigger prob. f@gg0t and F@gg0t are not the same according to UnrealScript. That's why I wanted to call Lower(); (http://wiki.beyondunreal.com/wiki/Useful_String_Functions) , but for some reason I get 'Error: Bad or missing parameter 1'. Instead of Text I'm using TempText, which is created in JBAddonCelebv2 with var() string TempTextLower() is called In JBAddonGUIConfigCelebv2, in function ChangeOption(). How do I fix this?

Mychaeel
5th Sep 2004, 11:13 AM
There's no "Lower" function in UnrealScript (though one called "Locs"), and if there was one, it'd certainly require the text to be lower-cased as parameter 1.

If you just want to compare two strings case-insensitively, use the "~=" operator instead of the "==" operator.

Jrubzjeknf
5th Sep 2004, 12:07 PM
ok. But I also wanted to replace certain pieces of strings with starred out ones. The ReplaceText (out string Text, string Replace, string With) [static]
(http://wiki.beyondunreal.com/wiki/Global_Function) gives the same error as my last prob. Do you know how to do this one?

Jrubzjeknf
6th Sep 2004, 07:39 AM
anyone can gimme advise on this one?

Jrubzjeknf
10th Sep 2004, 02:02 PM
I'm starting to reach the end guys. I gotta have some help though. It's easy to swear using the Custom Celebration Lines, and I wanna prevent that. That's why I wanna ask you to write down as many foul words as you know at: http://uk.geocities.com/novaandco/CCL.htm. Have fun with it :D:tup:

The_Head
10th Sep 2004, 02:14 PM
you have to press sign guestbook to go to the bit where u type them in

Jrubzjeknf
10th Sep 2004, 03:38 PM
also mean not only swear words, but also things like f4gg07, to put it in 1337. Also, H17l3r is a name I DO NOT want in my CCL (met a guy who had a reference to him in his nick last friday, the @$$ (yea, that word too :p)). Especially these kind of words that can show up are what I want prevent. Things that can really hurt people. If you know some, plz post them. I'll look at them later and will see whether I put them up or not.

Things I did:
-copied the contents of JBAddonCelebration, since the variables are not accesable from the outside (or I'm missing something here :S)
-succesfully used the StaticReplaceText (you gotta use a local variable :))

Things I gotta do:
-solve the prob with the addon not finding the texture that came with the original JBAddonCelebration
-input foul language (sounds really wrong here :rolleyes: )
Later on:
-Put up the ability of the addon on a server being able to get the Custom Celebration Line from a client
-ask Wormbo if I can release his adjusted addon and if so, give him lotsa credit ;) :D (first wanna see if I can make it at all, if that's not against the normal procedure though.....)

Wormbo
11th Sep 2004, 03:27 AM
I suggest not copying but subclassing the Celebration Screen classes, that's much less work and will also make your add-on smaller as you don't have all the duplicate code and data in your package.

Jrubzjeknf
11th Sep 2004, 06:34 AM
I dunno how to exactly. The place where the message is defined is JBAddonCelebration. How can I possibly throw in a string in an addon where the variables are unconfigurable? Using PostPlay? But won't the text be used always as celebration message? I want it to be used only when the player frags, not a bot. Or do I gotta do this in PostPlay also?

/me gets confused...

Jrubzjeknf
12th Sep 2004, 08:47 AM
Got it almost working guys. Decided not to let a message pop up when you insert a foul word. I just wait untill they start the game, and when they make the last frag (their message with the foul word would show up), then:
-the message will be a default one
-their character will have a llama head
-the next round they will be llamaized with the message 'Don't use foul words in your message' or something like that

Doing this will annoy them greatly, and just make the message one without foul words.

g2g, will edit soon.....

The_Head
12th Sep 2004, 08:59 AM
then:
-the message will be a default one
-their character will have a llama head
-the next round they will be llamaized with the message 'Don't use foul words in your message'
Nice idea, that will really piss them off

Mychaeel
12th Sep 2004, 10:49 AM
I just hope I won't get llamaized for entering something like "The red team has won a massive victory!" or the like.

Jrubzjeknf
12th Sep 2004, 12:08 PM
Ass is not a word that can hurt people. @sshole is. That word will be blocked. I will get it betatested to take out this kind of things. Besides, would you use "The red team has won a massive victory!", honestly? ;)

I managed to get the checking on foul words right, also denying foul worded CCLs from the celebration screen. The rest will be ok, the only thing I gotta do is:
-Make a toolsbutton for inputting special stuff (replace "%O" for "Red" if you're on blue)
-Support CCL on a server (displaying CCL of the client)
-Llamaize people who won the round and had a bad CCL the next round

The first one should be easy, the second one is a prob for later, but the last one is bugging me now. I'm having trouble with the last one, since I dunno how tag the player with it, how to refer to that specific player and where to call the reference. Tried to do something with the reconnect-while-you-where-in-jail llamaizing, but that doesn't work. The llamaizing I copyed from protection would llamaize you immediately, so that isn't working too well either. Mych, can you help me on this one (or anyone else)?

ChaosJester
12th Sep 2004, 10:21 PM
jrubzjeknf, will the how will the Addon apply at the server level, may I ask? If it is the server's decision about the content of the CCL, then there is less chance of an issue. User-defined CLs for 20 people may be a bit difficult to do over the internet and get close to synced, although I trust you have worked out that kink? Maybe have the server/mapper define the CCLs? Maybe eliminates some internet mismatch issues and the cursing and foul language issue. After all, if a person wants to join an internet server, there is usually the expectation that things will be different from offline and that choices are more often in the hands of the admin. Offline it won't matter so much either, since the player has the choice of what to say.

Jrubzjeknf
13th Sep 2004, 09:41 AM
//see post #43

The_Head
13th Sep 2004, 10:53 AM
.....implent (guys, this is wrong, what's the right word?).......
The word I think you are looking for is Implement

Jrubzjeknf
13th Sep 2004, 12:11 PM
ty!

The CCL can be defined by the player. The player who makes the last frag, gets on the celebration screen (nothing new till here). Then the Addon (serverside) will check the CCL of that person (client) only. Does it have a foul word? If so: put a llamahead on his character and llamaize him the next round. If not: normal procedure. I dunno how to implement this, but I don't care untill later. I absolutely don't care about mappers/admins setting up custom lines, because the CCL should be something each player can edit. Predefined by someone is stupid.

Guys, I'm still in a hassle with llamaizing someone the next round. What do I have to call and what should identify that certain player? Will figure out myself where to put it.

The_Head
13th Sep 2004, 12:32 PM
Guys, I'm still in a hassle with llamaizing someone the next round. What do I have to call and what should identify that certain player? Will figure out myself where to put it.
Could it be something similar to coding for when u exit from jail then rejoin server? that tags the player as u exit, how much would need to be changed for this to work?
Anyways, when u work out how to tag players like that the code might come handy in ur next project should u choose to do it, the GOOJFC.

Jrubzjeknf
14th Sep 2004, 01:57 AM
already tried doing something like that, but the prob is I gotta have the 'LastKiller'-Pawn or whatever it is, save it's controller and when the next round starts, the llamaize code has gotta be executed with the Controller of LastKiller. I just can't seem to find a way to save it, or even access the part where I can get the info from. Besides, what's done anyway? When function Llamaize is executed, it needs a Controller. What's the controller to a player/bot? GUID? Location? Wiki says it's a pawn (the body) his brain. I don't get this really. And I gotta have some answers on these or I won't be able to finish the addon....:(

The_Head
14th Sep 2004, 05:35 AM
I assume, when the next round starts all the tags/controllers or whatever they are, are reset (or somit like that) If this isn't true don't bother reading the rest of this post.
Could u make it so that the controller is not reset, if not create a new one that does not get reset so that u can make it so that the "lastkiller"=another name variable, ie "Celebrater", this tag wouldn't be reset. Dunno whether this makes any sense whatsoever, I'd be surprised if it does since I haven't done any coding for ages and I can't look it up from school. If it does Good luck with finishing the project.

Mychaeel
14th Sep 2004, 05:41 AM
Any given player can be identified by their Controller object. It remains the same throughout a game (or until a player leaves the game).

Jrubzjeknf
14th Sep 2004, 08:43 AM
but how do I save the Controller Object in a variable? var() Controller Celebrator?

Jrubzjeknf
17th Sep 2004, 01:48 PM
The basics work!!! When a foul word is detected, you'll be llamaized the next round, but only if you killed the other guy (so the CCL of you would show up). It also blocks the output, and sets it to a random predefined message. Also works for bots now, but that'll be fixed when I have to make the addon get the CCL from a client. Will see how that'll work.

Now gonna make GUI complete. Adding a Foul Language Checkbox, a dropdownbox to add commands (%o stand for 'red' if you're on blue, %O for 'Red', etc...) and a Preview button. The preview button has to create a black bar at the bottom of the screen and paste the CCL in there. By clicking the button, it gets focus. Once the focus is dropped, the black bar with the text has to be removed. I just have no idea how to create that preview stuff. Anyone who has a clue where I gotta search?

RabidZombie
19th Sep 2004, 04:36 AM
I know you added the oppiste team thing but will there be a thing where if you put something it will say Blue if your on blue and red if your on red?

Jrubzjeknf
19th Sep 2004, 04:58 AM
yea, has already been done by Wormbo in the original Celebration, but it haven't been used. If Gorge is on blue: %O is Red, %o is red, %T is Blue, %t is blue and %P is Gorge.

Question: How do I get that llamahead on the playermesh in the Celebration Screen? The original Celebration loads the entire mesh of your character and is in an Interaction class, the LlamaHead is a staticmesh in an Inventory Attachment, loaded from an Inventory class that attaches the head to the HeadBone of the player's pawn. I don't really see a possibility to place the LlamaHead on the mesh without copying half the Llama Addon which defines the placing of the LlamaHead. Llamaizing the player so that he'd show up as a Llama doesn't work, because Spawn(JBLlamaPendingTag, ...) can't seem to be loaded from an Interaction class. Plz tell me in what direction I gotta search. Previous coding I could do with workaround (will fix later when I'm better at Uscript and everything works), but this one will be very hard for me since it really gotta display something now.

help?...

Jrubzjeknf
20th Sep 2004, 12:00 PM
guys, you really gotta help me on this one. Tarq? Wombo?... :S

Jrubzjeknf
22nd Sep 2004, 01:43 AM
.....:S

The_Head
22nd Sep 2004, 09:33 AM
Someone please help this guy

RabidZombie
25th Sep 2004, 03:33 AM
Someone please help this guy

I second that

Nice work so far btw

Jrubzjeknf
25th Sep 2004, 03:38 AM
nm, I've got another plan. If succesful, I'll post a pic.

@Wormbo: how does the coloured text work? Saw something about that in the code where the Celebration Screen is drawen. ASCII code?

Jrubzjeknf
27th Sep 2004, 02:46 PM
guys, any1?

RabidZombie
1st Oct 2004, 12:04 PM
Is this still in production or or you stuck?(or have you given up altogether)

Sorry for the bump but i REALLY want to see this add on soon!

The_Head
1st Oct 2004, 12:10 PM
Sadly for all us people eagerly awaiting this addon, no-one is helping jrubzjeknf / Nova^

RabidZombie
1st Oct 2004, 01:34 PM
Sadly for all us people eagerly awaiting this addon, no-one is helping jrubzjeknf / Nova^

Shame, i WOULD help him, just i ayhve no clue what so ever about how to code!

Jrubzjeknf
2nd Oct 2004, 03:46 AM
think I got an idea. Wanted to do something with the head of the 'bad-language-user'. Replace it with a llamahead couldn't be done, because it was a mesh, not a pawn. So I thought: what if I change the headtexture of the mesh with a fully transparent one :D

RabidZombie
2nd Oct 2004, 04:41 AM
think I got an idea. Wanted to do something with the head of the 'bad-language-user'. Replace it with a llamahead couldn't be done, because it was a mesh, not a pawn. So I thought: what if I change the headtexture of the mesh with a fully transparent one :D

Erm, well although i know nothing about coding, give it a try, anything is worth trying if your stuck...

NB: at the moment im currently playing a text adventure game based on a book by dougless adams(guess which one) and im stuck... in the dark with nothing but the sense of smell!

Edit: Trying alot of stupid things i've maneged to get past the bit... YAY

Jrubzjeknf
2nd Oct 2004, 04:35 PM
Could anyone plz help me on this bit of code? I can't really understand what it does and when it does it:

PlayerMesh.bAnimByOwner = False;
rec = class'xUtil'.static.FindPlayerRecord(PlayerInfo.PRI.CharacterName);
if ( rec.DefaultName == "" )
rec = class'xUtil'.static.FindPlayerRecord("Gorge");
ActorMesh = Mesh(DynamicLoadObject(rec.MeshName, class'Mesh'));
if ( ActorMesh != None ) {
PlayerMesh.LinkMesh(ActorMesh);
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName$"_"$PlayerInfo.PRI.Team.TeamIndex, class'Material'));
if ( ActorSkin == None )
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[0] = ActorSkin;
ActorSkin = Material(DynamicLoadObject(rec.FaceSkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[1] = ActorSkin;

if you want to I can paste the whole function here, but this is where the mesh is chosen (created?) and I'd like to have more insight in this particular part

Ravu al Hemio
3rd Oct 2004, 12:37 AM
Could anyone plz help me on this bit of code? I can't really understand what it does and when it does it: [code stripped]
Hmm... your interest lies in the following lines:

ActorSkin = Material(DynamicLoadObject(rec.FaceSkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[1] = ActorSkin;

All you have to do is change the call of ActorSkin to a transparent material. Unfortunately, I don't know of any material like that. If you have already found the right material, all you have to do is call
ActorSkin = Material(DynamicLoadObject("Package.Category.Material", class'Material'));
and replacing 'Package.Category.Material' with the data of the material.

I'm not sure when it happens because you didn't post the class name nor the function. I still think a bit of trial and error might be good... since that is how programmers new to a given topic work. So, compile and try out.

Jrubzjeknf
3rd Oct 2004, 03:27 AM
ty, will try asap. Think I'll just include a fully alpha'd texture in the addon

Jrubzjeknf
7th Oct 2004, 07:26 AM
here's the whole function, with the code added you said I should:

function SetupPlayerMesh(JBGameRulesCelebv2.TPlayerInfo NewPlayerInfo)
{
local Material ActorSkin;
local Mesh ActorMesh;
local xUtil.PlayerRecord rec;

PlayerInfo = NewPlayerInfo;

if ( PlayerMesh == None && PlayerInfo.Player != None && (PlayerInfo.Player.GetPawn() != None
|| !PlayerInfo.bSuicide) )
PlayerMesh = ViewportOwner.Actor.Spawn(class'JBTauntingMeshActor', PlayerInfo.Player.GetPawn(),,
MeshLoc, rot(0,26000,0));
else if ( PlayerMesh == None )
return;
else if ( PlayerInfo.Player != None )
PlayerMesh.SetOwner(PlayerInfo.Player.GetPawn());

if ( PlayerMesh.Owner != None ) {
PlayerMesh.LinkMesh(PlayerMesh.Owner.Mesh);
PlayerMesh.Skins = PlayerMesh.Owner.Skins;
PlayerMesh.bAnimByOwner = True;
}
else {
if ( PlayerInfo.bSuicide ) {
PlayerMesh.Destroy();
PlayerMesh = None;
return;
}
PlayerMesh.bAnimByOwner = False;
rec = class'xUtil'.static.FindPlayerRecord(PlayerInfo.PRI.CharacterName);
if ( rec.DefaultName == "" )
rec = class'xUtil'.static.FindPlayerRecord("Gorge");
ActorMesh = Mesh(DynamicLoadObject(rec.MeshName, class'Mesh'));
if ( ActorMesh != None ) {
PlayerMesh.LinkMesh(ActorMesh);
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName$"_"$PlayerInfo.PRI.Team.TeamIndex, class'Material'));
if ( ActorSkin == None )
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[0] = ActorSkin;
ActorSkin = Material(DynamicLoadObject(rec.FaceSkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[1] = ActorSkin;
}
ActorSkin = Material(DynamicLoadObject("JBAddonCelebv1.AlphadTex.Alphad", class'Material'));
}


if ( !PlayerMesh.bAnimByOwner ) {
if ( PlayerInfo.bBot )
PlayerMesh.GotoState('Taunting', 'BeginTaunting');
else {
PlayerMesh.bStartedTaunting = true;
PlayerMesh.GotoState('Taunting', 'ManualTaunting');
}
}
}

But now I'm wondering: how the hell is UT2004 supposed to know that it's a HeadTexture? Replacing the original line with the custom line won't work either. I've tried to disable it by using '//' in front of it, but it still showed up fine. I also tried to do something like 'MyController.Pawn.SetHeadScale(0);', but that affects the player, not the mesh. What should I do/try next?

Ravu al Hemio
7th Oct 2004, 07:39 AM
Sorry, I didn't express myself clear enough. I don't blame you for not being telepathic ;)

This is what has to be done:

function SetupPlayerMesh(JBGameRulesCelebv2.TPlayerInfo NewPlayerInfo)
{
local Material ActorSkin;
local Mesh ActorMesh;
local xUtil.PlayerRecord rec;

PlayerInfo = NewPlayerInfo;

if ( PlayerMesh == None && PlayerInfo.Player != None && (PlayerInfo.Player.GetPawn() != None
|| !PlayerInfo.bSuicide) )
PlayerMesh = ViewportOwner.Actor.Spawn(class'JBTauntingMeshActor', PlayerInfo.Player.GetPawn(),,
MeshLoc, rot(0,26000,0));
else if ( PlayerMesh == None )
return;
else if ( PlayerInfo.Player != None )
PlayerMesh.SetOwner(PlayerInfo.Player.GetPawn());

if ( PlayerMesh.Owner != None ) {
PlayerMesh.LinkMesh(PlayerMesh.Owner.Mesh);
PlayerMesh.Skins = PlayerMesh.Owner.Skins;
PlayerMesh.bAnimByOwner = True;
}
else {
if ( PlayerInfo.bSuicide ) {
PlayerMesh.Destroy();
PlayerMesh = None;
return;
}
PlayerMesh.bAnimByOwner = False;
rec = class'xUtil'.static.FindPlayerRecord(PlayerInfo.PRI.CharacterName);
if ( rec.DefaultName == "" )
rec = class'xUtil'.static.FindPlayerRecord("Gorge");
ActorMesh = Mesh(DynamicLoadObject(rec.MeshName, class'Mesh'));
if ( ActorMesh != None ) {
PlayerMesh.LinkMesh(ActorMesh);
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName$"_"$PlayerInfo.PRI.Team.TeamIndex, class'Material'));
if ( ActorSkin == None )
ActorSkin = Material(DynamicLoadObject(rec.BodySkinName, class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[0] = ActorSkin;
ActorSkin = Material(DynamicLoadObject("JBAddonCelebv1.AlphadTex.Alphad", class'Material'));
if ( ActorSkin != None )
PlayerMesh.Skins[1] = ActorSkin;
}
}


if ( !PlayerMesh.bAnimByOwner ) {
if ( PlayerInfo.bBot )
PlayerMesh.GotoState('Taunting', 'BeginTaunting');
else {
PlayerMesh.bStartedTaunting = true;
PlayerMesh.GotoState('Taunting', 'ManualTaunting');
}
}
}

If that doesn't work, then I don't know.

Jrubzjeknf
8th Oct 2004, 07:02 AM
Saw where I was wrong. PlayerMesh.Skins[1] won't be adjusted when I change ActorSkin. Will try experimenting with that. TY for the feedback ravu. You're a real help :D

(ps. How should I call you? Ravu? Hemio? Or just the full name ;))

Ravu al Hemio
8th Oct 2004, 08:48 AM
Saw where I was wrong. PlayerMesh.Skins[1] won't be adjusted when I change ActorSkin. Will try experimenting with that. TY for the feedback ravu. You're a real help :D
You are welcome. I like helping people; it seems that I seem to do a lot of little things that don't make much difference for the community, but it's still something to be proud of... ;)

(ps. How should I call you? Ravu? Hemio? Or just the full name ;))
Just say that my first name is Ravu, the word 'al' means 'of' and Hemio is the surname... even though they aren't my real names ;)

RabidZombie
15th Oct 2004, 03:10 PM
Hay Nova hows it coming along (sorry to bump but i really dont want this add on to die!). Also do you know what has happened to the kokrull server?

Anyway because this thread has become inactive its either you are coming along very nicely, you died(unlikely) or you abandoned the project(which would be a real shame(not saying that you dieing WOULDN'T be a shame))

Also if you did abandon could you post up what you have done so far because someone might want to finish it!

Jrubzjeknf
16th Oct 2004, 08:41 AM
Sry I haven't been here lately. I haven't abandonned the addon, I'm still working on it. It's just that I don't have that much time any more. I'm currently in the exam year of the highest level of high school, and it ain't easy, you know ;).

About kokrull server. I haven't spoken to angel a long time, but kokrull have always had technical difficulties. Angel is probably trying to solve those now.

My current progress:
Llamaizing works perferctly, anything else that's triggered too. Got a prob though:
[EDITED]: The CCL seems to save something. First time(when using FL), the head still shows up. Times after that it'll disappear. When FL is being turned off, the head disappears the first time, but the times after that it shows up well. I guess the prob is somewhere in my code, I just still gotta locate it.

Further progress: GUI and advanced text.
Making a dropdown box where you can select certain input (%O for opponent's colour with capitol, %o for without one). Also gonne look at what I can do with coloured texts (preset colour, team dependent), since it was already inserted, but not used, by Wormbo.

That's about it. Could anyone help me with my prob?

Jrubzjeknf
17th Oct 2004, 05:29 AM
Know how the prob is caused. This is what happens:
-Match starts
--NextCapturedMessage is generated
-Red team is captured
--Celebration starts, NextCapturedMessage is displayed
---Celebration over, New NextCapturedMessage is generated
-New match starts

If a person has a foul word in his custom celebration line and he makes the last frag of the match, he'd be llamized (or llamaized? :P). At the start of the match, the new NextCapturedMessage is generated. When that person changes his CCL ingame and wins the match again, his head would not show up and he will be llamaized again. Besides, when playing online, the CCL must be generated right before the Celebration starts, because you have to get the CCL of the player who made the last frag. To summarize: I gotta change the way the original Celebration was made pretty radically. But I'll succeed ;)

now a simple question: I'm having trouble getting variables out of other classes within the CCL. Example: in one class there's an array ExArray with ExVariable in it in function ExFunction. I wanna use ExVariable in another class. How do I get it? MyVariable = class'ExFunction'.ExArray.ExVariable?

ps. Making an iHammer for fun. Looks like shieldgun. Primairy is hammerjump which always does 5 damage, secondary is instagib. Only does 5 damage, because there are no healthpack lying around. Made it so you can trickjump when playing instagib. Thoughts?

The_Head
17th Oct 2004, 09:39 AM
he'd be llamized (or llamaized? :P)
Llamatized

Jrubzjeknf
26th Oct 2004, 05:22 AM
am trying to work on this, but I'm having exams and stuff. I hope I can continue next week...

Jrubzjeknf
30th Oct 2004, 06:01 AM
Guys, I need the help of someone who knows when certain functions are called. I need to change the way the original Celebration was made, and therefore I need complete insight of the functions and when they're called. Since I haven't been able to figure some vital ones out, I'd like ask anyone to help me on this one. If so, can you help me this way:
-decompile JBAddonCelebration by opening command and typing: ucc batchexport **ut2004folderpath**\UT2004\System\JBAddonCelebration.u class uc **saveucpath**. If you want, I can send you the files you need.
-writing stuff down, like in:
function Thisisafunction()
//called from function Thatotherfunction or
//called by StartMatch

Thanks to whoever likes to help me out here. Think I can also use it for my future JBAddon I'll probably be making

RabidZombie
30th Oct 2004, 09:50 AM
Guys, I need the help of someone who knows when certain functions are called. I need to change the way the original Celebration was made, and therefore I need complete insight of the functions and when they're called. Since I haven't been able to figure some vital ones out, I'd like ask anyone to help me on this one.

I think it would be best if the person that made the original helped you there...

In terms of percent how much do you think you have done so far (roughly)

BTW, really cant wait for this add-on,

TheSpoonDog
30th Oct 2004, 07:32 PM
Give Wormbo an email.

Jrubzjeknf
31st Oct 2004, 01:50 PM
ok. will do. ty guys

Jrubzjeknf
19th Jan 2005, 08:41 AM
guys, sry for neglecting this community and the addon I was making. Because I've been very busy (exams, clan, etc), I thought this addon wasn't that important any more (after all, it's only an 'extension' of the current Celebration), but since it was suddenly brought up at the Jailbreak2004c thread, I think I've made a mistake back then. Sry for not being here, I'll try to make it up. I'll continue from where I left a couple of months ago.

**edit** who's doing the GOOJFC? Or was I meant to do that too? :B

The_Head
19th Jan 2005, 10:55 AM
Various people submiited bits. (I came up with idea nenenene :p)
iirc Revbillyg had a really nice mesh for it. Can't remember if anyone said they could make it.