Kolega jabko (jeśli mogę tak powiedzieć) ma rację. Z drugiej jednak strony zawsze możesz dać jakiś namiar na to, gdzie nasz pytający może znaleźć potrzebne mu informacje. Tak to zazwyczaj działa. Żeby wysilić szare komórki, trzeba mieć jakiś trop. Ja sam nie mam pojęcia jak to zrobić (bo się tym nie interesowałem), ale rzuć chociaż komendą, a sam chętnie zerknę "jak to jest zrobione" :)
Jak tak bardzo jesteście ciekawi to proszę.
1.Edytujemy skrypt jakiś dźwi, aby pojawił się pasek, wiecie o co chodzi(trzeba dopisać spr_use_time(1) kolo nazwy scen propa), trzeba też w jego skrypcie przed końcem(" ]),")
dopisać:
(ti_on_scene_prop_use,
[
]),
2.W środku ti_on_scene_prop_use, dopisujemy "coś" co powie serwerowi o co kaman. Kruciej. Trzeba wysłać do serwera wiadomość, która go poinformuje co gracz zrobił lub chce zrobić.
Dopisujemy
(multiplayer_send_int_to_server, <event>),
3.Jak widzimy coś nam brakuje. Eventa czyli najprościej skrypt odpalony przez serwer.
-Wchodzimy w header_common i dopisujemy eventa.
np:
multiplayer_event_twoja_nazwa_eventu = 113
-teraz zastapiamy <event> (w scen propach)tym: multiplayer_event_twoja_nazwa_eventu
4.Teraz najważniejsze, czyli sam event. Mamy już dźwi, które jak włączymi wyślę do serwera wiadomość wraz z naszym player_id.
-Wchodzimy w module_scripts
-szukamy game_receive_network_message i gdzieś w środku przed client events dopisujemy (ale przed (else_try),[tym końcowym]) dopisujemy:
(else_try),
(eq, ":event_type", multiplayer_event_twoja_nazwa_eventu ),
<tu sa instrukcje dla serwera>
-tak, chcemy, zmienić położenie playera czyli jego pozycje. Domyśle player ID jest w zmiennej: ":player_no"
Żeby dla nas było łatwiej zrobimy teleport do entry pointa, bo dźwi może być wiele.
Pierwsze musimy dowiedzieć się gdzie znajduje się entrypoint (użyje tu entrypointa 0)
-dopisujemy intrukcje wczytające pozycje entrpointa:
(entry_point_get_position, pos1, 0),
-mamy pozycje docelowa, teraz musimy zmienić pozycje playera. Ale jest problem. Możemy zmienić tylko pozycje agenta(player to nie jest istota chodząca po mapie,[jeśli player żyje ma agent id, czyli jest agentem]). Wiec wczytujemy z playera agent id:
(player_get_agent_id, ":agent_no", ":player_no"),
-teraz zmieniamy mu pozycje dopisujac:
(agent_set_position,":agent_no",pos1),
Nie gwarantuję, że skrypt zadziała, ponieważ tego nie sprawdziałem.
@Jagoda
Czy nie wystarczy zmienić typ zadawanych obrażeń na blunt i zmienić model bełtu?