Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty-Board » Fix-Dateien, Modding-Fragen, Scripting » Admiral MOD - Mapvote am Ende der Map » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Admiral MOD - Mapvote am Ende der Map
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Admiral MOD - Mapvote am Ende der Map Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kann mir ein Scripter helfen??

Wenn beim Mapvote kein eindeutiges Ergebnis feststeht, sondern nur einzelne Stimmen abgegeben wurden, nimmt der Mod die oberste Zeile.

Da wär n Random besser...

Hier das Script:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
// * AdmiralMOD by Matthias Lorenz, http://www.cod2mod.com *



Vote() {


	if(game["am_error_logfile"] == 1) logPrint("Vote\n");


	level notify("am_vote_start");

	level.vote_starting = true;


	players = getentarray("player", "classname");
	if(players.size < 1) return;


	
	maps\mp\gametypes\_admiral_mod_hud::deleteLevelHudElementAll();
		
		
	if(isDefined(level.clock))	level.clock destroy();		



	// * Alle Player spawnen *        
	players = getentarray("player", "classname");
	for(i = 0; i < players.size; i++) {

		// * Nur die Spieler Spawnen, die eine Teamzuordnung haben *
		if(isDefined(players[i].pers["team"]) && (players[i].pers["team"] == "allies" || players[i].pers["team"] == "axis") ) {
		
			players[i] maps\mp\gametypes\_admiral_mod_player::SpawnVotePlayer();		
			players[i] freezeControls(true);	
		}
		
		
		// * Für Spectators nur Vote-Tabelle anzeigen *
		if(isDefined(players[i].pers["team"]) && players[i].pers["team"] == "spectator") {
		
			players[i].pers["team"] 	= "axis";
			players[i].pers["weapon"] 	= "shotgun_mp";
			players[i] maps\mp\gametypes\_admiral_mod_player::SpawnVotePlayer();		
			players[i] freezeControls(true);			
		}
				
	}


	wait 0.2;


	players = getentarray("player","classname");

	for(i=0;i<players.size;i++) {

		players[i] openMenu("close_highscore"); 		
		players[i] closeMenu(); 

		players[i] maps\mp\gametypes\_admiral_mod_player::ClearHud();

		if(isDefined(players[i].hud_teamicon))		players[i].hud_teamicon destroy();		
		if(isDefined(players[i].hud_enemyicon))		players[i].hud_enemyicon destroy();		
		if(isDefined(players[i].hud_teamscore))		players[i].hud_teamscore destroy();		
		if(isDefined(players[i].hud_enemyscore))	players[i].hud_enemyscore destroy();		
	

 		// * Wenn nur Clanmember, dann Check *
		if(game["am_vote_only_clanmembers"] == 1) {
			
			if(!isDefined(players[i].pers["clanmember"])) {
			
				players[i] setClientCvar("am_ui_show_vote_only_for_clanmembers", "1");					
				continue;
			}
			
			// * Vote nur für Clanmembers *
			if(game["am_vote_map"] == 1) 		players[i] thread maps\mp\gametypes\_admiral_mod_player::VoteMap(game["am_vote_maps"]);
			if(game["am_vote_gametype"] == 1) 	players[i] thread maps\mp\gametypes\_admiral_mod_player::VoteGametype(game["am_vote_gametypes"]);

		}
		else {

			// * Vote für alle *
			if(game["am_vote_map"] == 1) 		players[i] thread maps\mp\gametypes\_admiral_mod_player::VoteMap(game["am_vote_maps"]);
			if(game["am_vote_gametype"] == 1) 	players[i] thread maps\mp\gametypes\_admiral_mod_player::VoteGametype(game["am_vote_gametypes"]);
		}
	}



	
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_top", 0,0,"left","top","fullscreen","fullscreen",false,"black",640,80,-50,1,0,0,0);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_bottom", 0,400,"left","top","fullscreen","fullscreen",false,"black",640,80,-50,1,0,0,0);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_top_line", 0,80,"left","top","fullscreen","fullscreen",false,"white",640,2,-50,1,0.7,0.7,0.7);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_bottom_line", 0,398,"left","top","fullscreen","fullscreen",false,"white",640,2,-50,1,0.7,0.7,0.7);

	maps\mp\gametypes\_admiral_mod_hud::showVoteBoard();




	level thread ShowMostVotedMaps();
	level thread ShowMostVotedGametypes();


	vote_zeit = game["am_vote_time"];

	maps\mp\gametypes\_admiral_mod_hud::createLevelTimerHudElement("vote_timer", 320,450,"center","middle","fullscreen","fullscreen",false,"default",2,4,&"AM_MP_TIME_TO_VOTE",vote_zeit,1,0.7,0,0);
	wait vote_zeit;  // Vote Zeit

	maps\mp\gametypes\_admiral_mod_hud::deleteLevelHudElementByName("vote_timer");





	// *** Auswertung ***

	level notify("am_vote_end");

	wait 1;
	
	// * Most Votes Anzeige beenden *
	level notify("am_vote_end_most_votes");
	
	
	
	// * Wenn kein Spieler mehr da, dann weiter in der normalen Map-Rotation *
	players = getentarray("player", "classname");
	if(players.size < 1) return;




	// **  Map  ** 
	gewaehlte_map = -2;

	if(game["am_vote_map"] == 1) {

		map_vote_punkte = [];

		// * Punkte-Liste auf 0 setzen (für die Maps) *
		for(i=0;i<game["am_vote_maps"].size;i++) map_vote_punkte[i] = 0;


		// * Ergebnis ermitteln *
		players = getentarray("player", "classname");

		for(i = 0; i < players.size; i++) {
	
			if(isDefined(players[i].vote_position_map)) {

				pos = players[i].vote_position_map;            
				if(!isDefined(map_vote_punkte[pos])) map_vote_punkte[pos] = 0; 
				map_vote_punkte[pos]++;           
			}
		}

		map_meisten_punkte  = 0;

		for(i = 0; i < game["am_vote_maps"].size; i++) {
			
			if(isDefined(map_vote_punkte[i]) && map_vote_punkte[i] > map_meisten_punkte) {

				map_meisten_punkte = map_vote_punkte[i];
				gewaehlte_map = i;				
			}
		}
	}



	// **  Gameytpe  ** 
	gewaehlte_gametype = -2;

	if(game["am_vote_gametype"] == 1) {

		gametype_vote_punkte = [];

		// * Punkte-Liste auf 0 setzen (für die gametypes) *
		for(i=0;i<game["am_vote_gametypes"].size;i++) gametype_vote_punkte[i] = 0;


		// * Ergebnis ermitteln *
		players = getentarray("player", "classname");

		for(i = 0; i < players.size; i++) {
			
			if(isDefined(players[i].vote_position_gametype)) {

				pos = players[i].vote_position_gametype;    
				if(!isDefined(gametype_vote_punkte[pos])) gametype_vote_punkte[pos] = 0; 
				gametype_vote_punkte[pos]++;           
			}
		}

		gametype_meisten_punkte  = 0;

		for(i = 0; i < game["am_vote_gametypes"].size; i++) {

			if(isDefined(gametype_vote_punkte[i]) && gametype_vote_punkte[i] > gametype_meisten_punkte) {

				gametype_meisten_punkte = gametype_vote_punkte[i];
				gewaehlte_gametype = i;				
			}
		}
	}




	// *** Ergebnis anzeigen ***


	//* gewählte Map und Gametype hervorheben (neue Position + Farben der Balken) *
	
	players = getentarray("player", "classname");

	for(i = 0; i < players.size; i++) {

		if(game["am_vote_map"] == 1) {
		
			data = players[i] maps\mp\gametypes\_admiral_mod_hud::getPlayerHudElementDataByName("vote_point_map");
			if(isDefined(data)) players[i] maps\mp\gametypes\_admiral_mod_hud::changePlayerHudElementByName("vote_point_map",data["shader"],data["width"],data["height"],0.7,data["color"]);
		}
		
		if(game["am_vote_gametype"] == 1) {
		
			data = players[i] maps\mp\gametypes\_admiral_mod_hud::getPlayerHudElementDataByName("vote_point_gametype");
			if(isDefined(data)) players[i] maps\mp\gametypes\_admiral_mod_hud::changePlayerHudElementByName("vote_point_gametype",data["shader"],data["width"],data["height"],0.7,data["color"]);
		}

		players[i] maps\mp\gametypes\_admiral_mod_hud::changePlayerHudElementPositionByName("vote_point_map",170,120 + gewaehlte_map * 15);
		players[i] maps\mp\gametypes\_admiral_mod_hud::changePlayerHudElementPositionByName("vote_point_gametype",470,120 + gewaehlte_gametype * 15);
	}
	
	wait 5;


	// * Hud befreien *
	players = getentarray("player", "classname");

	for(i = 0; i < players.size; i++) {

		players[i] maps\mp\gametypes\_admiral_mod_player::ClearHud();

		players[i] setClientCvar("am_ui_show_vote_headline", "0");
		players[i] setClientCvar("am_ui_show_vote_map_button", "0");
		players[i] setClientCvar("am_ui_show_vote_gametype_button", "0");
		players[i] setClientCvar("am_ui_show_vote_board_maps", "0");
		players[i] setClientCvar("am_ui_show_vote_board_gametypes", "0");
		players[i] setClientCvar("am_ui_show_vote_only_for_clanmembers", "0");	
	}




	maps\mp\gametypes\_admiral_mod_hud::deleteLevelHudElementAll();
	
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_top", 0,0,"left","top","fullscreen","fullscreen",false,"black",640,80,-50,1,0,0,0);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_bottom", 0,400,"left","top","fullscreen","fullscreen",false,"black",640,80,-50,1,0,0,0);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_top_line", 0,80,"left","top","fullscreen","fullscreen",false,"white",640,2,-50,1,0.7,0.7,0.7);
	level maps\mp\gametypes\_admiral_mod_hud::createLevelHudElement("cinema_vote_bottom_line", 0,398,"left","top","fullscreen","fullscreen",false,"white",640,2,-50,1,0.7,0.7,0.7);



	// * Nächste Map und nächster Gametype aus der normalen Maprotation holen *
	map 		= maps\mp\gametypes\_admiral_mod_hud::getMapNameAsLocalizedString(maps\mp\gametypes\_admiral_mod_utils::getNextMap());
	gametype 	= maps\mp\gametypes\_admiral_mod_hud::getGametypeNameAsLocalizedString(maps\mp\gametypes\_admiral_mod_utils::getNextGametype());


	// * Wenn eine Map gewählt wurde, oder ein Gametype, dann diesen nehmen anstatt die/den aus der Maprotation *
	if(game["am_vote_map"] == 1 && isDefined(game["am_vote_maps"][gewaehlte_map])) {
	
		if(game["am_allow_vote_custom_maps"] == 1) {
		
			// * Wenn Stock Map, dann mp_ *
			if(maps\mp\gametypes\_admiral_mod_utils::isMapNameExists("mp_" + game["am_vote_maps"][gewaehlte_map])) 	map 		= maps\mp\gametypes\_admiral_mod_hud::getMapNameAsLocalizedString("mp_" + game["am_vote_maps"][gewaehlte_map]);
			else 																									map 		= game["am_vote_maps"][gewaehlte_map];
		}	
		else {
		
			if(maps\mp\gametypes\_admiral_mod_utils::isMapNameExists("mp_" + game["am_vote_maps"][gewaehlte_map])) 	map 		= maps\mp\gametypes\_admiral_mod_hud::getMapNameAsLocalizedString("mp_" + game["am_vote_maps"][gewaehlte_map]);
		}
	}
	
	
	if(game["am_vote_gametype"] == 1 && isDefined(game["am_vote_gametypes"][gewaehlte_gametype])  && maps\mp\gametypes\_admiral_mod_utils::isGametypeNameExists(game["am_vote_gametypes"][gewaehlte_gametype])) 		gametype 	= maps\mp\gametypes\_admiral_mod_hud::getGametypeNameAsLocalizedString(game["am_vote_gametypes"][gewaehlte_gametype]);



	iprintln(&"AM_MP_NEXT_MAP_AND_GAMETYPE",map,gametype);

    
      
    
	if(game["am_allow_vote_custom_maps"] == 1)    {
	
		if(game["am_vote_map"] == 1 && isDefined(game["am_vote_maps"][gewaehlte_map]) && maps\mp\gametypes\_admiral_mod_utils::isMapNameExists("mp_" + game["am_vote_maps"][gewaehlte_map])) 	v_map = "mp_" + game["am_vote_maps"][gewaehlte_map];
		else 																																													v_map = game["am_vote_maps"][gewaehlte_map];
	}
	else {
	
		if(game["am_vote_map"] == 1 && isDefined(game["am_vote_maps"][gewaehlte_map]) && maps\mp\gametypes\_admiral_mod_utils::isMapNameExists("mp_" + game["am_vote_maps"][gewaehlte_map])) {

			v_map = "mp_" + game["am_vote_maps"][gewaehlte_map];
		}
		else {

			v_map = maps\mp\gametypes\_admiral_mod_utils::getNextMap();
		}
	}
	
	

    if(game["am_vote_gametype"] == 1 && isDefined(game["am_vote_gametypes"][gewaehlte_gametype]) &&  maps\mp\gametypes\_admiral_mod_utils::isGametypeNameExists(game["am_vote_gametypes"][gewaehlte_gametype])) {
    
    	v_gametype = game["am_vote_gametypes"][gewaehlte_gametype];
    }
    else {
    
    	v_gametype = maps\mp\gametypes\_admiral_mod_utils::getNextGametype();
    }
     
    
    next_map =  "gametype " + v_gametype + " map " + v_map;
   
    setcvar("sv_maprotationcurrent",next_map);


	wait 7;    

}



ShowMostVotedMaps() {

	level endon("am_vote_end_most_votes");


	// ***  Map  *** 

	if(game["am_vote_map"] != 1) return;
	
	
	if(game["am_error_logfile"] == 1) logPrint("ShowMostVotedMaps\n");
	
	
	while(1) {

		map_vote_punkte = [];
		m = 0;

		// * Punkte-Liste auf 0 setzen (für die Maps) *
		for(i=0;i<game["am_vote_maps"].size;i++) map_vote_punkte[i] = 0;


		// * Ergebnis ermitteln *
		players = getentarray("player", "classname");

		for(i = 0; i < players.size; i++) {
	
			if(isDefined(players[i].vote_position_map) && players[i].vote_position_map > -1) {

				pos = players[i].vote_position_map;            
				map_vote_punkte[pos]++;           
			}
		}


		meistgewaehlte_maps 		= [];
		meistgewaehlte_maps_votes 	= [];

		while(m<3) {

			map_meisten_punkte  = 0;

			for(i = 0; i < game["am_vote_maps"].size; i++) {

				if(map_vote_punkte[i] > map_meisten_punkte && !InMeistgewaehlteMapListe(i,meistgewaehlte_maps)) {

					map_meisten_punkte 				= map_vote_punkte[i];					
					meistgewaehlte_maps[m] 		 	= i;				
					meistgewaehlte_maps_votes[m] 	= map_meisten_punkte;
				}
			}
		
			m++;
		}					
		
		wait 0.5;
		
		
		for(i=0;i<3;i++) {
		
			level maps\mp\gametypes\_admiral_mod_hud::deleteLevelHudElementByName("most_votes_maps_" + i); 
		
			if(isDefined(meistgewaehlte_maps_votes[i]) && meistgewaehlte_maps_votes[i] > 0)	level maps\mp\gametypes\_admiral_mod_hud::createLevelTextHudElement("most_votes_maps_" + i, 100,126 + 15 * meistgewaehlte_maps[i],"center","middle","fullscreen","fullscreen",false,undefined,meistgewaehlte_maps_votes[i],1.3,50,1,1,1,1); 
		}
	}
}




InMeistgewaehlteMapListe(map_nr,meistgewaehlte_maps) {

	if(game["am_error_logfile"] == 1) logPrint("InMeistgewaehlteMapListe\n");


	for(i=0;i<meistgewaehlte_maps.size;i++) {
	
		if(map_nr == meistgewaehlte_maps[i]) return true;	
	}
	
	return false;
}


ShowMostVotedGametypes() {

	if(game["am_error_logfile"] == 1) logPrint("ShowMostVotedGametypes\n");


	level endon("am_vote_end_most_votes");


	// ***  Map  *** 

	if(game["am_vote_gametype"] != 1) return;
	
	
	while(1) {

		gametype_vote_punkte = [];
		m = 0;

		// * Punkte-Liste auf 0 setzen (für die Gametypes) *
		for(i=0;i<game["am_vote_gametypes"].size;i++) gametype_vote_punkte[i] = 0;


		// * Ergebnis ermitteln *
		players = getentarray("player", "classname");

		for(i = 0; i < players.size; i++) {
	
			if(isDefined(players[i].vote_position_gametype) && players[i].vote_position_gametype > -1) {

				pos = players[i].vote_position_gametype;            
				gametype_vote_punkte[pos]++;           
			}
		}


		meistgewaehlte_gametypes 		= [];
		meistgewaehlte_gametypes_votes 	= [];

		while(m<3) {

			gametype_meisten_punkte  = 0;

			for(i = 0; i < game["am_vote_gametypes"].size; i++) {

				if(gametype_vote_punkte[i] > gametype_meisten_punkte && !InMeistgewaehlteGametypeListe(i,meistgewaehlte_gametypes)) {

					gametype_meisten_punkte 			= gametype_vote_punkte[i];					
					meistgewaehlte_gametypes[m] 		= i;				
					meistgewaehlte_gametypes_votes[m] 	= gametype_meisten_punkte;
				}
			}
		
			m++;
		}					
		
		wait 0.5;
		
		
		for(i=0;i<3;i++) {
		
			level maps\mp\gametypes\_admiral_mod_hud::deleteLevelHudElementByName("most_votes_gametypes_" + i); 
		
			if(isDefined(meistgewaehlte_gametypes_votes[i]) && meistgewaehlte_gametypes_votes[i] > 0)	level maps\mp\gametypes\_admiral_mod_hud::createLevelTextHudElement("most_votes_gametypes_" + i, 395,126 + 15 * meistgewaehlte_gametypes[i],"center","middle","fullscreen","fullscreen",false,undefined,meistgewaehlte_gametypes_votes[i],1.3,50,1,1,1,1); 
		}
	}
}


InMeistgewaehlteGametypeListe(gametype_nr,meistgewaehlte_gametypes) {

	if(game["am_error_logfile"] == 1) logPrint("InMeistgewaehlteGametypeListe\n");


	for(i=0;i<meistgewaehlte_gametypes.size;i++) {
	
		if(gametype_nr == meistgewaehlte_gametypes[i]) return true;	
	}
	
	return false;
}



__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 03.03.2007 00:45.

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

naja ich bin mal auf das als lösung gekommen, mithilfe ner freundin, die beruflich so zeugs macht:

nur haben wir eins vergessen, bei keiner stimme sucht sich das random ne map aus, und geht nicht wie vom admiralmodder vorgesehen in die normale rotation über.

wie kann ich das einstellen?

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
	// **  Map  ** 
	gewaehlte_map = -2;
	
	if(game["am_vote_map"] == 1) {

		map_vote_punkte = [];

		// * Punkte-Liste auf 0 setzen (für die Maps) *
		for(i=0;i<game["am_vote_maps"].size;i++) map_vote_punkte[i] = 0;


		// * Ergebnis ermitteln *
		players = getentarray("player", "classname");

		for(i = 0; i < players.size; i++) {
	
			if(isDefined(players[i].vote_position_map)) {

				pos = players[i].vote_position_map;            
				if(!isDefined(map_vote_punkte[pos])) map_vote_punkte[pos] = 0; 
				map_vote_punkte[pos]++;           
			}
		}

		map_meisten_punkte  = 0;
		gewaehlte_maps = [];

		for(i = 0; i < game["am_vote_maps"].size; i++) {
			
			if(isDefined(map_vote_punkte[i]) && map_vote_punkte[i] > map_meisten_punkte) {
				map_meisten_punkte = map_vote_punkte[i];
			}
		}		
		gewaehlte_maps_count = 0;
		for(i = 0; i < game["am_vote_maps"].size; i++) {
			
			if(isDefined(map_vote_punkte[i]) && map_vote_punkte[i] == map_meisten_punkte) {
				gewaehlte_maps[gewaehlte_maps_count] = i;		
				gewaehlte_maps_count++;
			}
		}
		gewaehlte_map = gewaehlte_maps[RandomInt(gewaehlte_maps.size)];
	}



mal die woche über testen, wie es tut...

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 11.03.2007 23:16.

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

und noch eine Frage dazu:

Wie kann ich sagen, das er von den Maps, die in der cfg stehen, die Anzahl 7 Random holen soll??

Hier der Code

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
	// * Maps und Gametypes für Voting *

	maplist 		= game["am_vote_maps"];
	gametypelist 	= game["am_vote_gametypes"];
	
		
	if(game["am_vote_map"] == 1) {

		for(i=0;i<15;i++) {	

			if(isDefined(maplist[i])) {

				map = maps\mp\gametypes\_admiral_mod_utils::firstToUpper(maplist[i]);

				self setClientCvar("am_ui_vote_map_" + i, map);					
			}
			else {
			
				self setClientCvar("am_ui_vote_map_" + i, " ");					
			}
		}	
	}




und wie kann ich ferner die HUD Elemente in Y Richtung verkleinern?

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
showVoteBoard() {

 
 	if(game["am_vote_map"] != 1 && game["am_vote_gametype"] != 1) return;

	
	if(game["am_error_logfile"] == 1) logPrint("showVoteBoard\n");

	

	// * VoteBoard Background *
	if(game["am_vote_map"] == 1) 		level createLevelHudElement("vote_board_back_map", 170,110,"center","top","fullscreen","fullscreen",false,"white",220,260,1,0.7,0,0,0);
	if(game["am_vote_gametype"] == 1) 	level createLevelHudElement("vote_board_back_gametype", 470,110,"center","top","fullscreen","fullscreen",false,"white",220,260,1,0.7,0,0,0);
 
 
 
 	// * Die restlichen Elemente *
    players = getentarray("player", "classname");
                            
	for(p = 0; p < players.size; p++) {
		
		
		players[p] setClientCvar("am_ui_show_vote_headline", "1");
		players[p].pers["am_ui_show_vote_headline"] = 1;	

		if(game["am_vote_map"] == 1) {
		
			players[p] setClientCvar("am_ui_show_vote_map_button", "1");
			players[p].pers["am_ui_show_vote_map_button"] = 1;
		}
		if(game["am_vote_gametype"] == 1) {
		
			players[p] setClientCvar("am_ui_show_vote_gametype_button", "1");
			players[p].pers["am_ui_show_vote_gametype_button"] = 1;
		}


		if(game["am_vote_map"] == 1) {

			players[p] setClientCvar("am_ui_show_vote_board_maps", "1");						
			players[p].pers["am_ui_show_vote_board_maps"] = 1;
		}

		if(game["am_vote_gametype"] == 1) {
		
			players[p] setClientCvar("am_ui_show_vote_board_gametypes", "1");
			players[p].pers["am_ui_show_vote_board_gametypes"] = 1;			
		}		
	}

}



Glaub das ist einfacher zu Fragen, wie zu probieren, da ich nicht verstehe, was mit den zahlen alles angegeben ist


Danke für kommende Antworten!

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
MikeTNT
Herdentier


images/avatars/avatar-615.gif


Dabei seit: 10.04.2006
Beiträge: 6.523


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von Nightwing
und noch eine Frage dazu:

Wie kann ich sagen, das er von den Maps, die in der cfg stehen, die Anzahl 7 Random holen soll??



Laut Modder ist die maximal mögliche Anzahl bei COD2 auf 5 beschränkt, mehr ist nicht möglich.

cu Mike

__________________
++++ To Yoda: Jedi-Meister bekommt Auris zugeschickt. Unmöglich nichts ist ++++ Zunge raus
MikeTNT ist offline E-Mail an MikeTNT senden Homepage von MikeTNT Beiträge von MikeTNT suchen Nehmen Sie MikeTNT in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

würd mir ehrlich gesagt auch reichen

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
MikeTNT
Herdentier


images/avatars/avatar-615.gif


Dabei seit: 10.04.2006
Beiträge: 6.523


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Sorry, ich glaube ich habe da etwas verwechselt. Du redest vermutlich vom Admiral-Vote-System. Ich rede vom Vote-System, welches in AWE (auch in eXtreme+) vorkommt.

Bei AM gibt es doch gar keine Random-Funktion, oder irre ich mich? Soweit ich mich erinnere, stehen bis zu 15 Maps fest zur Auswahl.

cu Mike

__________________
++++ To Yoda: Jedi-Meister bekommt Auris zugeschickt. Unmöglich nichts ist ++++ Zunge raus

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MikeTNT: 16.03.2007 21:07.

MikeTNT ist offline E-Mail an MikeTNT senden Homepage von MikeTNT Beiträge von MikeTNT suchen Nehmen Sie MikeTNT in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

das ist ausnahmslos richtig mike!

der am mapvote hat 2 fehler:

erstens, wenn bei nem vote ein gleichstand rauskommt, nimmt er die oberste map, also völliger blödsinn

das hab ich korrigiert, da macht er nun random

jetzt will ich das noch perfekter haben, er soll aus der gesamten rotation 7 maps random auswählen

natürlich wird dann auch das hud element verkleinert, wenn ich das mal durchsteig, wie der das angegeben hat...

es kommt der tag, da hab ich dann den admiral mod so, wie ich ihn haben will grosses Grinsen aber dann fällt mir bestimmt wieder ne andere dummheit ein cool

grüßle ToM

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 17.03.2007 02:56.

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ok, hier die lösung:

in der datei _admiral_mod_vars.gsc folgendes ändern:

string "am_vote_maps" in "am_vote_maps_orig"

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
    game["am_vote_maps"] = [];

    game["am_vote_map"]								= GetV("int","am_vote_map",0,0,1);
    game["am_vote_gametype"]						= GetV("int","am_vote_gametype",0,0,1);
    game["am_vote_time"]							= GetV("int","am_vote_time",30,10,45);    
    game["am_vote_only_clanmembers"]				= GetV("int","am_vote_only_clanmembers",0,0,1);
    game["am_vote_maps_orig"]       					= GetV("array_komma","am_vote_maps",maplist,"","");
    game["am_vote_gametypes"]              			= GetV("array_komma","am_vote_gametypes",gametypelist,"","");
    game["am_allow_vote_custom_maps"]				= GetV("int","am_allow_vote_custom_maps",0,0,1);    



in der datei _admiral_mod_player.gsc die funktion PlayerVoteCvarsInit() {
am besten komplett mit der neuen hier überschreiben:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
PlayerVoteCvarsInit() {

	self endon("disconnect");


	wait 1 + RandomInt(10); // * Damit kein Server Command Overflow *


	// * Bei Maprestart (Gametype SD, ...)  nicht erneut die CVars laden *
	if(isDefined(self.pers["VoteCvarsInit"])) return;
	
	self.pers["VoteCvarsInit"] = true;

   
	// * Vote: muß hier stehen, damit eine evtl. alte gesetzte 1 gelöscht wird *
	self setClientCvar("am_ui_show_vote_headline", "0");
	self setClientCvar("am_ui_show_vote_map_button", "0");
	self setClientCvar("am_ui_show_vote_gametype_button", "0");
	self setClientCvar("am_ui_show_vote_board_maps", "0");
	self setClientCvar("am_ui_show_vote_board_gametypes", "0");
	self setClientCvar("am_ui_show_vote_only_for_clanmembers", "0");



	// * Maps und Gametypes für Voting *

	maplist 		= game["am_vote_maps_orig"];
	gametypelist 	= game["am_vote_gametypes"];
	mapanzahl = 8;
	
	indexlist = [];
	maplist_result = [];
	
	for(i=0;i<mapanzahl;i++){
		used = false;
		index = RandomInt(maplist.size - 1);
		for(j=0;j<mapanzahl;j++){
			if(isDefined(indexlist[j])  && indexlist[j]== index){
				used = true;
				break;
			}
		}
		if(used){
			i--;
			continue;
		}
		indexlist[i] = index;
	}
		
	if(game["am_vote_map"] == 1) {

		for(i=0;i<mapanzahl;i++) {	
			index = indexlist[i];
			
			if(isDefined(maplist[index])) {

				map = maps\mp\gametypes\_admiral_mod_utils::firstToUpper(maplist[index]);
				maplist_result[i] = maplist[index];

				self setClientCvar("am_ui_vote_map_" + i, map);					
			}
			else {
				self setClientCvar("am_ui_vote_map_" + i, " ");					
			}
		}	
	}
	
	game["am_vote_maps"] = maplist_result;



in der config unter set am_vote_maps alle maps, die auf dem server sind, eintragen. komma als trennstelle


nun sucht sich das script 8 maps random aus, die zur abstimmung angezeigt werden.

__________________

Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Nightwing: 07.04.2007 20:54.

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

die HUD elemente hab ich nicht verkleinert, ist unnötig.

bei 0 playern votet das randomscript trotzdem, aber auch egal.

im original würde er in die standardrotation springen, bei meinem nimmt er eine map random.

fakt ist, wieder ein grosser teil des modifizierten mods geschafft!!!

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

na juhuu

ein fehler gibts da noch, hab ich heut während em zocken festgestellt:
(schieb doch keine paranoia)

jedem client werden andere maps zur auswahl gestellt.

frage an die scriptprofis hier:

wie kann ich sagen, das alle maps zwar random geholt werden, aber JEDEM client die gleichen angezeigt werden???

Danke für Eure Hilfe

ToM

EDIT: Es tut nun so, wie es soll. Die ganzen Codeschnipsel hier reinzustellen wär aber zu schwierig, also müsst Ihr warten, bis ich die ganze Erweiterung fertig habe und zum DL reinstell.

__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nightwing: 12.05.2007 13:43.

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty-Board » Fix-Dateien, Modding-Fragen, Scripting » Admiral MOD - Mapvote am Ende der Map

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv