|
 |
Lift + Menü + Mod (noch nicht getestet)      |
->STUEBI<-
5-Minuten-Ei

Dabei seit: 19.05.2010
Beiträge: 11

|
|
Lift + Menü + Mod (noch nicht getestet) |
 |
In diesem Tutorial zeige ich euch wie kusi581 und ich den menügesteruerten Lift gemacht haben.
Link
Auf der Map:
Als aller erstes baut ihr ein haus mit 3 stockwerken und macht bei jedem stockwerk ein
script > origin hin.
Beim untersten n klicken und folgendes einfügen:
Key: targetname
Value: so_ele_0
Beim mittleren:
Key: targetname
Value: so_ele_1
Beim Obersten:
Key: targetname
Value: so_ele_2
danach baut euch einen lift und macht daraus einen script > Brushmodel.
Nun klickt n.
Dies eingeben:
Key: targetname und bei
Value: ele
als nächstes baut ihr einen trigger > use_touch und klickt wieder n.
Diese beiden eingeben.
Key: targetname
Value: trig_ele
Key: target
Value: ele
das wäre mal das auf der map gewesen.
Jetzt kommt der ganze script teil:
zuerst diese Datei in raw/maps/mp/ erstellen:
_ele_menu.gsc
danach den unteren text dort einfügen.
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:
|
main()
{
level thread onPlayerConnect();
thread ele_init();
}
onPlayerConnect()
{
for(;;)
{
level waittill("connecting", player);
player thread onMenuResponse();
}
}
onMenuResponse()
{
self endon("disconnect");
for(;;)
{
self waittill("menuresponse", menu, response);
if(menu == "quickcommands")
{
if(!level.elemoving)
{
thread ele_move(response);
}
}
}
}
ele_init()
{
level.elemoving = false;
ele_trig = getent("trig_ele", "targetname");
ele_trig enablelinkto();
ele = getent(ele_trig.target, "targetname");
ele_trig linkto(ele);
ele_trig thread trig_ele_think();
}
trig_ele_think()
{
while(1)
{
self waittill("trigger", player);
if(!level.elemoving)
{
player openMenu("quickcommands");
}
}
}
ele_move(stock)
{
level.elemoving = true;
so = getent(("so_" + stock), "targetname");
ele_trig = getent("trig_ele", "targetname");
ele = getent(ele_trig.target, "targetname");
ele moveto(so.origin, 2);
wait 2;
level.elemoving = false;
}
|
|
in deiner map gsc (mp_deinemap.gsc) folgendes eingeben:
maps\mp\_ele_menu::main();
danach das: "rawfile,maps/mp/_ele_menu.gsc" in das Zonefile einfügen
Nun kommt der Mod:
Um das Menü Quickcommands (B,1) zu ändern braucht es diese dateien, welche ihr so in euer
Modordner schmeisst. bitte Ordnerstrucktur beachten!
ui_mp\scriptmenus\quickcommands.menu
\maps\mp\gametypes\_quickmessages.gsc
in quickcommands.menu
menudef mit diesem ü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:
70:
71:
|
menuDef
{
IMPROVED_POPUP_SETUP_ONOPEN( quickcommands, 10, 4, 210, ;, setDvar
cl_bypassMouseInput "1";, 0 )
onClose{ setDvar cl_bypassMouseInput "0" }
CHOICE_POPMENU_TITLE( "Aufzug" )
itemDef
{
name "window"
group ingamebox
visible 1
rect 16 20 0 0
origin ORIGIN_QUICKMESSAGEWINDOW
forecolor 1 1 1 1
textfont UI_FONT_NORMAL
textstyle ITEM_TEXTSTYLE_SHADOWED
textscale TEXTSIZE_SMALL
textaligny 8
text "^21^7 - Erdgeschoss"
decoration
}
execKey "1" { scriptMenuResponse "ele_0"; close quickcommands; }
itemDef
{
name "window"
group ingamebox
visible 1
rect 16 36 0 0
origin ORIGIN_QUICKMESSAGEWINDOW
forecolor 1 1 1 1
textfont UI_FONT_NORMAL
textstyle ITEM_TEXTSTYLE_SHADOWED
textscale TEXTSIZE_SMALL
textaligny 8
text "^22^7 - 1. Stock"
decoration
}
execKey "2" { scriptMenuResponse "ele_1"; close quickcommands }
itemDef
{
name "window"
group ingamebox
visible 1
rect 16 52 0 0
origin ORIGIN_QUICKMESSAGEWINDOW
forecolor 1 1 1 1
textfont UI_FONT_NORMAL
textstyle ITEM_TEXTSTYLE_SHADOWED
textscale TEXTSIZE_SMALL
textaligny 8
text "^23^7 - 2. Stock"
decoration
}
execKey "3" { scriptMenuResponse "ele_2"; close quickcommands }
}
|
|
und danach den text im _quickmessages.gsc durch diesen ersetzen:
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:
|
init()
{
game["menu_quickcommands"] = "quickcommands";
game["menu_quickstatements"] = "quickstatements";
game["menu_quickresponses"] = "quickresponses";
precacheMenu(game["menu_quickcommands"]);
precacheMenu(game["menu_quickstatements"]);
precacheMenu(game["menu_quickresponses"]);
precacheHeadIcon("talkingicon";);
precacheString( &"QUICKMESSAGE_ENEMY_SPOTTED" );
precacheString( &"QUICKMESSAGE_ENEMIES_SPOTTED" );
precacheString( &"QUICKMESSAGE_IM_IN_POSITION" );
precacheString( &"QUICKMESSAGE_AREA_SECURE" );
precacheString( &"QUICKMESSAGE_GRENADE" );
precacheString( &"QUICKMESSAGE_SNIPER" );
precacheString( &"QUICKMESSAGE_NEED_REINFORCEMENTS" );
precacheString( &"QUICKMESSAGE_HOLD_YOUR_FIRE" );
precacheString( &"QUICKMESSAGE_YES_SIR" );
precacheString( &"QUICKMESSAGE_NO_SIR" );
precacheString( &"QUICKMESSAGE_IM_ON_MY_WAY" );
precacheString( &"QUICKMESSAGE_SORRY" );
precacheString( &"QUICKMESSAGE_GREAT_SHOT" );
precacheString( &"QUICKMESSAGE_TOOK_LONG_ENOUGH" );
precacheString( &"QUICKMESSAGE_ARE_YOU_CRAZY" );
precacheString( &"QUICKMESSAGE_WATCH_SIX" );
precacheString( &"QUICKMESSAGE_COME_ON" );
}
/*
quickcommands(response)
{
self endon ( "disconnect" );
if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" ||
isdefined(self.spamdelay))
return;
self.spamdelay = true;
switch(response)
{
case "ele_0":
soundalias = "";
saytext = "Erdgeschoss";
break;
case "ele_1":
soundalias = "";
saytext = "1. Stock";
break;
case "ele_2":
soundalias = "";
saytext = "2. Stock";
break;
}
self saveHeadIcon();
self doQuickMessage(soundalias, saytext);
wait 2;
self.spamdelay = undefined;
self restoreHeadIcon();
}
*/
quickstatements(response)
{
if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" ||
isdefined(self.spamdelay))
return;
self.spamdelay = true;
switch(response)
{
case "1":
soundalias = "mp_stm_enemyspotted";
saytext = &"QUICKMESSAGE_ENEMY_SPOTTED";
//saytext = "Enemy spotted!";
break;
case "2":
soundalias = "mp_stm_enemiesspotted";
saytext = &"QUICKMESSAGE_ENEMIES_SPOTTED";
//saytext = "Enemy down!";
break;
case "3":
soundalias = "mp_stm_iminposition";
saytext = &"QUICKMESSAGE_IM_IN_POSITION";
//saytext = "I'm in position.";
break;
case "4":
soundalias = "mp_stm_areasecure";
saytext = &"QUICKMESSAGE_AREA_SECURE";
//saytext = "Area secure!";
break;
case "5":
soundalias = "mp_stm_watchsix";
saytext = &"QUICKMESSAGE_WATCH_SIX";
//saytext = "Grenade!";
break;
case "6":
soundalias = "mp_stm_sniper";
saytext = &"QUICKMESSAGE_SNIPER";
//saytext = "Sniper!";
break;
default:
assert(response == "7";);
soundalias = "mp_stm_needreinforcements";
saytext = &"QUICKMESSAGE_NEED_REINFORCEMENTS";
//saytext = "Need reinforcements!";
break;
}
self saveHeadIcon();
self doQuickMessage(soundalias, saytext);
wait 2;
self.spamdelay = undefined;
self restoreHeadIcon();
}
quickresponses(response)
{
if(!isdefined(self.pers["team"]) || self.pers["team"] == "spectator" ||
isdefined(self.spamdelay))
return;
self.spamdelay = true;
switch(response)
{
case "1":
soundalias = "mp_rsp_yessir";
saytext = &"QUICKMESSAGE_YES_SIR";
//saytext = "Yes Sir!";
break;
case "2":
soundalias = "mp_rsp_nosir";
saytext = &"QUICKMESSAGE_NO_SIR";
//saytext = "No Sir!";
break;
case "3":
soundalias = "mp_rsp_onmyway";
saytext = &"QUICKMESSAGE_IM_ON_MY_WAY";
//saytext = "On my way.";
break;
case "4":
soundalias = "mp_rsp_sorry";
saytext = &"QUICKMESSAGE_SORRY";
//saytext = "Sorry.";
break;
case "5":
soundalias = "mp_rsp_greatshot";
saytext = &"QUICKMESSAGE_GREAT_SHOT";
//saytext = "Great shot!";
break;
default:
assert(response == "6";);
soundalias = "mp_rsp_comeon";
saytext = &"QUICKMESSAGE_COME_ON";
//saytext = "Took long enough!";
break;
}
self saveHeadIcon();
self doQuickMessage(soundalias, saytext);
wait 2;
self.spamdelay = undefined;
self restoreHeadIcon();
}
doQuickMessage( soundalias, saytext )
{
if(self.sessionstate != "playing";)
return;
if ( self.pers["team"] == "allies" )
{
if ( game["allies"] == "sas" )
prefix = "UK_";
else
prefix = "US_";
}
else
{
if ( game["axis"] == "russian" )
prefix = "RU_";
else
prefix = "AB_";
}
if(isdefined(level.QuickMessageToAll) && level.QuickMessageToAll)
{
self.headiconteam = "none";
self.headicon = "talkingicon";
self playSound( prefix+soundalias );
self sayAll(saytext);
}
else
{
if(self.sessionteam == "allies";)
self.headiconteam = "allies";
else if(self.sessionteam == "axis";)
self.headiconteam = "axis";
self.headicon = "talkingicon";
self playSound( prefix+soundalias );
self sayTeam( saytext );
self pingPlayer();
}
}
saveHeadIcon()
{
if(isdefined(self.headicon))
self.oldheadicon = self.headicon;
if(isdefined(self.headiconteam))
self.oldheadiconteam = self.headiconteam;
}
restoreHeadIcon()
{
if(isdefined(self.oldheadicon))
self.headicon = self.oldheadicon;
if(isdefined(self.oldheadiconteam))
self.headiconteam = self.oldheadiconteam;
}
|
|
Nun öffnet ihr euren Modbuilder (der ist im bin u finden) und macht am besten einen neuen Mod um
zu testen ob es funktioniert.
Zuerst mod.csv erstellen
nun oben au modbuilder klicken, wählt links bei Mod euren mod aus. danach bei ff csv eure modcsv
auswählen und unten im kasten das einfügen:
menufile,ui_mp/scriptmenus/quickcommands.menu
rawfile,maps/mp/gametypes/_quickmessages.gsc
danach sollte man auf der rechten seite sehen. (wenn nicht nochmal mod auswählen)
ui_mp/scriptmenus/quickcommands.menu
maps/mp/gametypes/_quickmessages.gsc
dort in dem kleinen kästchen davor klicken.
zum schluss noch auf der linken seite die kästchen build fast file und build iwd file anwählen und
den mod erstellen (Build Mod anklicken).
Jetzt könnt ihr die map mit dem mod starten und den lift ausprobieren.
Greez an alle =)
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von ->STUEBI<-: 26.05.2010 20:36.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|