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 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » dvars für Admins einbauen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen dvars für Admins einbauen 1 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,001 Bewertungen - Durchschnitt: 10,00
Beiträge zu diesem Thema Autor Datum
 dvars für Admins einbauen Verni@hter 18.10.2010 14:04
 RE: dvars für Admins einbauen bangingbernie 18.10.2010 18:12
 RE: dvars für Admins einbauen Oi!mel 18.10.2010 19:05
 RE: dvars für Admins einbauen Nightwing 18.10.2010 19:32
 RE: dvars für Admins einbauen Verni@hter 19.10.2010 01:04
 RE: dvars für Admins einbauen Nightwing 19.10.2010 03:13
 RE: dvars für Admins einbauen Verni@hter 19.10.2010 12:17
 RE: dvars für Admins einbauen Nightwing 19.10.2010 12:55
 RE: dvars für Admins einbauen Verni@hter 19.10.2010 13:03
 RE: dvars für Admins einbauen Nightwing 19.10.2010 13:07
 RE: dvars für Admins einbauen Verni@hter 19.10.2010 13:19
 RE: dvars für Admins einbauen Verni@hter 19.10.2010 13:51
 RE: dvars für Admins einbauen OLD MAN WITH GUN 19.10.2010 22:17
 RE: dvars für Admins einbauen Verni@hter 20.10.2010 00:46
 RE: dvars für Admins einbauen Nightwing 20.10.2010 01:34
 RE: dvars für Admins einbauen Verni@hter 20.10.2010 10:23
 RE: dvars für Admins einbauen bangingbernie 20.10.2010 11:51
 RE: dvars für Admins einbauen Verni@hter 20.10.2010 12:03
 RE: dvars für Admins einbauen BadMan 20.10.2010 14:00
 RE: dvars für Admins einbauen OLD MAN WITH GUN 20.10.2010 17:07
Nächste Seite »

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


dvars für Admins einbauen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ist es denn möglich der Map vars oder wie des heißt zu geben? Also ich baue zb. ne Tür ein die man öffnen kann jetzt soll aber der Admin des Servers selber bestimmen können ob man diese Tür in zb. sd oder hq öffnen kann oder nicht.

Also

set tür auf in sd "0" //0=nein, 1=ja
set tür auf in tdm "0" //0=nein, 1=ja
set tür auf in war "0" //0=nein, 1=ja
set tür auf in koth "0" //0=nein, 1=ja

usw.

Möglich??

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Verni@hter: 21.10.2010 12:25.

Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


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

Du meinst in der server.cfg? Für FX oder Sound auf jeden Fall (Beispiel http://modsonline.com/Forums-top-96471.html) - bei Türen k.A.
Da fällt mir gerade ein, dass es für CoD 2 die Map Chelm gab, wo Durchgänge bei bestimmten Spieltypen gesperrt wurden bzw. nach dem Zufallsprinzip ausgesucht wurden. Kannst Dir ja mal die Scripts anschauen; große Unterschiede zu CoD4 sollte es nicht geben.
Hier gibt's auch eine Map mit vielen Custom-Dvars http://www.filefront.com/thankyou.php?f=15859233

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Oi!mel
Turnbeutelvergesser


images/avatars/avatar-1619.jpg


Dabei seit: 29.06.2009
Beiträge: 299


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

Du müsstest einfach eine Abfrage deiner festgelegten Dvar machen und mit if die function bestimmen welche bei den verschiedenen Situationen eintrifft.

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
if( getDvar("set_tuer_auf_in_sd") == "1")
{
TuerAuf();
}
else
{
TuerZu();
}

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Oi!mel: 18.10.2010 19:06.

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


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.857


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

Custom DVAR's in die Map einzubauen ist kein Problem.
Ich hab Dir hier mal die einfache Variante ohne Levelvariablen.
In der map.gsc kannst Du das einfach anstelle dem normalen Aufruf der _doors.gsc einbauen:

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

code:
1:
2:
3:
4:
5:
6:
// Custom DVAR's 
if( getdvar( "mp_xyz_dvar" ) == "" ) 
	setdvar( "mp_xyz_dvar", "0" ); 
if( getdvar( "mp_xyz_dvar" ) == "1" ) 
	thread maps\mp\_doors::main();


Für jede DVAR musst Du den gesamten Block einfügen.
Bin grad auf Arbeit und kann Dir nix schöneres basteln, funktionieren tut es aber.

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

@ bangingbernie

Das was du meinst hab ich schon in der Map Dead Village genutzt. Hab also einen Clip gesetzt der nur bei bestimmten Gametypes auftaucht und so einen bestimmten Weg sperrt. Ich möcht es aber dem ADMIN überlassen weshalb ich solche dvars nutzen möchte.

Tür öffnen nutzen:

set tür auf in sd "0" //0=nein, 1=ja, default "0" _door.gsc wird nicht geladen. Türen werden nicht genutzt.

Nightwing ich glaub wir müssen mal in ner ruhigen Minute am WE wenn mal keine Party angesagt ist reden. Freude Oder wir schreiben hier da ich im Moment auch nicht weiß wie ich das ganze dann nutzen soll oder wie man was wo hinschreibt.

Sieht des dann so aus?

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

code:
1:
2:
3:
4:
5:
// Custom DVAR's
2.if( getdvar( "mp_xyz_dvar" ) == "sd" )
3.    setdvar( "mp_xyz_dvar", "0" );
4.if( getdvar( "mp_xyz_dvar" ) == "1" )
5.    thread maps\mp\_doors::main();



Ach ich mach erstmal ne Türe. grosses Grinsen

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.857


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

Wochenende ohne Party? Wasn das? grosses Grinsen
Dein Versuch ist leider falsch, Du darfst nur den Namen der Var ändern, mehr nicht.
Hier mal ein Beispiel für SD und KOTH, grad mal am Beispiel Deiner mp_dv:

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:
main(){   	
      
	maps\mp\mp_dv_windrad::main(); //NEU
	maps\mp\mp_dv_fx::main();
	maps\createfx\mp_dv_fx::main();
	maps\mp\_explosive_barrels::main();
    maps\mp\_explosive_models::main(); //NEU
	maps\mp\mp_dv_sound_fx::main();
	maps\mp\_load::main();
	thread siren();
    thread fanSpin();
    thread screenchanger();
	maps\mp\_compass::setupMiniMap("compass_map_mp_dv");

	setExpFog(150, 5000, 0.4, 0.425, 0.44, 0.0);
	ambientPlay("mp_dv");

	level.airstrikeHeightScale = 2.1;

	game["allies"] = "sas";
	game["axis"] = "russian";
	game["attackers"] = "axis";
	game["defenders"] = "allies";
	game["allies_soldiertype"] = "woodland";
	game["axis_soldiertype"] = "woodland";

	setdvar( "r_specularcolorscale", "1" );

	setdvar("r_glowbloomintensity0",".25");
	setdvar("r_glowbloomintensity1",".25");
	setdvar("r_glowskybleedintensity0",".3");
	setdvar("compassmaxrange","1800");
	
	// Custom DVAR's für SD
	if( getdvar( "mp_dv_dvar_sd" ) == "" ) 
		setdvar( "mp_dv_dvar_sd", "0" ); 
	if( getdvar( "mp_dv_dvar_sd" ) == "1" ) 
		thread maps\mp\_doors::main();
		
	// Custom DVAR's für KOTH
	if( getdvar( "mp_dv_dvar_koth" ) == "" ) 
		setdvar( "mp_dv_dvar_koth", "0" ); 
	if( getdvar( "mp_dv_dvar_koth" ) == "1" ) 
		thread maps\mp\_doors::main();

	if(getDvar("g_gametype") == "ctf" || getDvar("g_gametype") == "ctfb"){
	
		addobj("allied_flag", (3695.22, 3538.54, 194), (0, 0, 0));
		addobj("axis_flag", (-992.571, -276.212, 93.9724), (0, 0, 0));
	}

	if(getDvar("g_gametype") == "re"){
	
		level.objective_vcr = [];
		level.objective_vcr[0] = spawn("script_model", (1561.5, 2633.5, 239.468));
		level.objective_vcr[0].angles = (0, 0, 0);
		level.objective_vcr[1] = spawn("script_model", (-1016, 1328, 253));
		level.objective_vcr[1].angles = (0, 0, 0);
		level.objective_vcr[2] = spawn("script_model", (3652.5, -625, 399.5));
		level.objective_vcr[2].angles = (0, 0, 0);
		
		level.objective_vcrcase = [];
		level.objective_vcrcase[0] = spawn("script_model", (331.5, -870, 218.416));
		level.objective_vcrcase[0].angles = (0, 0, 0);
		level.objective_vcrcase[1] = spawn("script_model", (3695.22, 3538.54, 194));
		level.objective_vcrcase[1].angles = (0, 0, 0);
		level.objective_vcrcase[2] = spawn("script_model", (2833, 1478.5, 338.241));
		level.objective_vcrcase[2].angles = (0, 0, 0);
		
		addobj_base("objective_base", (1452, 908.5, 447), (0, 0, 0));
	}
}

addobj(name, origin, angles){

	ent = spawn("trigger_radius", origin, 0, 48, 148);
	ent.targetname = name;
	ent.angles = angles;
}

addobj_base(name, origin, angles){
	
	ent = spawn("trigger_radius", origin, 0, 40, 48);
	ent.targetname = name;
	ent.angles = angles;
}

siren(){

	//Trigger
	trig = getent("sirenen_trigger","targetname");

	trig waittill ("trigger");

	musicplay ("sirene");
}

fanSpin(){

/*Code by AmishThunder
 www.kramerartanddesign.com*/

	fan1 = getEnt( "fan1" , "targetname" );
//	fan2 = getEnt( "fan2" , "targetname" );

	while (1){

		fan1 rotateyaw( 360, 5, 0, 0 );
	/*	fan1 rotateyaw( degrees, time in seconds, 0, 0 );
		fan2 rotateyaw( 360, 5, 0, 0 );
	*/
		wait 4.9;
	}
}

screenchanger(){	

	screen = [];
	for( i = 1; i < 7; i++ ){
	
		screen[i] = getent( "Buchstabe_" + i, "targetname" );
		screen[i] hide();
	}
	
	time = 5;
	
	while( 1 ){
	
		for( i = 1; i < 7; i++ ){
		
			if( i == 1 )
				screen[6] hide();
			else
				screen[i-1] hide();

			screen[i] show();
			wait time;
		}			
		wait .1;
	}
}



Die Abfrage bedeutet: Sieh nach, was in der cfg bei der var angegeben ist. Wenn nichts ("") oder Null ("0"), dann setze 0.
Wenn 1 ("1"), dann führe das danach angegebene Script aus ( thread maps\mp\_doors::main(); ).
Dein Türscript muss logischerweise dann _doors.gsc heissen und im Ordner maps\mp liegen.

Zwar unschön, aber mir fällt grad nix besseres ein, mag sicher an der Uhrzeit liegen. Augen rollen

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Mhhhhhhhhhhhhhhh...

So schaut jetzt meine map.gsc aus:

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:
main()
{

    maps\mp\_door::main();
    maps\mp\_load::main();
    maps\mp\fan_rotate::main();
    maps\mp\_dynamic_foliage::initdfs();
    trigger_init();


    game["allies"] = "marines";
    game["axis"] = "opfor";
    game["attackers"] = "axis";
    game["defenders"] = "allies";
    game["allies_soldiertype"] = "desert";
    game["axis_soldiertype"] = "desert";

    setdvar("compassmaxrange","1800");

    setExpFog(150, 2000, 0.4, 0.425, 0.44, 0.0);

    // Custom DVAR's für SD
    if( getdvar( "mp_soundtest_1_dvar_sd" ) == "" )
        setdvar( "mp_soundtest_1_dvar_sd", "0" );
    if( getdvar( "mp_soundtest_1_dvar_sd" ) == "1" )
        thread maps\mp\_door::main();

}

trigger_init()
{
    soundtriggers = getentarray( "sound_trigger", "targetname" );

    for( i = 0; i < soundtriggers.size; i++ )
        soundtriggers[i] thread trigger_sound();
}

trigger_sound()
{
    self.wait_for_retrigger = false;
    soundpos = getent( self.target, "targetname" );

    while( 1 )
    {
        if( !self.wait_for_retrigger )
        {
            self waittill( "trigger" );
            self.wait_for_retrigger = true;
            soundpos thread play_the_sound( self, soundpos.script_noteworthy );
        }
        wait 0.1;
    }
}

play_the_sound( used_trigger, sound )
{
        self playsound( sound );
        wait 30;
        used_trigger.wait_for_retrigger = false;
}



Es wird bei mir die _door.gsc aufgerufen! In der Ser.cfg hab ich des so reingeschrieben.

set mp_soundtest_1_dvar_sd "0" passieren tut aber nix.!?

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Verni@hter: 19.10.2010 12:18.

Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.857


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 Verni@hter
set mp_soundtest_1_dvar_sd "0" passieren tut aber nix.!?

Klar, weil Du weiter oben (Zeile 4) schon das Doorscript aufrufst und die Abfrage daher umgehst.
Lösch mal die erste Zeile ( maps\mp\_door::main(); ), dann läuft es.

Die Abfrage ersetzt quasi den Aufruf, da Du schliesslich Variablen eingebaut haben möchtest.

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Ich wollt grad editieren naja da warste jetzt schneller. Freude

Also es funktioniert nur wird dieser Blöde Trigger noch angezeigt.

Key: hintstring
Value: auf/zu

Bekomme wir des auch noch hin? Augenzwinkern

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.857


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

Wunderbar. Freude

Zu Problem 2: Dazu musst Du mir Dein Doorscript mal hier reinstellen. Die Lösung wird aber spät, ich muss jetzt los zum schaffen. Ich schau mal in der Pause rein.

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Hier das door script. Ist bisher für eine Tür.

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:
main()
{
doortriggers = getentarray("doortrig","targetname");
for(i = 0; i < doortriggers.size; i++)
doortriggers[i] thread door_think();
}

door_think()
{
self.doormoving = false;
self.doorclosed = true;
self.doormodel = getent(self.target, "targetname");
self enableLinkTo();
self linkto(self.doormodel);

while (1)
{
self waittill("trigger");
if(!self.doormoving)
self thread door_move();
}
}

door_move()
{
self.doormoving = true;
if(self.doorclosed)
{
self.doormodel playsound ("door_wood_slow_open");
self.doormodel rotateyaw(-90,3,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = false;
}
else
{
self.doormodel playsound ("door_wood_slow_open");
self.doormodel rotateyaw(90,3,0.5,0.5);
self.doormodel waittill("rotatedone");
self.doorclosed = true;
}
self.doormoving = false;
}



__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Ich muss mich leider selber berichtigen. Die Tür geht nicht mehr auf mit dem Script aber bei 0 und 1 also egal was ich schreibe.

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


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

Ich hätte da noch ne andere Lösung anzubieten. Da würde man mit einer einzigen dvar auskommen, egal bei wieviel verschiedenen gametypes man die Türen offen haben möchte. Den script hab ich jetzt aber nur auf reiner Vermutung geschrieben (es ist nichts getestet)

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:
level.gtdoor = false;
tmp = getDvar("mp_soundtest_1_door_open");
if( isDefined( tmp ) )
{
  gtarray = StrTok( tmp, "_" );
  for (i = 0; i < gtarray.size; i++)
  {
    if ( gtarray[i] == level.gametype )
    level.gtdoor = true;
  }
    
  if( level.gtdoor )
    thread maps\mp\_door::main();
  else
  {
    doortriggers = getentarray( "doortrig", "targetname" );
    for ( i = 0; i < doortriggers.size; i++ )
    {
      doortriggers[i] SetCursorHint( "HINT_DOOR_LOCKED" );
      doortriggers[i] SetHintString( &"Door is locked!" );
    }
  }
     
}
else
  thread maps\mp\_door::main();


Man gibt in der serverconfig dann einfach alle gametypes mit Unterstrich getrennt als parameter an, da, wo die Tür offen sein soll.
Also bei z.B.
set mp_soundtest_1_door_open "dm_war_sab_dom"
würde sich die Tür nur bei Free for all, Team Deathmatch, Sabotage und Domination öffnen lassen.
Ich hab auch mal reingebastelt, dass das Icon und der Text an den Triggern getauscht wird, wenn die Türen verschlossen sind (sollte eigentlich auch funktionieren).
Ist die dvar in der config nicht definiert, sollten sich die türen ebenfalls öffnen lassen.

Aber wie gesagt, keine Garantie, dass das funktioniert, das ist nur mal so eben schnell hingekritzelt.

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 20.10.2010 18:26.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Ich muss dich leider fragen an welcher Stelle ich denn das Script in meiner map.gsc einfügen muss. Ich bekomm immer bad syntax Fehlermeldung.

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook
Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
Nightwing
Padawan ;-)


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.857


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 Verni@hter
Ich muss dich leider fragen an welcher Stelle ich denn das Script in meiner map.gsc einfügen muss. Ich bekomm immer bad syntax Fehlermeldung.

Irgendein böser Klammeraffe hat wohl in Zeile 7 die Klammer getauscht, es sollte eine { anstelle der ( sein (Hab es in OMWG's Post korrigiert).

So sieht die fertige map.gsc dann aus:

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:
main()
{

    maps\mp\_load::main();
    maps\mp\fan_rotate::main();
    maps\mp\_dynamic_foliage::initdfs();
    trigger_init();

    game["allies"] = "marines";
    game["axis"] = "opfor";
    game["attackers"] = "axis";
    game["defenders"] = "allies";
    game["allies_soldiertype"] = "desert";
    game["axis_soldiertype"] = "desert";

    setdvar("compassmaxrange","1800");
    setExpFog(150, 2000, 0.4, 0.425, 0.44, 0.0);

    level.gtdoor = false;
    tmp = getDvar("mp_soundtest_1_door_open");
    if( isDefined( tmp ) )
    {
        gtarray = StrTok( tmp, "_" );
        for (i = 0; i < gtarray.size; i++)
        {
            if ( gtarray[i] == level.gametype )
                level.gtdoor = true;
        }

        if( level.gtdoor )
            thread maps\mp\_door::main();
        else
        {
            doortriggers = getentarray( "doortrig", "targetname" );
            for ( i = 0; i < doortriggers.size; i++ )
            {
                doortriggers[i] SetCursorHint( "HINT_DOOR_LOCKED" );
                doortriggers[i] SetHintString( &"Door is locked!" );
            }
        }
         
    }
    else
        thread maps\mp\_door::main();
}

trigger_init()
{
    soundtriggers = getentarray( "sound_trigger", "targetname" );

    for( i = 0; i < soundtriggers.size; i++ )
        soundtriggers[i] thread trigger_sound();
}

trigger_sound()
{
    self.wait_for_retrigger = false;
    soundpos = getent( self.target, "targetname" );

    while( 1 )
    {
        if( !self.wait_for_retrigger )
        {
            self waittill( "trigger" );
            self.wait_for_retrigger = true;
            soundpos thread play_the_sound( self, soundpos.script_noteworthy );
        }
        wait 0.1;
    }
}

play_the_sound( used_trigger, sound )
{
        self playsound( sound );
        wait 30;
        used_trigger.wait_for_retrigger = false;
}



Cooles Script vom Old Man, gleich mal abspeichern.

ToM

__________________

Nightwing ist offline E-Mail an Nightwing senden Homepage von Nightwing Beiträge von Nightwing suchen Nehmen Sie Nightwing in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

Jetzt kommt diese Meldung:

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

code:
1:
2:
3:
4:
******* script runtime error *******
HINT_DOOR_LOCKED is not a valid hint type. See above for list of valid hint types
: (file 'maps/mp/mp_soundtest_1.gsc', line 39)
                doortriggers[i] SetCursorHint( "HINT_DOOR_LOCKED" );



__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Verni@hter: 20.10.2010 10:24.

Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


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

Hint types sind:

"HINT_NOICON", "HINT_ACTIVATE", "HINT_HEALTH", "HINT_FRIENDLY"

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Verni@hter
*bM.Verni@hter~


images/avatars/avatar-1604.png


Dabei seit: 24.01.2006
Beiträge: 1.461


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

HINT_ACTIVATE hatte ich schon probiert dann kommt die Meldung:

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

code:
1:
2:
3:
******* script runtime error *******
Illegal localized string reference: Door is locked! must contain only alpha-numeric characters and underscores: (file 'maps/mp/mp_soundtest_1.gsc', line 41)
                doortriggers[i] SetHintString( &"Door is locked!" );



Leerzeichen und Sonderzeichen wie ! sind wohl nicht erwünscht.

Habs also so probiert:

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

code:
1:
2:
doortriggers[i] SetCursorHint( "HINT_ACTIVATE" );
                doortriggers[i] SetHintString( &"Door_is_locked" );



Sieht zum einen komisch aus wegen den Unterstrichen und die Hand wird ntürlich auch nicht getauscht.

Die Tür lässt sich aber auch nicht öffnen selbst mit der Eintragung in der server.cfg.

__________________

Frauen sind wie Signaturen, haste keine willste eine, haste eine willste ne andere.
My Facebook

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Verni@hter: 20.10.2010 12:19.

Verni@hter ist offline Beiträge von Verni@hter suchen Nehmen Sie Verni@hter in Ihre Freundesliste auf
BadMan
Turnbeutelvergesser


images/avatars/avatar-1043.jpg


Dabei seit: 31.01.2008
Beiträge: 278


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

Gut das erste Problem

doortriggers[i] SetHintString( &"Door is locked!" );

geht, aber nur so

doortriggers[i] SetHintString( "Door is locked!" );



Ansonsten klappt’s, falls du mit Team Deathmatch testest nimm mal TDM statt WAR
BadMan ist offline E-Mail an BadMan senden Beiträge von BadMan suchen Nehmen Sie BadMan in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


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

Fehler passieren halt, wenn man schnell was hinkritzelt Augenzwinkern
Hatte auch gedacht, das er das Hint-Icon HINT_DOOR_LOCKED zulässt (da man es auch im Radianten setzen kann). Und beim String hab ich das vergessen, das bei vorangestelltem & der string ein localized string sein muss (ohne Leerzeichen). Aber dann müsste man noch ein passendes localized stringfile haben (was unnötig wäre).
Und bei Team Deathmatch war ich wohl irgendwie bei WaW (wegen dem Parameter). Habs korrigiert.

@Verni@hter: setz das Icon mal auf "HINT_NOICON". Die anderen würden eh nicht passen.

Im script sollte man die Zeile
gtarray = StrTok( tmp, "_" );
noch verfeinern in
gtarray = StrTok( toLower( tmp ), "_" );
Dadurch wird der Parameter in Kleinbuchstaben gewandelt (Ich glaube, das bei Stringvergleichen auch auf Groß- und Kleinschreibung geachtet wird). Es könnte sonst passieren, das die Türen bei gesetztem Parameter nie aufgehen (da der aktuelle Gametype keinem der Gametypes im Parameter entsprechen würde).

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

Dieser Beitrag wurde 6 mal editiert, zum letzten Mal von OLD MAN WITH GUN: 20.10.2010 18:26.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » dvars für Admins einbauen

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv