I been playing around with a replay code I made and I am thinking of making a mod like prometheus UT3 Mod for UT. What do you think?
Last edited:
Which exactly ? Can't you just simply give any details, otherwise no one really will care..Not converting, using some ideas.
BC, lots of us play monsterhunt or Coop.make us new monsters/scriptedpawns.![]()
Sorry to say this: but do you never have any OWN ideas, everything is see from you are conversion/ported mods, mods have to be original. If I wanna play Metal Gear Solid, I play Metal Gear Solid, wanna play Prometheus I play Prometheus. The only reason I see for "Conversion-Mods" are improving or surpassing it's original gameplay mechanics and visuals on a different (game) platform. Otherwise it's unoriginal and a waste of time.I had been playing around with a replay mod where everybody in game has their own recording that can play after game is finished or for a video replay like effect, and I was thinking of trying out something different with it. What ideas could I use with being able to play with your past self.
I had a idea of making a fighting game where you plan what ll do to you opponent before they strike or maybe a metal solid like game try to get to places undetected by initiating your recording at a certain time to see if it'll get across.
There are actually GOOD designed / good looking MH maps, even if they're rare, we all should be happy that there still IS a MH-Community as part of the last few active UT Communities (next to Strangelove, UT99.org etc.)The monster hunt maps make me cringe, high quality monsters look bad with such bad mapping, and need monster meshes.
The monster hunt maps make me cringe, high quality monsters look bad with such bad mapping, and need monster meshes.
oh nooo.you were my last hope you know.
![]()
Problem is, you never did a proper conversion.Yes, I like to convert because:
1. if I have a good idea for a mod, I would more likely want to make a game
2. It's a challenge to use already used idea from another game and implement it another
3. It's just me that does it so I rather not make a whole briefing session on a huge magnificent mod all by myself.
UT Survival? Rocket-X? SDK? Single player mappacks? Universal Unreal? Siege? Food-Fight? Want more?4. Where is originality these days?
As long you don't make it illegal like you did with UT2004 Extreme...I did not say "Prometheus mod conversion," but I explained ideas in my last of what I feel I want to use with the record and replay system they use, which I explained I wanted to use with other ideas, such as fighting game, is there a replay and record fighting game? A strategy metal gear like, strategy game, and more...
Name those things... He's doing a damn SDK! Software Development Kit, every single SDKs around the world have many similar things, the only difference is the engine itself.If you are saying that I am not trying to be original now, then I could tell you the same thing with the things you do.
We all hope so, because until now I personally only saw poor conversions. Sorry, but it's the truth.Please don't pester me conversion blah blah blah, because I clearly state its not a conversion, and the end result will be nothing like a conversion. I was just inspired with "new" ideas from a used idea.
class ReplayBot extends Pawn;
var string playername;
var bool bNoRecording;
var Replay CurrentNode;
function Postbeginplay()
{
settimer(0.05,true);
}
auto state Vicky
{
function Timer()
{
local replay r;
local int i;
local weapon wep;
//Set me to this points of recording.
if( CurrentNode != none && CurrentNode.NextReplay != none )
{
R = CurrentNode.NextReplay;
R.PreviousNode = CurrentNode;
CurrentNode = R;
}
else if( CurrentNode != none )
R = CurrentNode;
if(r != none && r.replayname == playername && bNoRecording)
{
Setlocation( R.replayposition);//set location here
SetRotation(r.replayrotation);// setrotation same as this recordings rotation
Velocity = R.velocity; //velocity same as this recording
ViewRotation = R.viewrotation;
Mesh = R.mesh;
//for(i=0; i<5; i++)
//Multiskins[i] = r.multiskins[i];
if(weapon.class!=r.replayweapon)
{
wep = spawn(r.replayweapon,,,r.location);
wep.giveto(self);
weapon=wep;
}
//If they are looped anim points
if( r.bAnimLooped )
LoopAnim(r.replayanim,(r.replayanimrate/2));
else if(r.replayanim != animsequence)
PlayAnim(r.replayanim,(r.replayanimrate/2));
//if it is point of where player fired
if(r.firing == true)
{
bfire=1;
FireWeapon();
}
else if(r.altfiring == true)
{
baltfire=1;
FireWeapon();
}
else
{
bfire=0;
baltfire=0;
}
lodbias = r.lodbias;
skin = r.skin;
drawscale = r.drawscale;
}
}
}
function FireWeapon()
{
if( Weapon!=None )
{
//ViewRotation = Rotation;
PlayFiring();
if ( baltfire > 0 )
{
bFire = 0;
bAltFire = 1;
Weapon.AltFire(1.0);
}
else
{
bFire = 1;
bAltFire = 0;
Weapon.Fire(1.0);
}
}
}
function felloutofworld();
defaultproperties
{
lifespan=0
Drawtype=DT_Mesh
DrawScale=1.0
Mesh=lodmesh'Soldier'
bBounce=true
Physics=PHYS_Flying
bDirectional=True
bGameRelevant=True
SoundVolume=0
CollisionRadius=0.00
CollisionHeight=0.00
bcollideworld=false
bblockactors=false
bblockplayers=false
}
class MutReplay extends Mutator;
function modifyplayer(pawn other)
{
local mutatorreplaycontroller r;
if(other.bhiddened == false)
{
r = spawn(class'mutatorreplaycontroller');
r.setowner(other);
other.bhiddened = true;
}
}
function Mutate(string MutateString, PlayerPawn Sender)
{
if(mutatestring == "replay")
DoReplay();
if ( NextMutator != None )
NextMutator.Mutate(MutateString, Sender);
}
function DoReplay()
{
local mutatorreplaycontroller rc;
foreach allactors(class'mutatorreplaycontroller', rc)
if(rc!=none)
{
rc.doreplay();
}
}
function DoDelete()
{
local mutatorreplaycontroller rc;
foreach allactors(class'mutatorreplaycontroller', rc)
if(rc!=none && rc.replaypawn != none)
{
rc.replaypawn.destroy();
}
}
defaultproperties
{
}
//////////////////////////////
///Mutator Version Replay Inv makes the replay pathnodes for replaybot.
///
//////////////////////////////
class MutatorReplayController extends Actor;
var int ReplayINT; // To tell replaynode what position it is.
var Replay StartingNode, EndNode, CurrentNode;
var ReplayBot ReplayPawn;
Function Postbeginplay()
{
Settimer(0.05,true);
}
auto state Recording
{
function timer()
{
Record();
}
function Record()
{
local replay r;
local int i;
//spawn replaynodes and record owner's location, rotation, velocity and animation.
r = spawn(class'replay',,,owner.location);
if( StartingNode == none)
StartingNode = R;
r.replayposition=owner.location;
r.replayrotation=owner.rotation;
if( CurrentNode != none && R != CurrentNode)
{
R.previousNode = currentNode;
CurrentNode.Nextreplay = R;
}
CurrentNode = R;
r.replayanim=owner.animsequence;
r.replayvelocity=owner.velocity;
r.replayplace=replayint;
r.replayanimrate=owner.animrate;
r.bAnimLooped = owner.banimloop;
for(i=0; i<5; i++)
r.multiskins[i] = owner.multiskins[i];
r.replayweapon = pawn(owner).weapon.class;
r.viewrotation = pawn(owner).viewrotation;
r.firing = pawn(owner).bfire>0;
r.replayname = pawn(owner).playerreplicationinfo.playername;
r.altfiring = pawn(owner).baltfire>0;
r.mesh = owner.mesh;
r.drawscale = owner.drawscale;
EndNode = R;
if(replayint == 0)
replaypawn(owner).startreplay=r;
replayint++; //update for next replay node spawned.
}
}
function DoReplay()
{
replaypawn = spawn(class'replaybot',,, startingnode.location, startingnode.rotation );
replaypawn.playername = startingnode.Replayname;
replaypawn.currentnode = startingnode;
replaypawn.bNoRecording = true;
replaypawn.skin=owner.skin;
replaypawn.multiskins[0]=owner.multiskins[0];
replaypawn.multiskins[1]=owner.multiskins[1];
replaypawn.multiskins[2]=owner.multiskins[2];
replaypawn.multiskins[3]=owner.multiskins[3];
replaypawn.multiskins[4]=owner.multiskins[4];
}
defaultproperties
{
}
//replay pathnode
class Replay extends actor;
var() vector ReplayPosition;
var() vector ReplayVelocity;
var() name ReplayAnim;
var() rotator ReplayRotation;
var() int ReplayPlace;
var() float ReplayAnimRate;
var() bool bAnimLooped;
var() class<weapon> ReplayWeapon;
var() bool Firing,Altfiring;
var() string Replayname;
var() rotator Viewrotation;
var() Replay NextReplay, PreviousNode;
defaultproperties
{
bStatic=false
bNoDelete=false
texture=none
bhidden=true
drawscale=0.3
}