-
Posts
107 -
Joined
-
Last visited
Content Type
Profiles
Downloads
Forums
Events
Gallery
Posts posted by Ukill
-
-
This post is about how we can prevent or solve a team balance complain.
Please don't feel offended, but I don't know why it is so difficult to place some people i a different team, just because the most of the people got an opinion about this, and especially to avoid useless discussions, and create an "Organised" game-play that EVERYBODY likes. From the last 10 PUG's i played on the Saturday, the most where unbalanced or there was a discussion about balancing while or after.
Maybe its better next time to choose 2 people that care about picking 2 equal teams instead of "i wanna play with my friend".
I think a good example is like @Quincy and i did last Sunday PUG, even if i play a lot, it is still difficult for me too to setup the teams equal. So we helped each other to pick the teams, what did turn out well.In the end i think it don't matter i post a opinion about this subject, since this problem returns often, and people that hear other people complaining about how the teams are picked, just ignore the complains, even here on the forum if you just read back some posts, when they give a response about team picking, its not goes about the team picking anymore, but all about what we did wrong or or what people could do to have a better match.
Maybe its more wise to decide for next week that before the teams are picked that we decide together with 40 people who's not playing on the same team, it saves a lot of discussions while and after the game, and everybody got the feeling from the beginning that they have a chance.
For me its all about have some fun on the Saturday night, with 40 people that like to organize a game where all 40 players are happy with, i think this can be accomplished by letting people with this spirit picking the teams.
But, I could not setup the teams better then others do, but i think we can do it TOGETHER !!
LETS ORGANIZE!!- 2
-
11 hours ago, Ruud033 said:
Some still were at 64 and all background trees casted a shadow.. even the skeletal meshes casted a shadow (not needed).
I still had the error while rebuilding though. I'll look into it.
@Ruud033 Good luck! in the beginning it tried to solve all the map errors, and also did find out that a lot of meshes got shadows. But about the landscape, where does the grey area come from? is that a normal behavior?, i did try to put the landscape into the "sky"-environment, but did not find where to change it.
@Luhrian Did you change the properties of all the object after you placed them? -
@Ruud033 The light map resolution of the trees i did see was < 32.
Maybe this picture shows the problem, the landscape looks different if i compare them to other maps. -
2 hours ago, Madkill40 said:
@Ukill, what was the end result of your lighting build?
I thought i already did tell you, but i was unable to build the lighting, my pc with 16GB RAM will crash after some minutes. When i did use the PC with 32GB it did not crash but the process hangs at 0%, and I did not find any solution to build the map successful.
-
3 hours ago, CampinJeff said:
Who was commanding on sunday?
Quincy and i did select teams, after the game started we had different commanders.
-
16 hours ago, Colonel Autumn said:
Okay so am I missing something here or am I just dumb? It doesn't want to seem to work for me.
If you need some help @Colonel Autumn send me a pmsg.
-
For me it was one of the better PUG's, and the first time I saw that the total number of players online did go over 100
- 1
-
Thanks @Agent, but i really don't know what to add there.
Because i really dont know what to change in my existing script i decided to start over again, and put my focus on the replication, whereby i build my script around it
So i started first to do just a simple replication.-
class Rx_Mutator_CountDown_Controller extends Rx_Controller;
-
-
var repnotify int Count;
-
-
replication
-
{
-
if (bNetDirty && (Role==ROLE_Authority))
-
Count;
-
}
-
-
simulated event ReplicatedEvent(name VarName)
-
{
-
if (VarName == 'Count')
-
{
-
Count=(Count);
-
}
-
else
-
{
-
super.ReplicatedEvent(VarName);
-
}
-
}
-
-
exec function DoCountDown()
-
{
-
ServerCountIt();
-
}
-
-
reliable server function ServerCountIt()
-
{
-
local Rx_Mutator_CountDown_Controller C;
-
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_CountDown_Controller', C)
-
{
-
C.Count=(Count);
-
C.CountIt();
-
}
-
}
-
-
simulated function CountIt()
-
{
-
local int TimeSec, TimeTenSec;
-
-
Count--;
-
TimeSec = Count % 10;
-
TimeTenSec = (Count / 10);
-
ClientMessage( " TimeTenSecTimeSec: " $ TimeTenSec $ TimeSec);
-
SetTimer(2, false, 'ServerCountIt');
-
}
-
-
defaultproperties
-
{
-
Count=180.0
-
}
and extended this with my arrayvariable, now it is finally possible to replicate string/int-array-
// *****************************************************************************
-
// * * * * * * * * * * Rx_Mutator_AdminTool_Controller * * * * * * * * * * * *
-
// Written by Ukill, Supported by ...........................................
-
// *****************************************************************************
-
class Rx_Mutator_AdminTool_Controller extends Rx_Controller;
-
-
var repnotify string MyText;
-
var repnotify int Cycle;
-
var repnotify string RefArrayStatus[2];
-
var repnotify int RefArrayAccessLevel[2];
-
var int ArrayLength;
-
-
replication
-
{
-
if (bNetDirty && (Role==ROLE_Authority))
-
RefArrayAccessLevel,RefArrayStatus,MyText,Cycle;
-
}
-
-
simulated event ReplicatedEvent(name VarName)
-
{
-
local int x;
-
-
if (VarName == 'MyText')
-
{
-
MyText=(MyText);
-
}
-
else if (VarName == 'Cycle')
-
{
-
Cycle=(Cycle);
-
}
-
else if (VarName == 'RefArrayStatus')
-
{
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
RefArrayStatus[x]=(RefArrayStatus[x]);
-
}
-
}
-
else if (VarName == 'RefArrayAccessLevel')
-
{
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
RefArrayAccessLevel[x]=(RefArrayAccessLevel[x]);
-
}
-
}
-
else
-
{
-
super.ReplicatedEvent(VarName);
-
}
-
}
-
-
simulated event PreBeginPlay()
-
{
-
SetTimer(5, true, 'ServerReplicate');
-
}
-
-
exec function DoReplicate()
-
{
-
ServerReplicate();
-
}
-
-
-
reliable server function ServerReplicate()
-
{
-
local Rx_Mutator_AdminTool_Controller C;
-
local int x;
-
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
C.Cycle=(Cycle);
-
C.MyText=(MyText);
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
C.RefArrayStatus[x]=(RefArrayStatus[x]);
-
C.RefArrayAccessLevel[x]=(RefArrayAccessLevel[x]);
-
}
-
-
C.Replicate();
-
-
}
-
}
-
-
simulated function Replicate()
-
{
-
local string MyString;
-
local int x;
-
-
Cycle++; MyString = MyText $ Cycle;
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
if (RefArrayStatus[x] == "true")
-
{
-
RefArrayStatus[x]="false";
-
}
-
else
-
{
-
RefArrayStatus[x]="true";
-
}
-
-
RefArrayAccessLevel[x]--;
-
}
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
ClientMessage( MyString $ " - RefArrayStatus[" $ x $ "]=" $ RefArrayStatus[x]);
-
ClientMessage( MyString $ " - RefArrayAccessLevel[" $ x $ "]=" $ RefArrayAccessLevel[x]);
-
}
-
-
//ClientMessage( MyString $ " - RefArrayStatus[0]=" $ RefArrayStatus[0] $ " RefArrayStatus[1]=" $ RefArrayStatus[1] );
-
}
-
-
defaultproperties
-
{
-
ArrayLength=2;
-
-
MyText="Replication #";
-
Cycle=0;
-
-
RefArrayStatus[0]="";
-
RefArrayStatus[1]="";
-
-
RefArrayAccessLevel[0]=1000;
-
RefArrayAccessLevel[1]=100000;
-
}
But i am still searching for the fault in my existing script :Why will it not replicate to new users, and what exactly needs to be modified ?
I did find the issue that is responsible for the players that are not in game yet. after an other try of search and compare.-
Foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
-> for (x = 0; x < ArrayLength ; x++)
-
-> {
-
-> C.RefArrayStatus[x]=(RefArrayStatus[x]);
-
-> }
-
-
C.ServerAdminToolStatusDo(sToggleName, sStatus);
-
}
But finally, it works !!!! -
-
1 hour ago, Ukill said:
I also found some errors in the server-log :
-
RefArrayStatus:
-
[0249.49] ScriptWarning: Accessed array 'Rx_Mutator_AdminTool_Controller_0.RefArrayStatus' out of bounds (6/6)
-
Rx_Mutator_AdminTool_Controller CNC-Walls_Flying.TheWorld:PersistentLevel.Rx_Mutator_AdminTool_Controller_0
Function Rx_Mutator_AdminTool.Rx_Mutator_AdminTool_Controller:AdminToolNotifyServerAccessLevel:002D -
RefArrayAccessLevel:
[0249.49] ScriptWarning: Accessed array 'Rx_Mutator_AdminTool_Controller_0.ServerRefArrayAccessLevel' out of bounds (6/6)
Rx_Mutator_AdminTool_Controller CNC-Walls_Flying.TheWorld:PersistentLevel.Rx_Mutator_AdminTool_Controller_0
Function Rx_Mutator_AdminTool.Rx_Mutator_AdminTool_Controller:AdminToolNotifyServerAccessLevel:004E -
I will try to get it to work like described above, but i am still searching for that "better way", and have no idea what to think about or what i can do to solve the "out of bounds (6/6)" errorMeanwhile the "out of bounds (6/6)" problem disappear.
-
-
To complete this Topic :
On 24-2-2017 at 6:44 PM, Ukill said:2. Extend the current votesystem (In my opinion this one got more limitations, but is more easy to implement)
The way to do this can be found in the Rx_Mutator_AdminTool mutator, which are placed in the Download section, under Modifications (see link below) :
-
I did try to add the replication block below:
replication { if ( bNetDirty && Role == ROLE_Authority ) RefArrayStatus,RefArrayAccessLevel; }
More info about the replication block :Spoiler-
replication
-
{
-
// To actually replicate a function call from the server to a client you have to use a replication statement like the following:
-
reliable if ( Role == ROLE_Authority )
-
FunctionName;
-
// This will replicate function calls for FunctionName to the client this actor belongs to. If the actor is either owned by the
-
// server's player or Owner is None the function will be executed on the server like a regular function.
-
-
// To replicate a function call from a client to the server you have to use a replication statement like the following:
-
reliable if ( Role < ROLE_Authority )
-
FunctionName;
-
// This replicated function calls for FunctionName to the server if the actor is owned by this client's player.
-
}
-
/*
-
Things that may go wrong when replication functions:
-
-
Client -> Server replication will not work if the actor is owned by the server player (on a listen server) or by a client other than the one trying to replicate something or when the actor has no owner.
-
-
Server -> Client replication will be useless if the replicated function isn't a simulated function (unless the actor's Role on that client is ROLE_AutonomousProxy, which it usually isn't).
-
*/
I did use "( bNetDirty && Role == ROLE_Authority )" in the script, because in other scripts this gave me the most accurate replication.
In the end the problem is still here, it is impossible for me to replicate a static array (Only for players that join an existing game)
I also found some errors in the server-log :
-
RefArrayStatus:
-
[0249.49] ScriptWarning: Accessed array 'Rx_Mutator_AdminTool_Controller_0.RefArrayStatus' out of bounds (6/6)
-
Rx_Mutator_AdminTool_Controller CNC-Walls_Flying.TheWorld:PersistentLevel.Rx_Mutator_AdminTool_Controller_0
Function Rx_Mutator_AdminTool.Rx_Mutator_AdminTool_Controller:AdminToolNotifyServerAccessLevel:002D -
RefArrayAccessLevel:
[0249.49] ScriptWarning: Accessed array 'Rx_Mutator_AdminTool_Controller_0.ServerRefArrayAccessLevel' out of bounds (6/6)
Rx_Mutator_AdminTool_Controller CNC-Walls_Flying.TheWorld:PersistentLevel.Rx_Mutator_AdminTool_Controller_0
Function Rx_Mutator_AdminTool.Rx_Mutator_AdminTool_Controller:AdminToolNotifyServerAccessLevel:004E -
I do also saw the output of the "simulated event ReplicatedEvent(name VarName)", this means in my opinion that the replication at least runs/starts for the array variables.-
T see the output below when I Toogle mode 4 to level 2:
-
-
Server current values Rx_Mutator_AdminTool_Controller.ServerRefArrayAccessLevel to ( [1] = 2, [2] = 2, [3] = 3, [4] = 4, [5] = 1)
-
Function ReplicatedEvent touched with VarName: ServerRefArrayAccessLevel
-
Server updated Rx_Mutator_AdminTool_Controller.ServerRefArrayAccessLevel to ( [1] = 2, [2] = 2, [3] = 3, [4] = 2, [5] = 1)
I think i got a dirty solution to get the replication working, because it is possible for me to replicate "normal" variables.
I am thinking about that i could create some "normal" variables that will do the replication, whereby after the replication i push those value's from the normal variables to the "array variables", as far as i can see now this will get my script working but gives me a couple of disadvantages : my script will grow in size, and a lot of variables will have duplicated value's.
I will try to get it to work like described above, but i am still searching for that "better way", and have no idea what to think about or what i can do to solve the "out of bounds (6/6)" error -
-
The script below is working as expected, all variables get replicated to player in game on change, except that the default variables get replicated to users that join the game, instead of the current ones.
I think that i need to create a function that is executed on the clients from new players, so it will get the variables from the server, but have no idea how to do it.
Does anybody have an idea how to complete this replication ?The variables are :
var RepNotify string RefArrayStatus [4];
var RepNotify int RefArrayAccessLevel [4];-
// *****************************************************************************
-
// * * * * * * * * * * Rx_Mutator_AdminTool_Controller * * * * * * * * * * * *
-
// Written by Ukill, Supported by ...........................................
-
// *****************************************************************************
-
class Rx_Mutator_AdminTool_Controller extends Rx_Controller;
-
-
//General var
-
var string RefArrayName [4]; //ReferenceNameArray
-
var string RefArrayDescription [4]; //ReferenceDescriptionArray
-
var RepNotify string RefArrayStatus [4]; //ReferenceStatusArray
-
var RepNotify int RefArrayAccessLevel [4]; //ReferenceAccessLevelArray
-
-
var bool OSA; //OneStepAuthentication
-
var int ArrayLength;
-
var bool DebugMode;
-
-
replication
-
{
-
if (bNetDirty && Role == ROLE_Authority)
-
RefArrayStatus,RefArrayAccessLevel;
-
}
-
-
exec function AdminTool(string sToggleName, optional string sStatus, optional string iAccessLevel)
-
{
-
local string sStatusOut;
-
local string iAccessLevelOut;
-
local int x;
-
local int y;
-
-
//Filter bad sToggleName
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
if (RefArrayName[x] != sToggleName)
-
{
-
y=y++;
-
if (y == ArrayLength)
-
{
-
sToggleName="";
-
sStatus="";
-
iAccessLevel="";
-
}
-
}
-
}
-
-
// Swap if order is different
-
if ( Len(sStatus) == 1 && Len(iAccessLevel) == 0 )
-
{
-
iAccessLevel=(sStatus);
-
sStatus="Skip";
-
}
-
else if ( Len(iAccessLevel) > Len(sStatus) )
-
{
-
sStatusOut=(iAccessLevel);
-
(iAccessLevelOut)=(sStatus);
-
iAccessLevel=(iAccessLevelOut);
-
sStatus=(sStatusOut);
-
}
-
-
// Do status stuff
-
if ( Len(iAccessLevel) == 0 && Len(sStatus) == 0 || "true" == sStatus || "false" == sStatus )
-
{
-
ServerAdminToolStatus(sToggleName, sStatus);
-
}
-
-
//Do AccessLevel stuff
-
if ( Len(iAccessLevel) == 1 && int(iAccessLevel) != 0 && int(iAccessLevel) > 0 && int(iAccessLevel) < 6)
-
{
-
ServerAdminToolAccessLevel(sToggleName, int(iAccessLevel));
-
}
-
-
// Show summary
-
if ( DebugMode == true ) { AdminToolInfo(); }
-
-
}
-
-
reliable server function ServerAdminToolStatus(string sToggleName, optional string sStatus)
-
{
-
local Rx_Mutator_AdminTool_Controller C;
-
-
if ( DebugMode == true ) { ClientMessage("Started function ServerAdminToolAccessLevel with variables sToggleName: " $ sToggleName $ " sStatus: " $ sStatus); }
-
-
/* * * * * * * * * * * * * * * * * * * * */
-
// DONT CHANGE - Start Authentication Check
-
AdminToolAccessLevelAuth(RefArrayAccessLevel[0]);
-
if (OSA == true && (RefArrayStatus[0]) == "true" )
-
{ OSA=false; // DONT CHANGE - Stop Authentication Check
-
/* * * * * * * * * * * * * * * * * * * * */
-
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
C.ServerAdminToolStatusDo(sToggleName, sStatus);
-
}
-
}
-
else
-
{
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
ClientMessage(PlayerReplicationInfo.PlayerName $ " : You must be admin to use the ToggleStatus function");
-
}
-
}
-
}
-
-
reliable server function ServerAdminToolAccessLevel(string sToggleName, int iAccessLevel)
-
{
-
local Rx_Mutator_AdminTool_Controller C;
-
-
if ( DebugMode == true ) { ClientMessage("Started function ServerAdminToolAccessLevel with variables sToggleName: " $ sToggleName $ " iAccessLevel: " $ iAccessLevel); }
-
-
/* * * * * * * * * * * * * * * * * * * * */
-
// DONT CHANGE - Start Authentication Check
-
AdminToolAccessLevelAuth(RefArrayAccessLevel[0]);
-
if (OSA == true && (RefArrayStatus[0]) == "true" )
-
{ OSA=false; // DONT CHANGE - Stop Authentication Check
-
/* * * * * * * * * * * * * * * * * * * * */
-
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
C.ServerAdminToolAccessLevelDo(sToggleName, iAccessLevel);
-
}
-
}
-
else
-
{
-
foreach WorldInfo.AllControllers(class'Rx_Mutator_AdminTool_Controller', C)
-
{
-
ClientMessage(PlayerReplicationInfo.PlayerName $ " : You must be admin to use the ToggleAccessLevel function");
-
}
-
}
-
}
-
-
exec function AdminToolInfo()
-
{
-
local int x;
-
local string Msg;
-
-
/* * * * * * * * * * * * * * * * * * * * */
-
// DONT CHANGE - Start Authentication Check
-
AdminToolAccessLevelAuth(RefArrayAccessLevel[0]);
-
if (OSA == true && (RefArrayStatus[0]) == "true" )
-
{ OSA=false; // DONT CHANGE - Stop Authentication Check
-
/* * * * * * * * * * * * * * * * * * * * */
-
-
ClientMessage(" ");
-
ClientMessage(" Info: function AdminToolInfo");
-
ClientMessage(" ");
-
ClientMessage(" Level: Status: Name: Description:");
-
ClientMessage(" ");
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
Msg = " " $ RefArrayAccessLevel[x] $ " " $ RefArrayStatus[x] $ " " $ RefArrayName[x] $ " " $ RefArrayDescription[x];
-
ClientMessage(Msg);
-
}
-
-
ClientMessage("");
-
}
-
}
-
-
function ServerAdminToolStatusDo(string sToggleName, optional string sStatus) // ToggleStatus Option: true,false,empty(autotoggle)
-
{
-
local int x;
-
-
if ( DebugMode == true ) { ClientMessage("Started function ServerAdminToolStatusDo with variables sToggleName: " $ sToggleName $ " sStatus: " $ sStatus); }
-
if ( DebugMode == true ) { ClientMessage("Jump in array with variable sToggleName: " $ sToggleName); }
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
if(sToggleName == RefArrayName[x] )
-
{
-
if (sStatus == "true")
-
{
-
RefArrayStatus[x] = ("true");
-
if ( DebugMode == true ) ClientMessage( RefArrayStatus[x] $ " Found!" $ sToggleName );
-
}
-
else if (sStatus == "false")
-
{
-
RefArrayStatus[x] = ("false");
-
if ( DebugMode == true ) ClientMessage( RefArrayStatus[x] $ " Found!" $ sToggleName );
-
}
-
else if ("true" == RefArrayStatus[x] )
-
{
-
RefArrayStatus[x] = ("false");
-
if ( DebugMode == true ) ClientMessage( RefArrayStatus[x] $ " Found!" $ sToggleName );
-
}
-
else if ("false" == RefArrayStatus[x] )
-
{
-
RefArrayStatus[x] = ("true");
-
if ( DebugMode == true ) ClientMessage( RefArrayStatus[x] $ " Found!" $ sToggleName );
-
}
-
else
-
{
-
if ( DebugMode == true ) ClientMessage( RefArrayStatus[x] $ " None found!" $ sToggleName );
-
}
-
}
-
}
-
}
-
-
-
function ServerAdminToolAccessLevelDo(string sToggleName, int iAccessLevel){
-
-
local int x;
-
-
if ( DebugMode == true ) { ClientMessage("Started function AdminToolAccessLevel with variables sToggleName: " $ sToggleName $ " iAccessLevel: " $ iAccessLevel); }
-
-
for (x = 0; x < ArrayLength ; x++)
-
{
-
if( sToggleName == RefArrayName[x] )
-
{
-
RefArrayAccessLevel[x] = (iAccessLevel);
-
}
-
}
-
}
-
-
function AdminToolAccessLevelAuth(int iAccessLevel)
-
{
-
local string GroupName;
-
OSA=false;
-
-
switch (iAccessLevel)
-
{
-
case 0:
-
break;
-
-
case 1:
-
Groupname="None";
-
if (PlayerReplicationInfo.PlayerName == "")
-
{
-
OSA=true;
-
}
-
break;
-
-
case 2:
-
GroupName="All Users";
-
if (PlayerReplicationInfo.PlayerName != "")
-
{
-
OSA=true;
-
}
-
break;
-
-
case 3:
-
GroupName="Administrators";
-
if (PlayerReplicationInfo.bAdmin && PlayerReplicationInfo.PlayerName != "")
-
{
-
OSA=true;
-
}
-
break;
-
-
case 4:
-
GroupName="Developers";
-
if (PlayerReplicationInfo.PlayerName != "" && bIsDev)
-
{
-
OSA=true;
-
}
-
break;
-
-
case 5:
-
GroupName="Administrators or Developers";
-
if (PlayerReplicationInfo.bAdmin || bIsDev)
-
{
-
OSA=true;
-
}
-
break;
-
}
-
if ( OSA == true )
-
{
-
ClientMessage( GroupName $ " Accepted with Level : " $ iAccessLevel );
-
}
-
else if ( OSA == false )
-
{
-
ClientMessage( GroupName $ " Denied with Level : " $ iAccessLevel );
-
}
-
// Maybe later add here the modename in the clientmessage
-
}
-
-
-
-
-
defaultproperties
-
{
-
//General
-
OSA=false
-
DebugMode=false;
-
//AuthMode=false; // AccessLevel 0 for None
-
ArrayLength=4; // AccessLevel 1 for All Users
-
// AccessLevel 2 for Administrators
-
//ModeNames // AccessLevel 3 for Developers
-
RefArrayName[0]="allmode";
-
RefArrayName[1]="mode1"; // RefArrayName (string)
-
RefArrayName[2]="mode2"; // ModeNames : this variable is used to set the default Name for any Mode
-
RefArrayName[3]="mode3";
-
// RefArrayStatus (string)
-
//Modedescription // ModeStatus : This variable is used to set the default Status for any Mode. (false and False)
-
RefArrayDescription[0]="All modes";
-
RefArrayDescription[1]="FutureSoldier"; // RefArrayAccessLevel (int)
-
RefArrayDescription[2]="SandboxSpawn"; // Modesnames : This variable is used to set the default AccessLevel for any Mode. (0-4)
-
RefArrayDescription[3]="SandboxGimme";
-
// TODO: create accesslevels that are static to users, for use in subfunctions
-
//ModeStatus
-
RefArrayStatus[0]="true";
-
RefArrayStatus[1]="true";
-
RefArrayStatus[2]="true";
-
RefArrayStatus[3]="true";
-
-
//ModeAccessLevel
-
RefArrayAccessLevel[0]=2;
-
RefArrayAccessLevel[1]=0;
-
RefArrayAccessLevel[2]=0;
-
RefArrayAccessLevel[3]=0;
-
}
-
-
On 21-2-2017 at 7:15 PM, Ruud033 said:
I'll update the SDK soon as 5.283 is out
-
Rx_Mutator_AdminTool
Warning : This mutator can crash your server
* This mutator will add a votemenu item, the submenu's contain items you can enable/disable during gameplay
* For now i added the functions "FutureSoldier","Sandbox"........ Later i will add more options
Modes :
All modes can be enabled by entering the "Vote Menu" (Ctrl+V), then choose "Server GameTools" (9).
The modes below will be displayed on the screen, choose the mode by number.
Mode 1 : FutureSoldier
Mode 2 : Sandbox (SandboxSpawn)
Mode 3 : Sandbox (Gimme)
After the vote successfully ended, the Mode Access-Level will be set to 2, the chosen mode will be activated en accessible by the command screen (F5 or ~)
Commands:
Mode 1 Command :
Futuresoldier
Mode 2 Command :
SandboxSpawn
SandboxKillOwned destroy all items spawned in Sandbox
SandboxHelp
Mode 3 Command :
Gimme
Commands (Only Admins) options:
AdminToolHelp - Displays information about accesslevels
AdminToolInfo - Displays the current status of all modes
AdminTool {Mode} (Optional{Status}) (Optional{Level})Command: Description:
Admintool mode1 - toggle current status mode1
Admintool mode2 true - toggle current status mode2 to true
Admintool mode3 false 1 - toggle current status mode3 to false and set mode1 access-level to 1
Admintool mode4 2 true - toggle current status mode4 to true and set mode1 access-level to 2
Admintool mode1 3 - set mode1 access-level to 3
Mode Acces-Levels :
1 = None
2 = All Users
3 = Administrators
4 = Developers
5 = Administrators and Developers
Mode Status :
true = mode is Enabled (All Users got access to the function depending on the Access-Level of the mode)
false = mode is Disabled (Can only be enabled by command line)
Version 1.0.0
Compatible with Renegade X v5.283
-
Submitter
-
Submitted02/25/2017
-
Category
- 1
-
-
On this moment i did find out 2 solutions :
1. Just duplicate the votesystem, make it unique and disable old system.
2. Extend the current votesystem (In my opinion this one got more limitations, but is more easy to implement)
-
Can anybody tell me why this does not work onlineOffline it added an extra option to the VoteMenu. (Compiled file : Rx_Mutator_VoteMenu.u )
How do i get it to run on my server ?Rx_Mutator_VoteMenu : (Content)
-
// *****************************************************************************
-
// * * * * * * * * * * * * Rx_Mutator_VoteMenu * * * * * * * * * * * * * *
-
// *****************************************************************************
-
class Rx_Mutator_VoteMenu extends Rx_Mutator;
-
-
event PreBeginPlay()
-
{
-
local Rx_VoteMenuHandler VoteMod;
-
super.PreBeginPlay();
-
-
VoteMod=Rx_VoteMenuHandler(GetDefaultObject(Class'Rx_VoteMenuHandler'));
-
VoteMod.VoteChoiceClasses[8] = class'Rx_VoteMenuChoice_ExtraChoice';
-
}
-
-
final static function object GetDefaultObject(class ObjClass)
-
{
-
return FindObject(ObjClass.GetPackageName()$".Default__"$ObjClass, ObjClass);
-
}
-
-
defaultproperties
-
{
-
}
-
Rx_VoteMenuChoice_ExtraChoice : (Content)
-
// *****************************************************************************
-
// * * * * * * * * * Rx_VoteMenuChoice_ExtraChoice * * * * * * * * * * * * * *
-
// *****************************************************************************
-
class Rx_VoteMenuChoice_ExtraChoice extends Rx_VoteMenuChoice;
-
-
-
function Init()
-
{
-
ToTeam = Handler.PlayerOwner.PlayerReplicationInfo.Team.TeamIndex;
-
Finish();
-
}
-
-
-
function string ComposeTopString()
-
{
-
return super.ComposeTopString() $ " is calling for turn mode1";
-
}
-
-
function Execute(Rx_Game game)
-
{
-
// Do something
-
}
-
-
DefaultProperties
-
{
-
PercentYesToPass=0.20f
-
MenuDisplayString = "ExtraChoice"
-
}
I did found the code below, maybe it help to solve the problem :
-
if(Rx_Controller(PlayerOwner) !=none && Rx_Controller(PlayerOwner).VoteHandler != none)
-
{
-
if(Rx_Controller(PlayerOwner).VoteHandler.VoteChoiceClasses.Length < (8+ExtraVoteNum))
-
{
-
Rx_Controller(PlayerOwner).VoteHandler.VoteChoiceClasses.AddItem(class'RenX_CommanderMod.Rx_VoteMenuChoice_Commander'); //1
-
}
-
}
- 1
-
-
46 minutes ago, voltex said:
For those that are into drinking games, take a shot every time a bot suicides.
Danny look what you've done.
I didnt know this server was able to run that much bots.Now you did got the opportunity @voltex to work on your K\D.
-
The benefit of an 40+ player server is that more players play this game, instead of going to an other activity.
I think this is one of the most important reasons to raise the current hardcap limit. I have not seen this many players as last weekend.Now, there are more than 80 people online on the same time.
I am totally not satisfied with this amount, because I will never be, when there is some higher goal that is capable of being achieved =).I think the max player can be a tool to gain more people on the servers, since I have seen more Americans join the server because there a slot free in the evening compared to just being stuck at 40 players and people not bothering to wait for a slot.
For myself the performance of the game decrease a little bit, and some maps were definately not designed to handle that many but I accept that is a price I have to pay to help the community to build back up.
I have uploaded a good number of mutators to help promote different play styles and gameplay methods, and they are available to everyone, this included breaking the player cap to try playing with large bot count servers.
I think people should be allowed to make the servers whatever size they feel their server can handle since not everyone has a server that can handle even 32 players.I think the acceptable limit is somewhere around 64 (previous hard cap), but even then I don't advise to just run a 64 player server, since not every server can run that many, but... there are servers that can handle it.
-
Because this mutator is missing as only one in this list, i added it manually.
- 1
-
6 minutes ago, Schmitzenbergh said:
News of the Sunday PUG: The 2nd weekly buggy rush occured! Due to a false start of @Ukill and others, a Nukeall was needed...
QuoteNot on my Watch
@Ukill has discovered the power of the messiah and can now float through the map! Too bad he didn't use it to win the game...
QuoteThats what they call godlike @Schmitzenbergh
-
Successful
File: Rx_Mutator_Controller.uc (content)Spoiler// ***************************************************************************** // * * * * * * * * * * * * * Rx_Mutator_Controller * * * * * * * * * * * * * * // ***************************************************************************** class Rx_Mutator_TestMode_Controller extends Rx_Controller; var RepNotify Bool bTestMode; replication { if(bNetDirty) // if(bNetDirty && ROLE == ROLE_Authority) bTestMode; } exec function TestModeCheck() { // Check TestMode if (bTestMode) { ClientMessage("TestMode activated",,1); } else { ClientMessage("TestMode deactivated",,1); } } function TestModeToggleSet() { // Stop TestModeSet if (bTestMode) { bTestMode=false; //false } else { bTestMode=true; //true } } exec function TestModeToggle() { //Just call for server to try and toggle ServerTestModeToggle(); } reliable server function ServerTestModeToggle() { local Rx_Mutator_TestMode_Controller C; if (PlayerReplicationInfo.bAdmin) { foreach WorldInfo.AllControllers(class'Rx_Mutator_TestMode_Controller', C) { C.TestModeToggleSet(); C.TestModeCheck(); } } else { ClientMessage("First login as admin",,1); } } //Only ever do admin checks on the actual server. DefaultProperties { bTestMode=false; }
Now i like to find out how i do Keep the variable alive between Map Changes ?
Do i need then to extend to an other class ?
Any idea's @yosh56 or @Agent ? -
Thanks! @Agent, i am gonna search and try it out.
-
We did lose all the games , but most important, we did have some fun.
- 5
-
None, it does not matter from which client i try, but it will change the variable local
[Mutator] Timed Disable Of Advanced Defenses for Marathon
in Releases
Posted
does anybody got a copy of this file ?