ufo
Niezidentyfikowany Obiekt Latający
Dołączył: 16 Sty 2009
Posty: 63
Przeczytał: 0 tematów
Pomógł: 14 razy Ostrzeżeń: 0/5
|
Wysłany: Pon 17:39, 02 Sie 2010 Temat postu: "Collection" quest oparty na lmd_iobject |
|
|
Otóż ten quest będzie polegał na zbieraniu rozrzuconych po mapie kryształków, aby po uzbieraniu konkretnej liczby wymienić je na kasę.
Nie będę się rozpisywał na temat fabuły questa etc. przedstawię tylko schemat spawnowania kryształków, dawania przez nie itemów do /inventory i wypłacania nagród za nie.
Tak więc załączam komendy wraz z komentarzem:
Kryształy:
Kod: | /place lmd_door -100 model,map_objects/mp/crystal_blue,spawnflags,76,movement,0 0 100,speed,9999,targetname,crystal,target2,crystaltaken,closetarget,crystalenable |
- Kryształy należy umieszczać patrząc na ziemię, po zespawnowaniu nie będzie ich widać gdyż w domyślnej pozycji są 100 jednostek pod ziemią
- crystal_blue można zastąpić crystal_green lub crystal_red, żeby nie było zbyt monotonnie
IObject:
Kod: | /place lmd_iobject * targetname,crystaltaken,type,upcount,count,1,max,10,property,crystalproperty,name,Crystal Quest |
- Wartość max oznacza ile kryształów będzie trzeba nazbierać aby móc wymienić je jednorazowo na kasę (w tym przypadku 10)
- Można zastosować downcount zamiast upcount (patrz entity guide) ale takie rozwiązanie IMO powoduje zbyt duży bałagan w konsoli po wpisaniu /inventory list (lista pokazuje pojedyncze kryształy)
Pozostałe entities:
Kod: | /place target_random * targetname,crystalspawn,target,crystal
/place target_delay * targetname,crystaltaken,target,crystalspawn,wait,10
/place target_relay * targetname,initial_entity,target,crystalspawn
/place target_deactivate * targetname,crystaltaken,target,crystal
/place target_activate * targetname,crystalenable,target,crystal
|
- Ogólnie zasada działania jest taka: Po użyciu kryształu ten znika, następuje 10 sekundowy odstęp czasu i pojawia się losowy kryształ (może być ten sam który wcześniej zniknął). Deaktywator/aktywator nie jest konieczny, dodałem je aby uniknąć bugu w lugorze który umożliwia spamowanie "use" na przycisku nawet kilka razy i uzyskanie w ten sposób więcej iobject'ów. relay z initial_entity jest zastosowany żeby zespawnować pierwszy kryształ na początku mapy.
Przycisk do wymiany kryształów na kasę:
Kod: | /place misc_model_breakable 0 model,map_objects/factory/f_con2,spawnflags,193,target,givecrystals
/place lmd_playercheck * targetname,givecrystals,property,crystalproperty,target,crystalreward,target2,crystalnoreward
/place target_credits * targetname,crystalreward,count,1000
/place target_print * targetname,crystalreward,spawnflags,20,message,Masz tu nagrode za krysztaly !
/place target_print * targetname,crystalnoreward,spawnflags,20,message,Chcesz mnie w ch... zrobic ?! |
- Można ustawić inny count/komunikaty etc.
Edit: Poprawiłem mały błąd...
Post został pochwalony 2 razy
Ostatnio zmieniony przez ufo dnia Wto 12:14, 03 Sie 2010, w całości zmieniany 9 razy
|
|