|
 |
Admiral MOD - Mapvote am Ende der Map |
|
|
| Admiral MOD - Mapvote am Ende der Map |
 |
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 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.
|
|
|
|
|
|
|
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 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 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!
__________________

|
|
|
|
|
|
|
würd mir ehrlich gesagt auch reichen
__________________

|
|
|
|
|
|
|
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
aber dann fällt mir bestimmt wieder ne andere dummheit ein
grüßle ToM
__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 17.03.2007 02:56.
|
|
|
|
|
|
|
ok, hier die lösung:
in der datei _admiral_mod_vars.gsc folgendes ändern:
string "am_vote_maps" in "am_vote_maps_orig"
Code 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 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.
|
|
|
|
|
|
|
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!!!
__________________

|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|