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 » Im Wasser Energieleiste (script+trigger) » 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 Im Wasser Energieleiste (script+trigger) 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
 Im Wasser Energieleiste (script+trigger) Animus 23.09.2008 18:25
 RE: Im Wasser Energieleiste(script+trigger) Nightwing 23.09.2008 19:15
 RE: Im Wasser Energieleiste (script+trigger) Animus 23.09.2008 20:13
 RE: Im Wasser Energieleiste (script+trigger) Nightwing 23.09.2008 20:42
 RE: Im Wasser Energieleiste (script+trigger) steinacker 23.09.2008 20:52
 RE: Im Wasser Energieleiste (script+trigger) Animus 23.09.2008 22:47
 RE: Im Wasser Energieleiste (script+trigger) Animus 25.09.2008 03:00

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Animus
Steuerzahler


images/avatars/avatar-1143.jpg


Dabei seit: 29.04.2008
Beiträge: 198


Im Wasser Energieleiste (script+trigger) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also ich fang mal einfach an mein problem zu beschreiben:

iIn der MAP:

- hab ne insel als map und wollte das wasser begehbar machen (wenn der spieler unterwasser ist sollte energieleiste kommen funktioniert auch)
- hab aber ein trigger multi. problem (zuviele aneinander) läuft der spieler durch einen in den anderen wird das script neu gestartet das ist aber nicht unbedingt das problem hab schon eine lösung mir überlegt(denk ich)! nun hab ich damit ein problem das wenn ich öffter durch den trigger in einen anderen gehe irgendwann die energieleiste im wasser nicht mehr angezeigt wird und man nur noch stirbt wenn die zeit gekommen ist.

das script(verlinkt in der mp_mapname.gsc als seperate datei):

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:
main()
{ drownage = getentarray("drown","targetname"); 
if (isDefined("drownage")) 
{ 
precacheShader("black"); 
precacheShader("white"); level.barsize = 288; 
level.drowntime = 8; 
level.hurttime = 6; for(d = 0; d < drownage.size; d++) 
{ 
drownage[d] thread water(); 
} 
} 
}Water() 
{ 
while (1) 
{ self waittill("trigger", other); if(isPlayer(other) && other istouching(self)) other thread drown(self); 
} 
} 
drown(trigger) 
{ 
dceiling = getent(trigger.target,"targetname"); 
water_vision = undefined; 
while (self istouching(trigger) && !self istouching(dceiling)) 
{ 
wait .125; 
if(isDefined(self.drowning)) 
return; 
self.drowning = true; if(!isDefined(water_vision)) 
{ 
water_vision = newClientHudElem(self); 
water_vision.x = 0; 
water_vision.y = 0; 
water_vision setshader ("white", 640, 480); 
water_vision.alignX = "left"; 
water_vision.alignY = "top"; 
water_vision.horzAlign = "fullscreen"; 
water_vision.vertAlign = "fullscreen"; 
water_vision.color = (.16, .38, .5); 
water_vision.alpha = .75; 
} 
level.barincrement = (level.barsize / (20.0 * level.drowntime)); 
// level.player allowProne(false); 
if(!isDefined(self.progressbackground)) 
{ 
self.progressbackground = newClientHudElem(self); self.progressbackground.alignX = "center"; 
self.progressbackground.alignY = "middle"; 
self.progressbackground.x = 320; 
self.progressbackground.y = 385; 
self.progressbackground.alpha = 0.5; 
} 
self.progressbackground setShader("black", (level.barsize + 4), 14); if(!isDefined(self.progressbar)) 
{ 
self.progressbar = newClientHudElem(self); 
self.progressbar.alignX = "left"; 
self.progressbar.alignY = "middle"; 
self.progressbar.x = (320 - (level.barsize / 2.0)); 
self.progressbar.y = 385; 
} 
self.progressbar setShader("white", 0, 8); 
self.progressbar scaleOverTime(level.drowntime, level.barsize, 8); self.progresstime = 0; 
d = 0; 
f = 0; while(isalive(self) && self istouching(trigger) && !self istouching(dceiling) && (self.progresstime < level.drowntime)) 
{ 
d ++; 
f ++;  

wait 0.05; 
self.progresstime += 0.05; 
if(self.progresstime >= level.hurttime) 
{ 
if(f >= 4) 
{ 
radiusDamage(self.origin,9, 1, 1); f = 0; 
} 
} 
} if(isalive(self) && self istouching(trigger) && !self istouching(dceiling) && (self.progresstime >= level.drowntime)) 
{ self.progressbackground destroy(); 
self.progressbar destroy(); wait 0.025; 
radiusDamage(self.origin,22, 3000, 3000); self.drowning = undefined; self.sounder = undefined; randb = randomInt(4); 
deathmethod1 = " made a hole in the water and lay down quietly to rest forever."; 
deathmethod2 = " paid a long lasting visit to Davy Jones's Locker."; deathmethod3 = " went diving without breathing apparatus."; deathmethod4 = " swam like a brick.";  

if (randb == 0) 
iPrintLn( self.name, deathmethod1); 
if (randb == 1) 
iPrintLn( self.name, deathmethod2); 
if (randb == 2) 
iPrintLn( self.name, deathmethod3); 
if (randb == 3) 
iPrintLn( self.name, deathmethod4); 
wait .05; 
water_vision destroy(); 
} 
else 
{ water_vision.alpha = .5; 
water_vision fadeOverTime(3); 
water_vision.alpha = 0; wait 0.05; 
self.progressbackground destroy(); 
self.progressbar destroy(); 
self.drowning = undefined; 
self.sounder = undefined; 
} 
wait .05; 
} 
}



der code ist von MODSONLINE Forum!

im radianten:



meine frage:

wieso zeigt es mir nach einer weile kein energieleiste mehr an?
hängt sich das script auf oder hab ich was falsch gemacht!

danke schon mal an jeden der sich damit beschäftigt(mein geschriebenes zu lesen ich schreib manchmal bisl unverständlich)!

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Animus: 23.09.2008 18:43.

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


images/avatars/avatar-1617.jpg


Dabei seit: 15.01.2007
Beiträge: 4.859


RE: Im Wasser Energieleiste(script+trigger) 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 Animus
mein geschriebenes zu lesen ich schreib manchmal bisl unverständlich!


Da iss was dran Augenzwinkern

Okay, hab bei Wildcard vor längerer Zeit mal was gelesen, das er das _drown Script der Map mp_pval korrigieren musste, logischerweise hat er es in die Mapfix IWD reingetan. Benutz also mal dieses Script und lass Deine Map so, wie sie ist und teste noch einmal:

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:
// Multiplayer drown script for CoD
//
// written by [D]delica
// based on _noprone.gsc by r0ger and the stock IW S&D scripts ;)
// Modifed by Spikenaylor for COD2 using the tintscreen script from//[Nip] Drowning Water Script v1
//[Nip] by BionicNipple (bionic.nipple@gmail.com)
// To use this script, you'll need two trigger_multiples, set up pretty much the same
// way as r0gers' _noprone script. One should fill the area where you have water, so as
// long as the player is in the water they will be in contact with it. Open entity
// properties and give it the targetname 'drown'. Create another trigger_multiple above it,
// and connect it to the 'drown' trig as a target. (select 'drown' trig, then the target trig,
// and press W.) The base of this trigger should be at the same level as the surface of
// your water, or a little above, depending on how soon you want people to start drowning.
// This is all you need to do in radiant. Save, close and compile.
//
// In your yourmap.gsc, call _drown with "maps/mp_drown::main();" (no quotes ;) ), and make
// sure you place _drown.gsc in the maps/mp folder of your iwd. For compatibility's sake,
// please rename _drown.gsc if you use it (viz "mp_mymapname_drown.gsc", so ppl can customise
// it to their taste without creating problems with other mods/maps ;).
//
// N.B: the sounds and fx used in this script are all custom. If you want the same sounds,
// I suggest you rip them from Hamlet.pk3. Ditto the fx ^_^
//
// delicauk@gmail.com

main()
{ 
	drownage = getentarray("drown","targetname");
	if (isDefined("drownage"))
	{
		precacheShader("black");
		precacheShader("white"); 
		
		level.barsize = 288;
		level.drowntime = 0.20;
		level.hurttime = 0.20; 
		
		for(d = 0; d < drownage.size; d++)
		{
			drownage[d] thread water();
		}
	}
}

Water()
{
	while (1)
	{
		self waittill("trigger", other); 
		
		if(isPlayer(other) && other istouching(self))
			other thread drown(self);
	}
}

drown(trigger)
{
	self endon("disconnect");

	dceiling = getent(trigger.target,"targetname");
	water_vision = undefined;
	while (self istouching(trigger) && !self istouching(dceiling))
	{
		wait .125;
		
		if(isDefined(self.drowning))
			return;
		
		self.drowning = true; 
		
		
		if(!isDefined(water_vision))
		{
			water_vision = newClientHudElem(self);
			water_vision.x = 0;
			water_vision.y = 0;
			water_vision setshader ("white", 640, 480);
			water_vision.alignX = "left";
			water_vision.alignY = "top";
			water_vision.horzAlign = "fullscreen";
			water_vision.vertAlign = "fullscreen";
			water_vision.color = (.16, .38, .5);
			water_vision.alpha = .75;
		}
		level.barincrement = (level.barsize / (20.0 * level.drowntime));
		// level.player allowProne(false);	
		
		if(!isDefined(self.progressbackground))
		{
			self.progressbackground = newClientHudElem(self);
			self.progressbackground.alignX = "center";
			self.progressbackground.alignY = "middle";
			self.progressbackground.x = 320;
			self.progressbackground.y = 385;
			self.progressbackground.alpha = 0.5;
		}
		
		self.progressbackground setShader("black", (level.barsize + 4), 14); 

		if(!isDefined(self.progressbar))
		{
			self.progressbar = newClientHudElem(self);
			self.progressbar.alignX = "left";
			self.progressbar.alignY = "middle";
			self.progressbar.x = (320 - (level.barsize / 2.0));
			self.progressbar.y = 385;
		}

		self.progressbar setShader("white", 0, 8);
		self.progressbar scaleOverTime(level.drowntime, level.barsize, 8); 
		self.progresstime = 0;
		d = 0;
		f = 0; 
		while(isalive(self) && self istouching(trigger) && !self istouching(dceiling) && (self.progresstime < level.drowntime))
		{
			d ++;
			f ++;

			wait 0.05;
			self.progresstime += 0.05;

			if(self.progresstime >= level.hurttime)
			{
				if(f >= 4)
				{
					radiusDamage(self.origin,9, 1, 1);
					f = 0;
				}
			}
		} 
		
		if(isalive(self) && self istouching(trigger) && !self istouching(dceiling) && (self.progresstime >= level.drowntime))
		{ 
			self.progressbackground destroy();
			self.progressbar destroy(); 
			wait 0.025;
			radiusDamage(self.origin,22, 3000, 3000); 
			self.drowning = undefined;
			self.sounder = undefined; 
			randb = randomInt(4);
			deathmethod1 = " made a hole in the water and lay down quietly to rest forever.";
			deathmethod2 = " paid a long lasting visit to Davy Jones's Locker.";
			deathmethod3 = " went diving without breathing apparatus.";
			deathmethod4 = " swam like a brick.";

			if (randb == 0)
				iPrintLn( self.name, deathmethod1);
			
			if (randb == 1)
				iPrintLn( self.name, deathmethod2);

			if (randb == 2)
				iPrintLn( self.name, deathmethod3);
			
			if (randb == 3)
				iPrintLn( self.name, deathmethod4);

			wait .05;
			
			water_vision destroy();
		}
		else
		{
			water_vision.alpha = .5;
			water_vision fadeOverTime(3);
			water_vision.alpha = 0;
			wait 0.05;
			self.progressbackground destroy();
			self.progressbar destroy();
			self.drowning = undefined;
			self.sounder = undefined;
			
		}
		wait .05;
	}
}






ToM

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 23.09.2008 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
Animus
Steuerzahler


images/avatars/avatar-1143.jpg


Dabei seit: 29.04.2008
Beiträge: 198


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

der fehler tritt bei mir immernoch auf wenn man mehrere trigger durchläuft wenn die energieanzeige da ist werd wohl auch für das problem ne andere lösung finden müssen!

wer aber schön wenn ich nicht mit der ersten lösung für meine map auskommen muß wo in dmg trigger die lösung fürs wasser ist.
doof find ich daran das es nicht realistich und ausserdem die spieler genervt hat das wenn sie das wasser berühren so gut wie gleich tot sind unglücklich
Animus ist offline Beiträge von Animus suchen Nehmen Sie Animus 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

Radianttechnisch kann ich Dir absolut nicht helfen (ich weiss wie die Anwendung aufgeht und wie man kompiliert, das wars). Das Script jedoch läuft in anderen Maps auch, offenbar problemlos. Jetzt heissts abwarten, bis sich jemand Deiner annimmt, der auch den Radianten kennt. Augenzwinkern

ToM

Nachtrag:

Das könnte evtl helfen:

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:
// Multiplayer drown script for CoD
//
// written by [D]delica
// based on _noprone.gsc by r0ger and the stock IW S&D scripts ;)
// Modifed by Spikenaylor for COD2 using the tintscreen script from//[Nip] Drowning Water Script v1
//[Nip] by BionicNipple (bionic.nipple@gmail.com)
// To use this script, you'll need two trigger_multiples, set up pretty much the same
// way as r0gers' _noprone script. One should fill the area where you have water, so as
// long as the player is in the water they will be in contact with it. Open entity
// properties and give it the targetname 'drown'. Create another trigger_multiple above it,
// and connect it to the 'drown' trig as a target. (select 'drown' trig, then the target trig,
// and press W.) The base of this trigger should be at the same level as the surface of
// your water, or a little above, depending on how soon you want people to start drowning.
// This is all you need to do in radiant. Save, close and compile.
//
// In your yourmap.gsc, call _drown with "maps/mp_drown::main();" (no quotes ;) ), and make
// sure you place _drown.gsc in the maps/mp folder of your iwd. For compatibility's sake,
// please rename _drown.gsc if you use it (viz "mp_mymapname_drown.gsc", so ppl can customise
// it to their taste without creating problems with other mods/maps ;).
//
// N.B: the sounds and fx used in this script are all custom. If you want the same sounds,
// I suggest you rip them from Hamlet.pk3. Ditto the fx ^_^
//
// delicauk@gmail.com



__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Nightwing: 23.09.2008 20:55.

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


images/avatars/avatar-1080.gif


Dabei seit: 13.03.2008
Beiträge: 662


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 könntest mal versuchen nur einen trigger_hurt brush zu verwenden anstatt mehrere und diesem die werte im entity zuweisen:
Key: dmg
Value: 20

(oder value 0.05)
ich hab mir z.b. en paar fackeln gebastelt, und wenn der player zu nah ans feuer kommt wird er verletzt, dafür hab ich den wert 0.05

Edit:


__________________
Steinacker, Hans Adam - der letzte Scharfrichter von Bad Mergentheim
der mit der Schärfe eines Schwertes richtende grosses Grinsen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von steinacker: 23.09.2008 21:30.

steinacker ist offline E-Mail an steinacker senden Beiträge von steinacker suchen Nehmen Sie steinacker in Ihre Freundesliste auf
Animus
Steuerzahler


images/avatars/avatar-1143.jpg


Dabei seit: 29.04.2008
Beiträge: 198


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

ja das mit dem einen trigger hatte ich schon am anfang das hat mir nicht gefallen und den anderen die die beta gespielt haben auch nicht weil wenn man das wasser berührt stirbt man sehr schnell egal wie man es einstellt.

ich beschäftige mich mal weiter mit dem script vieleicht bringt es ja was vieleicht auch nicht.

thx erstmal für die schnellen antworten!!!!!!
Animus ist offline Beiträge von Animus suchen Nehmen Sie Animus in Ihre Freundesliste auf
Animus
Steuerzahler


images/avatars/avatar-1143.jpg


Dabei seit: 29.04.2008
Beiträge: 198


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

so ich habs für alle die es auch machen wollen das script an sich ist richtig funktioniert auch, problem ist im radiant:

es gibt 2 trigger:

- der eine der im wasser ist (link zum script > wo der player schaden nimmt)
- der andere überwasser (ohne verlinkung > hebt die wirkung bei gleichzeitiger berührung des wasser triggers auf > player nimmt kein schaden mehr)

das ding ist der player darf nicht 3 trigger auf einmal berühren sonst stürzt das script am anfang ab.(....wieso benutze ich mehrere trigger ganz einfach ich kann die trigger nicht über die komplette map ziehen weil sie sonst mit anderen triggern ärger gibt)

lösung die ich in meine map einbaue nur mal als gedankengang falls es noch einen gibt der so ein problem hat baut wellenbrecher ein die der spieler nicht überwinden kann vom im wasser und vom land, so kann er einen übergang von einem zum anderen trigger nict gleichzeitig berühren.
problem gelöst (hab lange in der map 30min getestet ohne das die energieleiste verschwunden ist)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Animus: 25.09.2008 03:05.

Animus ist offline Beiträge von Animus suchen Nehmen Sie Animus in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Call of Duty 4 - Mapping » CoD4-Mapping-Hilfe » Im Wasser Energieleiste (script+trigger)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv