MOD: Ukradnutie papierov
30.01.2007 - 21:45,
(Autor: tomoxm)
V tomto tutoriály budeme hlavne skritpovať ale pridáme aj zopár nastavení pre entity.

Dobre, takže predpokladáme že už máte hotovú vašu mapu a chcete jej dať nejaký OBJECTIVE, tzn nejaké papiere ktoré treba ukradnúť (ale najprv by som odporúčal testovať to na nejakej malej miestnosti aby ste nemuseli toľko čakať na kompiláciu). Všetky červeným písmom písane veci v tomto tutoriály by ste mali nechať tak ako som ich tu napísal ostatné môžete meniť podľa vlastného uváženia.

Multiplayer objective na ukradnutie papierov sa skladá z týchto častí :

1: Objekt na ukradnutie (napr. papiere)
2: Prepínač (trigger) okolo kradnutého objektu.
3: Nejaké skriptovanie vo vašom .scr súbore


Takže začneme od začiatku.

-------------------------------------------------------------------------------
(1) Objekt na ukradnutie (napr. papiere)
-------------------------------------------------------------------------------

Vytvorte objekt ktorý budeme kradnúť, napríklad papiere : nemajte nič označené, kliknite pravým tlačítkom a vyberte z vyskočeného menu animate ->item - > naxosplans4-pulse pre dokukenty.
Pridajte im tieto vlastnosti key-value :

targetname documents // meno ktoré je používane ostatnými entitami na odkázanie (target)

Teraz by ste mali mať dokumenty na stene (ak by ste chceli mať dokumenty na stole skúste vybrať z menu toto : animate ->item - > naxosplans1-pulse ).

-------------------------------------------------------------------------------
2: Prepínač (trigger) okolo kradnutého objektu.
-------------------------------------------------------------------------------

Vytvorte prepínač trigger_use ( odznačte ESC všetko, pravé tlačítko na mape a vyberte [color=blue]trigger->use[/color]). Pridajte im tieto vlastnosti key-value :

targetname documents_trigger // meno ktoré je používane ostatnými entitami na odkázanie (target)

Zmente tento trigger takže bude "obtiekať" okolo vašich dokumentov.

-------------------------------------------------------------------------------
(3: Nejaké skriptovanie vo vašom .scr súbore
-------------------------------------------------------------------------------

Tu je skript pre OBJ mapu. Veci pre OBJ sú uznačené červenou:

// Custom objective test map
// ARCHITECTURE: Bjarne Grönnevik
// SCRIPTING: Bjarne Grönnevik


main:


setcvar "g_obj_alliedtext1" "Ukradni dokumenty."
setcvar "g_obj_alliedtext2" "- Chod a vezmi ich"
setcvar "g_obj_alliedtext3" "-"
setcvar "g_obj_axistext1" "Zabran alikom"
setcvar "g_obj_axistext2" "ukradnut"
setcvar "g_obj_axistext3" "dokumenty."
setcvar "g_scoreboardpic" "none"



level waittill prespawn


exec global/DMprecache.scr
level.script = maps/obj/.scr // zmente na nazov vasej mapy
exec global/ambient.scr


level waittill spawn


// nastavenie parametrov pre gametype mód - round based match

level.dmrespawning = 0 // 1 or 0 (0=bez respawnu)
level.dmroundlimit = 5 // časový limit v minútach
level.clockside = axis // zmente na axis, allies, kills, alebo draw


// level waittill roundstart // odstránte komentár '//' a budete môcť položiť bombu aj bez nepriateľa (na otestovanie mapy)

thread desk_document_check // štartovanie overovania výťazstva alíkov
level waittill axiswin // ak skončí mapa, axis vyhrajú - niečo v tom zmysle, nevedel som to presne preložiť

end // koniec funkcie main

// overovanie dokumentov

desk_document_check:

while(1)

{ // cyklus - trvá pokým je 1 alebo nebude prerušený breakom
$documents_trigger waittill trigger // nebude spúštať pokým sa niekto nedotkne dokumentov
if (parm.other.dmteam == allies)
{ // parameter other je triggerer ( tu sa testuje či iba allies môžu splniť objektive)
$documents hide // skrytie dokumentov
break // vyskoší z cyklu
}
waitframe // ochrana pred zaťažovaním CPU
}
teamwin allies // vyhrajú allies
end // koniec testu či výťazom boli allies


To je tak všetko, ak máte nejaké problémy opýtajte sa vo fóre ktoré je na to príslušné.

 

Napísať otázku k tutoriálu

Meno: Dátum:
Kontrolný kód : 5 + sedem =