‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_serversettings.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\system_shared;
5 
6 #insert scripts\shared\shared.gsh;
7 
8 #namespace serversettings;
9 
10 ‪REGISTER_SYSTEM( "serversettings", &‪__init__, undefined )
11 
12 function ‪__init__()
13 {
15 }
16 
17 function ‪main()
18 {
19  level.hostname = GetDvarString( "sv_hostname");
20  if(level.hostname == "")
21  {
22  level.hostname = "CoDHost";
23  }
24  SetDvar("sv_hostname", level.hostname);
25  SetDvar("ui_hostname", level.hostname);
26  //makeDvarServerInfo("ui_hostname", "CoDHost");
27 
28  level.motd = GetDvarString( "scr_motd" );
29  if(level.motd == "")
30  {
31  level.motd = "";
32  }
33  SetDvar("scr_motd", level.motd);
34  SetDvar("ui_motd", level.motd);
35  //makeDvarServerInfo("ui_motd", "");
36 
37  level.allowvote = GetDvarString( "g_allowvote");
38  if(level.allowvote == "")
39  {
40  level.allowvote = "1";
41  }
42  SetDvar("g_allowvote", level.allowvote);
43  SetDvar("ui_allowvote", level.allowvote);
44  //makeDvarServerInfo("ui_allowvote", "1");
45 
46  level.allow_teamchange = "0";
47  if( SessionModeIsPrivate() || !SessionModeIsOnlinegame() )
48  {
49  level.allow_teamchange = "1";
50  }
51  SetDvar("ui_allow_teamchange", level.allow_teamchange);
52 
53 
54  level.friendlyfire = GetGametypeSetting( "friendlyfiretype" );
55 
56  SetDvar("ui_friendlyfire", level.friendlyfire);
57  //makeDvarServerInfo("ui_friendlyfire", "0");
58 
59  if(GetDvarString( "scr_mapsize") == "")
60  {
61  SetDvar("scr_mapsize", "64");
62  }
63  else if(GetDvarfloat( "scr_mapsize") >= 64)
64  {
65  SetDvar("scr_mapsize", "64");
66  }
67  else if(GetDvarfloat( "scr_mapsize") >= 32)
68  {
69  SetDvar("scr_mapsize", "32");
70  }
71  else if(GetDvarfloat( "scr_mapsize") >= 16)
72  {
73  SetDvar("scr_mapsize", "16");
74  }
75  else
76  {
77  SetDvar("scr_mapsize", "8");
78  }
79  level.mapsize = GetDvarfloat( "scr_mapsize");
80 
81  ‪constrainGameType(GetDvarString( "g_gametype"));
82  ‪constrainMapSize(level.mapsize);
83 
84  for(;;)
85  {
87  wait 5;
88  }
89 }
90 
92 {
93  sv_hostname = GetDvarString( "sv_hostname");
94  if(level.hostname != sv_hostname)
95  {
96  level.hostname = sv_hostname;
97  SetDvar("ui_hostname", level.hostname);
98  }
99 
100  scr_motd = GetDvarString( "scr_motd");
101  if(level.motd != scr_motd)
102  {
103  level.motd = scr_motd;
104  SetDvar("ui_motd", level.motd);
105  }
106 
107  g_allowvote = GetDvarString( "g_allowvote");
108  if(level.allowvote != g_allowvote)
109  {
110  level.allowvote = g_allowvote;
111  SetDvar("ui_allowvote", level.allowvote);
112  }
113 
114  scr_friendlyfire = GetGametypeSetting( "friendlyfiretype" );
115  if(level.friendlyfire != scr_friendlyfire)
116  {
117  level.friendlyfire = scr_friendlyfire;
118  SetDvar("ui_friendlyfire", level.friendlyfire);
119  }
120 }
121 
122 function ‪constrainGameType(gametype)
123 {
124  entities = getentarray();
125  for(i = 0; i < entities.size; i++)
126  {
127  entity = entities[i];
128 
129  if(gametype == "dm")
130  {
131  if(isdefined(entity.script_gametype_dm) && entity.script_gametype_dm != "1")
132  {
133  //iprintln("DELETED(GameType): ", entity.classname);
134  entity delete();
135  }
136  }
137  else if(gametype == "tdm")
138  {
139  if(isdefined(entity.script_gametype_tdm) && entity.script_gametype_tdm != "1")
140  {
141  //iprintln("DELETED(GameType): ", entity.classname);
142  entity delete();
143  }
144  }
145  else if(gametype == "ctf")
146  {
147  if(isdefined(entity.script_gametype_ctf) && entity.script_gametype_ctf != "1")
148  {
149  //iprintln("DELETED(GameType): ", entity.classname);
150  entity delete();
151  }
152  }
153  else if(gametype == "hq")
154  {
155  if(isdefined(entity.script_gametype_hq) && entity.script_gametype_hq != "1")
156  {
157  //iprintln("DELETED(GameType): ", entity.classname);
158  entity delete();
159  }
160  }
161  else if(gametype == "sd")
162  {
163  if(isdefined(entity.script_gametype_sd) && entity.script_gametype_sd != "1")
164  {
165  //iprintln("DELETED(GameType): ", entity.classname);
166  entity delete();
167  }
168  }
169  else if(gametype == "koth")
170  {
171  if(isdefined(entity.script_gametype_koth) && entity.script_gametype_koth != "1")
172  {
173  //iprintln("DELETED(GameType): ", entity.classname);
174  entity delete();
175  }
176  }
177  }
178 }
179 
180 function ‪constrainMapSize(mapsize)
181 {
182  entities = getentarray();
183  for(i = 0; i < entities.size; i++)
184  {
185  entity = entities[i];
186 
187  if(int(mapsize) == 8)
188  {
189  if(isdefined(entity.script_mapsize_08) && entity.script_mapsize_08 != "1")
190  {
191  //iprintln("DELETED(MapSize): ", entity.classname);
192  entity delete();
193  }
194  }
195  else if(int(mapsize) == 16)
196  {
197  if(isdefined(entity.script_mapsize_16) && entity.script_mapsize_16 != "1")
198  {
199  //iprintln("DELETED(MapSize): ", entity.classname);
200  entity delete();
201  }
202  }
203  else if(int(mapsize) == 32)
204  {
205  if(isdefined(entity.script_mapsize_32) && entity.script_mapsize_32 != "1")
206  {
207  //iprintln("DELETED(MapSize): ", entity.classname);
208  entity delete();
209  }
210  }
211  else if(int(mapsize) == 64)
212  {
213  if(isdefined(entity.script_mapsize_64) && entity.script_mapsize_64 != "1")
214  {
215  //iprintln("DELETED(MapSize): ", entity.classname);
216  entity delete();
217  }
218  }
219  }
220 }
‪constrainGameType
‪function constrainGameType(gametype)
Definition: _serversettings.gsc:122
‪main
‪function main()
Definition: _serversettings.gsc:17
‪on_start_gametype
‪function on_start_gametype(func, obj)
Definition: callbacks_shared.csc:285
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪__init__
‪function __init__()
Definition: _serversettings.gsc:12
‪updateServerSettings
‪function updateServerSettings()
Definition: _serversettings.gsc:91
‪constrainMapSize
‪function constrainMapSize(mapsize)
Definition: _serversettings.gsc:180