|
|
Lichtschalter |
SN!P3R
Zu-Hause-Esser
Dabei seit: 26.02.2009
Beiträge: 70
|
|
naja, fast aber nicht ganz
habe hier mein script:
main()
{
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
game["allies"] = "sas";
game["axis"] = "opfor";
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");
//*Dein eigener Map-Kram an dieser Stelle*
doortriggers = getentarray("doortrig","targetname");
for(i = 0; i < doortriggers.size; i++)
thread movelight1();
doortriggers[i] thread door_think();
}
door_think()
{
self.doormoving = false;
self.doorclosed = true;
self.doormodel = getent(self.target, "targetname");
while (1)
{
self waittill("trigger");
if(!self.doormoving)
self thread door_move();
}
}
door_move()
{
self.doormoving = true;
speed= 3;
height= 54;
if(self.doorclosed)
{
self.doormodel movex (height,speed);
self.doormodel waittill("movedone");
self.doorclosed = false;
}
else
{
self.doormodel movex(height - (height *2),speed);
self.doormodel waittill("movedone");
self.doorclosed = true;
}
self.doormoving = false;
}
//////////////////////////////////////////////////////////
ohne diesen grünen teil geht das script.
movelight1()
{
lamp = getent("lampmove1","targetname");
trig = getent ("lightschwitch1", "targetname");
while(1)
{
height= 50;
speed = 0.5;
trig waittill("trigger");
lamp movez(height,speed);
lamp waittill("movedone");
trig waittill("trigger");
lamp movez(height-(height*2),speed);
lamp waittill("movedone");
}
}
hier mein fehler
voll komisch eig, denn wie kann ein main() einen fehler verursachen? brauche HIIIIIIIIIILFE
__________________ mfg
SN!P3R
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von SN!P3R: 21.03.2009 17:32.
|
|
|
|
|
Marvin
Turnbeutelvergesser
Dabei seit: 08.02.2009
Beiträge: 455
|
|
Also ich würde ein neues script für beides basteln also so:
_light_move.gsc
_door.gsc
Diese Datein in den Ordner raw/maps/mp
Nun musst du in diese Datein deine scripts einfügen und abspeichern.
Einträge in der Mapname.gsc
maps\mp\_light_move::main();
maps\mp\_door::main();
Das sollte dann in etwa so aussehen:
main()
{
maps\mp\_light_move::main();
maps\mp\_door::main();
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
game["allies"] = "sas";
game["axis"] = "opfor";
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");
Ach ja und ändere mal "opfor" in "russian"
Okay nun noch die Update Zone File einträge:
rawfile,maps/mp/_light_move.gsc
rawfile,maps/mp/_door.gsc
Das sollte dann in etwa so aussehen:
ignore,code_post_gfx_mp
ignore,common_mp
ignore,localized_code_post_gfx_mp
ignore,localized_common_mp
col_map_mp,maps/mp/mp_sniper_v1.d3dbsp
rawfile,maps/mp/mp_sniper_v1.gsc
impactfx,mp_sniper_v1
sound,common,mp_sniper_v1,!all_mp
sound,generic,mp_sniper_v1,!all_mp
sound,voiceovers,mp_sniper_v1,!all_mp
sound,multiplayer,mp_sniper_v1,!all_mp
include,mptypes_woodland
rawfile,maps/mp/_door.gsc
rawfile,maps/mp/_light_move.gsc
Ich glaube manche scripts müssen eine eigene Datei sein. Hier nochmal die mapname.gsc; wie es aussehen sollte:
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:
|
main()
{
maps\mp\_light_move::main();
maps\mp\_door::main();
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
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");
|
|
__________________ Wenn ihr Lust habt schaut mal auf meinem YouTube Channel vorbei, dort werden vorallem Gaming Videos hochgeladen:
http://www.youtube.com/user/PackyGames?feature=mhee
Ich freue mich auf euere Kommentare und / oder Feedback.
Wenns euch gefällt lasst ein Abo da
|
|
|
|
|
steinacker
Milupa-Fan
Dabei seit: 13.03.2008
Beiträge: 662
|
|
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:
|
main()
{
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
game["allies"] = "sas";
game["axis"] = "opfor";
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");
thread doortrig();
thread movelight1();
}
doortrig()
{
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");
while (1)
{
self waittill("trigger");
if(!self.doormoving)
self thread door_move();
}
}
door_move()
{
self.doormoving = true;
speed= 3;
height= 54;
if(self.doorclosed)
{
self.doormodel movex (height,speed);
self.doormodel waittill("movedone");
self.doorclosed = false;
}
else
{
self.doormodel movex(height - (height *2),speed);
self.doormodel waittill("movedone");
self.doorclosed = true;
}
self.doormoving = false;
}
//////////////////////////////////////////////////////////
movelight1()
{
lamp = getent("lampmove1","targetname");
trig = getent ("lightschwitch1", "targetname");
while(1)
{
height= 50;
speed = 0.5;
trig waittill("trigger");
lamp movez(height,speed);
lamp waittill("movedone");
trig waittill("trigger");
lamp movez(height-(height*2),speed);
lamp waittill("movedone");
}
} |
|
so sollte das funktionieren, du hast den aufruf der funktion movelight1() an der flschen stelle platziert
wenn du noch mehrere scripts erwendest, wäre es besser jedes in eine eigene datei zu erbannen, sonst erlierst du irgendwann den überblick
__________________ Steinacker, Hans Adam - der letzte Scharfrichter von Bad Mergentheim
der mit der Schärfe eines Schwertes richtende
|
|
|
|
|
SN!P3R
Zu-Hause-Esser
Dabei seit: 26.02.2009
Beiträge: 70
|
|
habe das nun als mein script.
main()
{
thread movelight1();
}
movelight1()
{
lamp = getent("lampmove1","targetname");
trig = getent ("lightschwitch1", "targetname");
while(1)
{
height= 150;
speed = 0.005;
trig waittill("trigger");
lamp movez(height,speed); // der lamp movez(500,0.05); befehl bestimmt wie viele einheiten das licht bewegt wird!!!
lamp waittill("movedone");
trig waittill("trigger");
lamp movez(height-(height*2),speed);
lamp waittill("movedone");
}
}
verglich es und da war eig kein fehler, schaute gleich aus wie deines was du ausgebessert hast.
habe nun aber die "height" von 100 bis 400 in 50er schritten ausprobiert und es kommt kein licht.
glaub mal ich hab irgendwas anderes falsch gemacht.
1.erstellt man ein lich (rechtsklick light) mit diesen werten.
_color 1.000000 1.000000 0.909804
classname .........light
def .....................light_point_linear
exponent ............0
fov_inner ............80
fov_outer ...........110
intensity ............1.5
maxmove ...........500
origin ................0 0 0
radius ...............700
spawnflags........ 5
target ...............auto900 (link zum gruenen wuerfel ,info_null - auto900,auto901...usw)
targetname....... lampmove1 (jedes licht muss ein script haben...lightmove1,lightmove2...usw)
...und
Primary_omni
primary_scriptable
2.eine info_null. (rechtsklick-->info-->null)
Werte:
targetname .......auto900
3. sucht man sich irgendeinen lichtschalter zur demonstration, bzw zum real-life.
4.über den, bzw neben, oberhalb.... legt man einen trigger (rechtsklick-->trigger-->use)
Werte:
classname .......trigger_use
cursorhint ........HINT_ACTIVATE
intensity ..........0.6
targetname ......lightschwitch1
5. in das update zonefile diese befehle rechts reinschreiben.
Werte:
rawfile,maps/mp/_door.gsc
rawfile,maps/mp/_light_move.gsc
diese werte werden nur reingeschrieben, da man ja diese datein als eine extra .gsc datei hat.
6. mapname.gsc
in die mapname.gsc kommen auch noch zwei zeilen.
main()
{
maps\mp\_light_move::main();
maps\mp\_door::main();
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
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");
}
stimmt das nun alles so wie ich es beschrieben habe, oder nicht?
Habe es genau so gemacht.
und die höhe wie weit dass das licht rauf soll habe ich mit einem brush ausgemessen.
(obere seite =ziel
untere seite = anfang
und die höhe wird ja dann von dem brush angezeigt.
passt das nun alles?
__________________ mfg
SN!P3R
|
|
|
|
|
SN!P3R
Zu-Hause-Esser
Dabei seit: 26.02.2009
Beiträge: 70
|
|
habe das nun als mein script.
main()
{
thread movelight1();
}
movelight1()
{
lamp = getent("lampmove1","targetname");
trig = getent ("lightschwitch1", "targetname");
while(1)
{
height= 150;
speed = 0.005;
trig waittill("trigger");
lamp movez(height,speed); // der lamp movez(500,0.05); befehl bestimmt wie viele einheiten das licht bewegt wird!!!
lamp waittill("movedone");
trig waittill("trigger");
lamp movez(height-(height*2),speed);
lamp waittill("movedone");
}
}
verglich es und da war eig kein fehler, schaute gleich aus wie deines was du ausgebessert hast.
habe nun aber die "height" von 100 bis 400 in 50er schritten ausprobiert und es kommt kein licht.
glaub mal ich hab irgendwas anderes falsch gemacht.
1.erstellt man ein lich (rechtsklick light) mit diesen werten.
_color 1.000000 1.000000 0.909804
classname .........light
def .....................light_point_linear
exponent ............0
fov_inner ............80
fov_outer ...........110
intensity ............1.5
maxmove ...........500
origin ................0 0 0
radius ...............700
spawnflags........ 5
target ...............auto900 (link zum gruenen wuerfel ,info_null - auto900,auto901...usw)
targetname....... lampmove1 (jedes licht muss ein script haben...lightmove1,lightmove2...usw)
...und
Primary_omni
primary_scriptable
2.eine info_null. (rechtsklick-->info-->null)
Werte:
targetname .......auto900
3. sucht man sich irgendeinen lichtschalter zur demonstration, bzw zum real-life.
4.über den, bzw neben, oberhalb.... legt man einen trigger (rechtsklick-->trigger-->use)
Werte:
classname .......trigger_use
cursorhint ........HINT_ACTIVATE
intensity ..........0.6
targetname ......lightschwitch1
5. in das update zonefile diese befehle rechts reinschreiben.
Werte:
rawfile,maps/mp/_door.gsc
rawfile,maps/mp/_light_move.gsc
diese werte werden nur reingeschrieben, da man ja diese datein als eine extra .gsc datei hat.
6. mapname.gsc
in die mapname.gsc kommen auch noch zwei zeilen.
main()
{
maps\mp\_light_move::main();
maps\mp\_door::main();
maps\mp\_load::main();
ambientPlay("ambient_backlot_ext");
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");
}
stimmt das nun alles so wie ich es beschrieben habe, oder nicht?
Habe es genau so gemacht.
und die höhe wie weit dass das licht rauf soll habe ich mit einem brush ausgemessen.
(obere seite =ziel
untere seite = anfang
und die höhe wird ja dann von dem brush angezeigt.
passt das nun alles?
__________________ mfg
SN!P3R
|
|
|
|
|
|
|
|
Impressum ||Datenschutzerklärung
|