@@ -13,6 +13,7 @@ public Plugin myinfo =
1313};
1414
1515char path [PLATFORM_MAX_PATH ];
16+ char mapeaMapName [128 ];
1617ArrayList weps ;
1718ArrayList buts ;
1819ArrayList filt ;
@@ -26,7 +27,7 @@ public void OnPluginStart()
2627 buts = CreateArray ();
2728 filt = CreateArray ();
2829 dire = CreateConVar (" ewmaker_path" , " addons/sourcemod/configs/entwatch_maker" , " Path to store generated configs in. Relative to csgo/" , _ , true , 0.0 , true , 1.0 );
29- style = CreateConVar (" ewmaker_style" , " 1" , " Options to include (0=GFL style, 1=DarkerZ Style)" , _ , true , 0.0 , true , 1 .0 );
30+ style = CreateConVar (" ewmaker_style" , " 1" , " Options to include (0=GFL style, 1=DarkerZ Style, 2=Mapea MapTrack style )" , _ , true , 0.0 , true , 2 .0 );
3031 RegConsoleCmd (" sm_ewmake" , Command_Make );
3132 AutoExecConfig ();
3233}
@@ -35,6 +36,7 @@ public void OnMapInit(const char[] mapName)
3536{
3637 dire .GetString (path , PLATFORM_MAX_PATH );
3738 Format (path , PLATFORM_MAX_PATH , " %s /%s .cfg" , path , mapName );
39+ strcopy (mapeaMapName , sizeof (mapeaMapName ), mapName );
3840}
3941
4042public Action Command_Make (int client , int args )
@@ -112,12 +114,13 @@ public int LoadConfig()
112114 return 1 ;
113115 }
114116
115- file .WriteString (" \" entities \"\n {\n " , false );
117+ file .WriteLine (" \" %s \"\n {" , style . IntValue == 2 ? mapeaMapName : " entities " );
116118 char key [64 ];
117119 char val [128 ];
118120 char targe [64 ];
119121 char bhammer [16 ];
120122 char filter [64 ];
123+ char filterid [16 ];
121124 char output [5 ][32 ];
122125 bool knife ;
123126 bool gameui ;
@@ -131,6 +134,7 @@ public int LoadConfig()
131134 hammer [0 ] = ' \0 ' ;
132135 bhammer [0 ] = ' \0 ' ;
133136 filter [0 ] = ' \0 ' ;
137+ filterid [0 ] = ' \0 ' ;
134138 knife = false ;
135139 gameui = false ;
136140 ent = EntityLump .Get (weps .Get (i ));
@@ -188,6 +192,7 @@ public int LoadConfig()
188192 if (! StrEqual (ftargetname , output [0 ])) continue ;
189193
190194 filterr .GetNextKey (" filtername" , filter , sizeof (filter ));
195+ filterr .GetNextKey (" hammerid" , filterid , sizeof (filterid ));
191196 break ;
192197 }
193198 delete filterr ;
@@ -201,58 +206,83 @@ public int LoadConfig()
201206
202207 file .WriteLine (" \t\" %d \" " , index );
203208 file .WriteLine (" \t {" );
204- file .WriteLine (" \t\t\" name\" \" %s \" //currently weapon targetname (change me)" , targe );
205- file .WriteLine (" \t\t\" shortname\" \" %s \" //currently weapon targetname (change me)" , targe );
206- file .WriteLine (" \t\t\" color\" \" {default } \" // Change me" );
207- file .WriteLine (" \t\t " );
208- file .WriteLine (" \t\t\" buttonclass\" \" %s \" " , gameui ? " game_ui" : " func_button" );
209- if (style .IntValue == 1 ) file .WriteLine (" \t\t\" buttonclass2\" \"\" " );
210- file .WriteLine (" \t\t " );
211- file .WriteLine (" \t\t\" filtername\" \" %s \" " , filter );
212- if (style .IntValue == 0 ) file .WriteLine (" \t\t\" hasfiltername\" \" %s \" " , filter [0 ] ? " true" : " false" );
209+ if (style .IntValue != 2 ) // GFL & Darkerz styles
210+ {
211+ file .WriteLine (" \t\t\" name\" \" %s \" //currently weapon targetname (change me)" , targe );
212+ file .WriteLine (" \t\t\" shortname\" \" %s \" //currently weapon targetname (change me)" , targe );
213+ file .WriteLine (" \t\t\" color\" \" {default } \" // Change me" );
214+ file .WriteLine (" \t\t " );
215+ file .WriteLine (" \t\t\" buttonclass\" \" %s \" " , gameui ? " game_ui" : " func_button" );
216+ if (style .IntValue == 1 ) file .WriteLine (" \t\t\" buttonclass2\" \"\" " );
217+ file .WriteLine (" \t\t " );
218+ file .WriteLine (" \t\t\" filtername\" \" %s \" " , filter );
219+ if (style .IntValue == 0 ) file .WriteLine (" \t\t\" hasfiltername\" \" %s \" " , filter [0 ] ? " true" : " false" );
213220
214- file .WriteLine (" \t\t\" blockpickup\" \" false\" " );
215- file .WriteLine (" \t\t\" allowtransfer\" \" %s \" " , knife ? " false" : " true" );
216- file .WriteLine (" \t\t\" forcedrop\" \" %s \" " , knife ? " false" : " true" );
221+ file .WriteLine (" \t\t\" blockpickup\" \" false\" " );
222+ file .WriteLine (" \t\t\" allowtransfer\" \" %s \" " , knife ? " false" : " true" );
223+ file .WriteLine (" \t\t\" forcedrop\" \" %s \" " , knife ? " false" : " true" );
217224
218- file .WriteLine (" \t\t\" chat\" \" true\" " );
219- if (style .IntValue == 1 ) file .WriteLine (" \t\t\" chat_uses\" \" true\" " );
225+ file .WriteLine (" \t\t\" chat\" \" true\" " );
226+ if (style .IntValue == 1 ) file .WriteLine (" \t\t\" chat_uses\" \" true\" " );
220227
221- file .WriteLine (" \t\t\" hud\" \" true\" " );
228+ file .WriteLine (" \t\t\" hud\" \" true\" " );
222229
223- file .WriteLine (" \t\t\" hammerid\" \" %s \" " , hammer );
230+ file .WriteLine (" \t\t\" hammerid\" \" %s \" " , hammer );
224231
225- file .WriteLine (" \t\t " );
226- file .WriteLine (" \t\t // [EntWatchMaker] Settings below need changing." );
227- file .WriteLine (" \t\t\" mode\" \" 0\" // 0-none, 1-spam, 2-cd, 3-uses, 4-use w/ cd, 5-cd after uses, 6-counter stop@min, 7-counter stop@max" );
228- if (style .IntValue == 1 ) file .WriteLine (" \t\t\" mode2\" \" 0\" " );
229- file .WriteLine (" \t\t " );
230- file .WriteLine (" \t\t\" cooldown\" \" 0\" //mode = 2/4/5" );
231- if (style .IntValue == 1 ) file .WriteLine (" \t\t\" cooldown2\" \" 0\" //mode2 = 2/4/5" );
232- file .WriteLine (" \t\t\" maxuses\" \" 0\" //mode = 3/4/5" );
233- if (style .IntValue == 1 ) file .WriteLine (" \t\t\" maxuses2\" \" 0\" //mode2 = 3/4/5" );
234- file .WriteLine (" \t\t " );
235-
236- if (style .IntValue == 0 ) file .WriteLine (" \t\t\" mathid\" \" 0\" //mode 6/7" );
237- else
238- {
239- file .WriteLine (" \t\t\" energyid\" \" 0\" //mode = 6/7" );
240- file .WriteLine (" \t\t\" energyid2\" \" 0\" //mode2 = 6/7" );
241- }
242-
243- file .WriteLine (" \t\t //\" buttonid\" \" %s \" //hammerid of a detected button" , bhammer );
244- if (style .IntValue == 1 ) file .WriteLine (" \t\t //\" buttonid2\" \"\" " );
245- file .WriteLine (" \t\t\" trigger\" \" 0\" " );
232+ file .WriteLine (" \t\t " );
233+ file .WriteLine (" \t\t // [EntWatchMaker] Settings below need changing." );
234+ file .WriteLine (" \t\t\" mode\" \" 0\" // 0-none, 1-spam, 2-cd, 3-uses, 4-use w/ cd, 5-cd after uses, 6-counter stop@min, 7-counter stop@max" );
235+ if (style .IntValue == 1 ) file .WriteLine (" \t\t\" mode2\" \" 0\" " );
236+ file .WriteLine (" \t\t " );
237+ file .WriteLine (" \t\t\" cooldown\" \" 0\" //mode = 2/4/5" );
238+ if (style .IntValue == 1 ) file .WriteLine (" \t\t\" cooldown2\" \" 0\" //mode2 = 2/4/5" );
239+ file .WriteLine (" \t\t\" maxuses\" \" 0\" //mode = 3/4/5" );
240+ if (style .IntValue == 1 ) file .WriteLine (" \t\t\" maxuses2\" \" 0\" //mode2 = 3/4/5" );
241+ file .WriteLine (" \t\t " );
242+
243+ if (style .IntValue == 0 ) file .WriteLine (" \t\t\" mathid\" \" 0\" //mode 6/7" );
244+ else
245+ {
246+ file .WriteLine (" \t\t\" energyid\" \" 0\" //mode = 6/7" );
247+ file .WriteLine (" \t\t\" energyid2\" \" 0\" //mode2 = 6/7" );
248+ }
249+
250+ file .WriteLine (" \t\t //\" buttonid\" \" %s \" //hammerid of a detected button" , bhammer );
251+ if (style .IntValue == 1 ) file .WriteLine (" \t\t //\" buttonid2\" \"\" " );
252+ file .WriteLine (" \t\t\" trigger\" \" 0\" " );
246253
247- file .WriteLine (" \t\t " );
248- file .WriteLine (" \t\t\" physbox\" \" false\" " );
249- if (style .IntValue == 0 ) file .WriteLine (" \t\t\" maxamount\" \" 1\" " );
254+ file .WriteLine (" \t\t " );
255+ file .WriteLine (" \t\t\" physbox\" \" false\" " );
256+ if (style .IntValue == 0 ) file .WriteLine (" \t\t\" maxamount\" \" 1\" " );
250257
251- if (style .IntValue == 1 )
258+ if (style .IntValue == 1 )
259+ {
260+ file .WriteLine (" \t\t " );
261+ file .WriteLine (" \t\t\" pt_spawner\" \"\" " );
262+ file .WriteLine (" \t\t\" use_priority\" \" true\" " );
263+ }
264+ } else // Mapea Maptrack style
252265 {
266+ file .WriteLine (" \t\t\" hammerid\" \" %s \" " , hammer );
267+ file .WriteLine (" \t\t\" name\" \" %s \" //currently weapon targetname (change me)" , targe );
268+ file .WriteLine (" \t\t\" shortname\" \" %s \" //currently weapon targetname (change me)" , targe );
269+ file .WriteLine (" \t\t\" color\" \" {WHITE } \" // Change me" );
270+ file .WriteLine (" \t\t\" glowcolor\" \" 255 255 255 255\" // Change me" );
271+ file .WriteLine (" \t\t\" maxamount\" \"\" " );
272+ file .WriteLine (" \t\t " );
273+
274+ file .WriteLine (" \t\t\" buttonclass\" \" %s \" " , gameui ? " game_ui" : " func_button" );
275+ file .WriteLine (" \t\t\" filterid\" \" %s \" " , filterid );
276+ file .WriteLine (" \t\t\" passive\" \"\" " );
277+ file .WriteLine (" \t\t\" blockpickup\" \"\" " );
278+ file .WriteLine (" \t\t\" forcedrop\" \" true\" " );
279+ file .WriteLine (" \t\t\" maxuses\" \" -1\" " );
280+ file .WriteLine (" \t\t\" cooldown\" \"\" " );
281+ file .WriteLine (" \t\t\" ignoredactions\" \"\" " );
253282 file .WriteLine (" \t\t " );
254- file .WriteLine (" \t\t\" pt_spawner\" \"\" " );
255- file .WriteLine (" \t\t\" use_priority\" \" true\" " );
283+
284+ file .WriteLine (" \t\t\" chat\" \" true\" " );
285+ file .WriteLine (" \t\t\" hud\" \" true\" " );
256286 }
257287
258288 file .WriteLine (" \t }" );
0 commit comments