Ok, the map looks to easy. Maybe i spend more time on map :ssmile: .
The Trials are good, but the desert looks empty :sbigsmile: .
I will update the map and put some static meshes.
yours sincerly
Apo :sbigsmile:
DM-Operation-NightFall-HB-SE
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Ah there's the secret. I was getting confused with the countdown being the countdown for the pyramid bunkers. I still can't get past the first section, I have a feeling this will require more than one person to get through.
I had a deeper look at the map. Here are my thoughts on it.
I had a deeper look at the map. Here are my thoughts on it.
- My biggest concern of this one is the gameplay. It's structure very similarly to Energy Plant. Except for the buildings aren't in the corners. If you do add detail, be fairly light on it. This is an open map and players will be rendering everything (resulting in low frame rates). I haven't spoke with others on their view of this yet, but I have a strong feeling you won't be able to improve gameplay and visual appearance. You're going have to find a balance between the two.
Some misc things to make note of: - You forgot to delete your xMutantPawn.
- The button sounds for the pyramid combo is a bit too loud. Either lower the pitch or the volume. Either one will be good.
- When displaying the tank warnings, they are quickly removed by the time messages. You can either place the tank warnings after the timer is done, or change the message type to EMT_default (changes the text to the white text in the corner).
- It would also wouldn't hurt to delay the welcome message little longer. I have a long loading screen, and most of the time, I don't make it in time to read the welcome message. Adding 30 - 60 seconds after invwave1 trigger should do the trick.
The difference between successful people from others is
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Ok, thank you Ant :swink: ,
i will fix the problems.
But i think i will change something in map.
Your right map looks to empty and boring.
I´ve got a better idea, i will change the terrain style.
I will put a screenshot :sgiggle: .
Apo :sbigsmile:
i will fix the problems.
But i think i will change something in map.
Your right map looks to empty and boring.
I´ve got a better idea, i will change the terrain style.
I will put a screenshot :sgiggle: .
Apo :sbigsmile:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Is this map good or boring, because i wanna build then a new one it will take a bit longer. But it would be something new. Right now i´m building a different map :idea: . In my opinion this map is for me 30% good :sgiggle: . Only the trials are the best in the whole map.
I think this map failed .
Well i look to build my second one.
Apo :sbigsmile:
I think this map failed .
Well i look to build my second one.
Apo :sbigsmile:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Can i make a countdowntimer in game?
If yes, how?
Apo :sbigsmile:
If yes, how?
Apo :sbigsmile:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Apok@lypse wrote:Can i make a countdowntimer in game?
If yes, how?
Apo :sbigsmile:
You want to run the countdowntimer throughout the match other than writing a scripted trigger that displays a new message every second?
The difference between successful people from others is
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Yes right :thumbright: !
I don´t know how to display the countdown timer in the game. But i know that unrealed use the script language C++. I searched in the internet and i found nothing about the ut2k4 scripts.
Apo :sbigsmile:
I don´t know how to display the countdown timer in the game. But i know that unrealed use the script language C++. I searched in the internet and i found nothing about the ut2k4 scripts.
Apo :sbigsmile:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Here you go. Copy/Paste this in a text editor, and mylevel it to your map.
If you're using the Unread Ed's Text editor, then you cannot include the defaultproperties section.
You can either edit this code to invert the bFirstTrigger property to bNotFirstTrigger. Then edit the If statement around line 35 "if (bFirstTrigger)" to "if (!NotFirstTrigger)" ! means if false. By default Boolean variables are set to false. Then a few lines down, don't forget to edit the line "bFirstTrigger = false;" to "bNotFirstTrigger = true;"
-or-
Save the code as it is and open the editor's console and type in: editdefault class=TriggerCounter. It should open the properties window, but you should see an additional None category. From there, you can edit any default properties for this class. In this case, go to bFirstTrigger, and change that to True. I warn you though, be very careful when editing default properties. It's worse than renaming stock packages. If you think you should edit hidden properties for other classes, be sure to subclass the class you want to edit, then edit the default properties for your myleveled new class. That way you don't have to worry about screwing up your UT installation.
The other two properties (Interval and Texture) are no biggie. You can edit those once you place this actor in your map.
How to use this actor:
Simple, give it a tag, then trigger the tag.
It will start counting either up or down.
Trigger the tag again to stop the counting.
Trigger it again to resume.
To skip values (I'm sure no match will last for 24 hours). Simply edit the TriggerSecondsInc, TriggerMinutesInc, and/or TriggerHoursInc to skip this many values per trigger. (note, your going to pause the trigger if you trigger it once, so you'll have to trigger this twice to make it resume. In another words, you'll need to half your increments since you'll be applying them twice).
The other property names are self-explanatory.
If there's something troubling you, let me know.[/color]
Code: Select all
/*================================================
TriggerCounter
A simple trigger that keeps track of the time.
Warning: This trigger spams the chat log.
Author: DW>Ant
Date: August 10, 2010
================================================*/
class TriggerCounter extends Triggers
placeable;
var() bool bCountDown; //If True, it'll count down. False counts up
var() int Interval; //Seconds per Second
var() int StartingHour;
var() int StartingMinute;
var() int StartingSecond;
var() int TriggerHoursInc; //Increment x many hours per trigger
var() int TriggerMinutesInc; //Increment x many Minutes per trigger
var() int TriggerSecondsInc; //Increment x many seconds per trigger
//Internal variables. If you're copy/pasting this through UEd Text editor, then you may have to invert the FirstTrigger bool to NotFirstTrigger
var float Time;
var bool bCounting;
var bool bFirstTrigger;
var int Hour, Minute, Second;
function Trigger(actor Other, Pawn EventInstigator)
{
if (bCounting)
bCounting = false;
else
bCounting = true;
if (bFirstTrigger)
{
Hour = StartingHour;
Minute = StartingMinute;
Second = StartingSecond;
bFirstTrigger = false;
}
else //Increment the time
{
if (bCountDown)
{
Second = Second - TriggerSecondsInc;
if (Second < 0)
{
Minute--;
Second += 60;
if (Minute < 0)
{
Hour--;
Minute = 59;
if (Hour < 0)
Hour = 24;
}
}
//Inc Minutes
Minute = Minute - TriggerMinutesInc;
if (Minute < 0)
{
Hour--;
Minute += 60;
if (Hour < 0)
Hour = 24;
}
//Inc Hours
Hour = Hour - TriggerHoursInc;
if (Hour < 0)
Hour += 24;
}
else //Counting up
{
Second = Second + TriggerSecondsInc;
if (Second > 59)
{
Minute++;
Second -= 60;
if (Minute > 59)
{
Hour++;
Minute = 0;
if (Hour > 24)
Hour = 0;
}
}
//Inc Minutes
Minute = Minute + TriggerMinutesInc;
if (Minute > 59)
{
Hour++;
Minute -= 60;
if (Hour > 24)
Hour = 0;
}
//Inc Hours
Hour = Hour + TriggerHoursInc;
if (Hour < 0)
Hour -= 24;
}
}
}
function Tick(float DeltaTime)
{
if (bCounting)
{
if (bCountDown)
{
if (int(Time - DeltaTime) == int(Time-1))
{
//Time = Time + 1;
Second = Second - Interval;
if (Second < 0)
{
Minute--;
Second += 60; //Incase you have Intervals > 1. This will be buggy if Interval > 60 (negative seconds). If that's the case, then just create a new class and remove seconds.
if (Minute < 0)
{
Hour--;
Minute = 59;
if (Hour < 0)
Hour = 24;
}
}
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ":" @ Second);
}
Time -= DeltaTime;
}
else //Counting up
{
if (int(Time + DeltaTime) == int (Time+1))
{
//Time = Time - 1;
Second = Second + Interval;
if (Second > 59)
{
Minute++;
Second -= 60;
if (Minute > 59)
{
Hour++;
Minute = 0;
if (Hour > 24)
Hour = 0;
}
}
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ":" @ Second);
}
Time += DeltaTime;
}
}
super.Tick(DeltaTime);
}
//In UEd Text Editor, this will not work. You'll need to edit these variables manually, but since FirstTrigger is a hidden property, you'll need to delete that.
defaultproperties
{
bFirstTrigger=True
Interval=1
Texture=Texture'Gameplay.S_Counter'
}
You can either edit this code to invert the bFirstTrigger property to bNotFirstTrigger. Then edit the If statement around line 35 "if (bFirstTrigger)" to "if (!NotFirstTrigger)" ! means if false. By default Boolean variables are set to false. Then a few lines down, don't forget to edit the line "bFirstTrigger = false;" to "bNotFirstTrigger = true;"
-or-
Save the code as it is and open the editor's console and type in: editdefault class=TriggerCounter. It should open the properties window, but you should see an additional None category. From there, you can edit any default properties for this class. In this case, go to bFirstTrigger, and change that to True. I warn you though, be very careful when editing default properties. It's worse than renaming stock packages. If you think you should edit hidden properties for other classes, be sure to subclass the class you want to edit, then edit the default properties for your myleveled new class. That way you don't have to worry about screwing up your UT installation.
The other two properties (Interval and Texture) are no biggie. You can edit those once you place this actor in your map.
How to use this actor:
Simple, give it a tag, then trigger the tag.
It will start counting either up or down.
Trigger the tag again to stop the counting.
Trigger it again to resume.
To skip values (I'm sure no match will last for 24 hours). Simply edit the TriggerSecondsInc, TriggerMinutesInc, and/or TriggerHoursInc to skip this many values per trigger. (note, your going to pause the trigger if you trigger it once, so you'll have to trigger this twice to make it resume. In another words, you'll need to half your increments since you'll be applying them twice).
The other property names are self-explanatory.
If there's something troubling you, let me know.[/color]
The difference between successful people from others is
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
-
- DW Clan Member
- Posts: 356
- Joined: Wed Apr 22, 2009 5:09 am
- Xfire: apokalypse86
- Location: Leonberg, Germany
- Contact:
Wow good work Ant :thumbright: ,
the countdown trigger works.
But how can i display the countdown timer for example in center, like my example. The countdown timer displays 1: 4: 3 .
Can i change it to 1:04:03?
Apo :sbigsmile:
the countdown trigger works.
But how can i display the countdown timer for example in center, like my example. The countdown timer displays 1: 4: 3 .
Can i change it to 1:04:03?
Apo :sbigsmile:
Energy-Plant -> Elimination-Chamber -> Crossfire-Xtreme -> Anniversary
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
Nano-Technics -> Choco-Wars -> Dragon-Tower ->(Next Map Fall 2016) Survive
I can throw in several more if statements:Apok@lypse wrote:But how can i display the countdown timer for example in center, like my example. The countdown timer displays 1: 4: 3 .
Can i change it to 1:04:03?
Apo :sbigsmile:
if (Seconds < 10)
Broadcast (none, Hours @ ":" @ minutes @ ": 0" @ Seconds);
It's going to be slightly messy. I'm going to research to see if I format int variables. Otherwise, I'll update it later tonight.
Edit:
I haven't found this magic formatter so I'll go with plan B.
Everything looks fine except for the spacing. The @ sign adds a space.
EX: Should be 1 : 04 : 03
But it is 1 : 0 4 : 0 3
another example
2 : 13 : 0 4
Anyways, try this one out:
Code: Select all
/*================================================
TriggerCounter
A simple trigger that keeps track of the time.
Warning: This trigger spams the chat log.
Author: DW>Ant
Date: August 10, 2010
================================================*/
class TriggerCounter extends Triggers
placeable;
var() bool bCountDown; //If True, it'll count down. False counts up
var() int Interval; //Seconds per Second
var() int SpecialHourEvent; //When this hour hits, trigger the event
var() int StartingHour;
var() int StartingMinute;
var() int StartingSecond;
var() int TriggerHoursInc; //Increment x many hours per trigger
var() int TriggerMinutesInc; //Increment x many Minutes per trigger
var() int TriggerSecondsInc; //Increment x many seconds per trigger
//Internal variables. If you're copy/pasting this through UEd Text editor, then you may have to invert the FirstTrigger bool to NotFirstTrigger
var float Time;
var bool bCounting;
var bool bFirstTrigger;
var int Hour, Minute, Second;
function Trigger(actor Other, Pawn EventInstigator)
{
if (bCounting)
bCounting = false;
else
bCounting = true;
if (bFirstTrigger)
{
Hour = StartingHour;
Minute = StartingMinute;
Second = StartingSecond;
bFirstTrigger = false;
}
else //Increment the time
{
if (bCountDown)
{
Second = Second - TriggerSecondsInc;
if (Second < 0)
{
Minute--;
Second += 60;
if (Minute < 0)
Hour--;
Minute = 59;
if (Hour < 0)
Hour = 24;
}
//Inc Minutes
Minute = Minute - TriggerMinutesInc;
if (Minute < 0)
{
Hour--;
Minute += 60;
if (Hour < 0)
Hour = 24;
}
//Inc Hours
Hour = Hour - TriggerHoursInc;
if (Hour < 0)
Hour += 24;
}
else //Counting up
{
Second = Second + TriggerSecondsInc;
if (Second > 59)
{
Minute++;
Second -= 60;
if (Minute > 59)
{
Hour++;
Minute = 0;
if (Hour > 24)
Hour = 0;
}
}
//Inc Minutes
Minute = Minute + TriggerMinutesInc;
if (Minute > 59)
{
Hour++;
Minute -= 60;
if (Hour > 24)
Hour = 0;
}
//Inc Hours
Hour = Hour + TriggerHoursInc;
if (Hour > 24)
Hour -= 24;
}
if (Hour == SpecialHourEvent)
TriggerEvent(Event, Other, EventInstigator);
}
}
function Tick(float DeltaTime)
{
if (bCounting)
{
if (bCountDown)
{
if (int(Time - DeltaTime) == int(Time-1))
{
//Time = Time + 1;
Second = Second - Interval;
if (Second < 0)
{
Minute--;
Second += 60; //Incase you have Intervals > 1. This will be buggy if Interval > 60 (negative seconds). If that's the case, then just create a new class and remove seconds.
if (Minute < 0)
{
Hour--;
Minute = 59;
if (Hour < 0)
Hour = 24;
//Check if it needs to trigger event
if (Hour == SpecialHourEvent)
TriggerEvent(Event, None, None);
}
}
if (Second < 10 && Minute < 10)
Level.Game.Broadcast(None, Hour @ ": 0" @ Minute @ ": 0" @ Second);
else if (Second < 10)
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ": 0" @ Second);
else if (Minute < 10)
Level.Game.Broadcast(None, Hour @ ": 0" @ Minute @ ":" @ Second);
else
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ":" @ Second);
}
Time -= DeltaTime;
}
else //Counting up
{
if (int(Time + DeltaTime) == int (Time+1))
{
//Time = Time - 1;
Second = Second + Interval;
if (Second > 59)
{
Minute++;
Second -= 60;
if (Minute > 59)
{
Hour++;
Minute = 0;
if (Hour > 24)
Hour = 0;
//Check if it needs to trigger event
if (Hour == SpecialHourEvent)
TriggerEvent(Event, None, None);
}
}
if (Second < 10 && Minute < 10)
Level.Game.Broadcast(None, Hour @ ": 0" @ Minute @ ": 0" @ Second);
else if (Second < 10)
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ": 0" @ Second);
else if (Minute < 10)
Level.Game.Broadcast(None, Hour @ ": 0" @ Minute @ ":" @ Second);
else
Level.Game.Broadcast(None, Hour @ ":" @ Minute @ ":" @ Second);
}
Time += DeltaTime;
}
}
super.Tick(DeltaTime);
}
//In UEd Text Editor, this will not work. You'll need to edit these variables manually, but since FirstTrigger is a hidden property, you'll need to delete that.
defaultproperties
{
bFirstTrigger=True
Interval=1
SpecialHourEvent=24
Texture=Texture'Gameplay.S_Counter'
}
By default, it's set to 24. When the hour hits 24, then it'll trigger its event in the Events category.
Of course you can set this hour anywhere from 0 - 24. Anything higher will be useless.[/color]
The difference between successful people from others is
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}
not in the lack of strength,
not in the lack of knowledge,
but rather in the lack of will.
FFE466
_________________________
{F}{AH}{CivFR}{XC}{U}{DF}{CJ}{SD}