User:Raven: Difference between revisions

From Unreal Wiki, The Unreal Engine Documentation Site
Raven (talk | contribs)
mNo edit summary
Raven (talk | contribs)
fixed bugs.
Line 1: Line 1:
==About Me==
{{classbox| [[Legacy:UT|UT]] :: [[Legacy:Actor_(UT)|Actor_(UT)]] >> [[Legacy:Triggers_(UT)|Triggers_(UT)]] >> Authorizer}}
;Nick: Raven
;E-Mail: tdc.raven at gmail.com
;Homepage: http://turniej.unreal.pl/rp
;Programming languages:
;* PHP
;* Unreal Script
;* Delphi


Hi, I'm Raven and I mainly code in Unreal Script and PHP. Currently I'm coding for The Chosen One, Battle For NaPali (on hold) and Residual Decay.
This is very old script, I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from [http://chimeric.beyondunreal.com/tutorials/tut11.html Chimeric]. You can use it in your map and it works online. As a key can be used everything, but I suggest to use only inventory based keys.


==Tutorials==
<uscript>
//=================================================
// Authorizer: This Trigger can replace
// KeyMover (as base I use KeyMover avidible
// form http://chimeric.beyondunreal.com/tutorials/tut11.html).
//=================================================
// by Raven
// http://turniej.unreal.pl/rp
// for The Chosen One SP mod
//=================================================
class Authorizer extends Trigger;


*[[Legacy:MCloudZone|MCloudZone]]
var() class KeyClass;
*[[Legacy:Authorizer|Authorizer]]
var() bool bDestroyKey;
var() bool bCheckKeyOnceOnly;
var() bool bShowSuccessMessage;
var() bool bShowFailtureMessage;
var() localized String SuccessMessage;
var() localized String FailtureMessage;
var bool bWasOpened;


==Projects==
replication
;The Chosen One
{
// Variables the server should send to the client.
reliable if( Role==ROLE_Authority )
bWasOpened;
}


'''link:''' [http://www.moddb.com/mods/6265/the-chosen-one The Chosen One]
function Touch( actor Other )
{
local Inventory key;
local actor A;


Basically, it is an FPS, RPG elements are included (with a major influence to the gameplay), but still it's FPS. Experience points are given mostly for completing quests (primary & secondary), their amount depends on the importance of the quest completed. Also, experience is increased for eliminating enemies. This also depends on the adversary's rank - the amount of experience points granted for the kills is very small in comparison to quest awards - it helps, when the player needs little experience to gain a level.
if (Other.IsA('Pawn') && KeyClass != NONE)
{
key = Pawn(Other).FindInventoryType(KeyClass);


Another major feature is spell casting. Not the idea itself, which already made an appearance in Nali Chronicles, but the spells themselves and the effects caused by using them (e.g. close-up spell, replacing the sniper scope, works with other weapons also).
if (key != none && Event != '')
foreach AllActors( class 'Actor', A, Event )
A.Trigger( Other, Other.Instigator );


The story will be presented by numerous engine-powered cutscenes, and of course the immortal LOGs scattered all over the game world.
if(bDestroyKey)
if(!bWasOpened) Pawn(Other).DeleteInventory(key);
if(bCheckKeyOnceOnly)
bWasOpened=true;
}
if(bWasOpened && Event != '')
foreach AllActors( class 'Actor', A, Event )
A.Trigger( Other, Other.Instigator );
if(bShowSuccessMessage && PlayerPawn(Other) != none)
PlayerPawn(Other).ClientMessage(SuccessMessage);
if(bShowFailtureMessage && !bWasOpened)
PlayerPawn(Other).ClientMessage(FailtureMessage);
}


'''Features:'''
defaultproperties
{
    bShowFailtureMessage=True
    SuccessMessage="Access granded."
    FailtureMessage="You need a key to open this door."
}


----
</uscript>
*RPG elements that allow the player character to develop
*Non-linear gameplay with lots of alternative paths, maps, quests and so on
*Usable vehicles
*Spell casting system that allows the player to learn magic from the Nali and use it in combat
*New models - weapons, monsters, and lots of new decorations
*Weather simulation system
*Support for music formats such as .mp3 and .ogg
*Realistic sound effects, such as footsteps and falling on various surfaces (sand, rock, wood etc.) and projectile/bullet hits
*Extended moving abilities: climbing onto ropes, chains or ladders
*S3 compressed textures for models and environment (resolutions supported: 512x512, 1024x1024 and 2048x2048)
*Rich and twisted storyline with lots of subquests
*Refreshed classic weapons from the original Unreal, completely new muzzle flashes, weapon upgrades can be added
*Upgradeable character skills (the maximum skill level depends on the skill type)
*Advanced particle system
*New HUD with four variations (Tiny, Small, Medium, Big)


;Point of View
[[Category:Legacy Mapping|{{PAGENAME}}]]
 
[[Category:Legacy Custom Class (UT)|{{PAGENAME}}]]
'''link:''' [http://turniej.unreal.pl/dane/pliki/mapy/sp/pov_demo.zip Point of View demo]
 
It's small mini-mod in which player is... a rabbit trying to escape from place where he'll finish as a dinner.
 
;Battle for NaPali (on hold)
 
'''link:''' [http://www.hellscrag.net/unrealsp/ Battle For NaPali]
 
Big singleplayer mod, intended to be true Unreal sequel. Currently on hold, so everyone can focus on Residual Decay. I'm responsible for particle emitter, projector, weather simulation, etc.
 
;Residual Decay
 
'''link:''' [http://rednemesis.beyondunreal.com/ Residual Decay]
 
Large total conversion developed by Team Red Nemesis.
 
;Unreal 1 v. 227 (patch)
 
'''link:''' [http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?board=227 227 Patch for Unreal 1]
 
I wrote Particle Emitter, Beam Emitter, Weather Simulator, Projector (extended decals), Key Trigger and mod support.
 
==Tools/add-ons==
;RParticles
 
'''link:''' [[Legacy:Raven/RParticles|RParticles]]
 
Particle system for UT'99 and Unreal 1. It's newer version is integrated with Unreal 227 patch.
;RvMp3Player
 
'''link:''' [[Legacy:Raven/RvMp3Player|RvMp3Player]]
 
Mp3 and ogg player for UT'99.
;RRender
 
'''link:''' [[Legacy:Raven/RRender|RRender]]
 
New D3D, D3D8 and OGL drivers with Distance Fog support (based on Chris Dohnal drivers).
;Winamp controller
 
'''link:''' [http://turniej.unreal.pl/files/RWinampController.zip Winamp controller]
 
Simple Winamp front-end for UT. It allows you to control winamp function from UWindows. Supported functions:
 
* play/pause/stop
* next/previous track
* volume up/down
* forward/rewind
* toggle repeat
* toggle shuffle
 
Just open '''Winamp control''' from mod menu. Sources (UScript and C++) are included in zip file.
 
[[Category:Legacy Personal Page|{{PAGENAME}}]]

Revision as of 03:40, 20 March 2008

The classbox template is only supposed to be used by the converted content imported into the Legacy: namespace. Consider adding descriptions to existing class pages instead.

This is very old script, I've created to Skaarj Evasion TC (RIP). As a base was used KeyMover tutorial from Chimeric. You can use it in your map and it works online. As a key can be used everything, but I suggest to use only inventory based keys.

<uscript> //================================================= // Authorizer: This Trigger can replace // KeyMover (as base I use KeyMover avidible // form http://chimeric.beyondunreal.com/tutorials/tut11.html). //================================================= // by Raven // http://turniej.unreal.pl/rp // for The Chosen One SP mod //================================================= class Authorizer extends Trigger;

var() class KeyClass; var() bool bDestroyKey; var() bool bCheckKeyOnceOnly; var() bool bShowSuccessMessage; var() bool bShowFailtureMessage; var() localized String SuccessMessage; var() localized String FailtureMessage; var bool bWasOpened;

replication { // Variables the server should send to the client. reliable if( Role==ROLE_Authority ) bWasOpened; }

function Touch( actor Other ) { local Inventory key; local actor A;

if (Other.IsA('Pawn') && KeyClass != NONE) { key = Pawn(Other).FindInventoryType(KeyClass);

if (key != none && Event != ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( Other, Other.Instigator );

if(bDestroyKey) if(!bWasOpened) Pawn(Other).DeleteInventory(key); if(bCheckKeyOnceOnly) bWasOpened=true; } if(bWasOpened && Event != ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( Other, Other.Instigator ); if(bShowSuccessMessage && PlayerPawn(Other) != none) PlayerPawn(Other).ClientMessage(SuccessMessage); if(bShowFailtureMessage && !bWasOpened) PlayerPawn(Other).ClientMessage(FailtureMessage); }

defaultproperties {

    bShowFailtureMessage=True
    SuccessMessage="Access granded."
    FailtureMessage="You need a key to open this door."

}

</uscript>