Podmiana kopii to zupełnie inna sprawa. Tu działa skrypt, który usuwa starą broń z rąk gracza, a daje mu zupełnie inną. Wyglądało to trochę głupio, bo przy takiej zamianie gracz na nowo wyciągał przedmiot, jak gdyby sam zmienił broń (czyli w tym wypadku wyciągał złamaną kopię zza pleców), ale udało mi się to ukryć małym trickiem.
Od biedy można by to było zastosować i do muszkietów, odpalając podmianę za pomocą skryptu podpiętego pod klawisz x. Tak samo można by było zrobić nadziaki, a przy dorobieniu prostej animacji obracania broni wyglądałoby to całkiem spoko.
Problem jest jeden - gdy gracz na początku wybierze dla siebie dwa przedmioty tego samego typu, podczas zamiany jeden z nich nieodwracalnie zniknie. Tak jest z moimi kopiami - masz dwie takie same, to w momencie złamania jednej druga automatycznie znika. Na to niewiele mogę poradzić, bowiem te nowe operacje działają tak, że usuwają z ekwipunku postaci wszystkie przedmioty danego typu, a nie tylko jedną sztukę.
Czy warto się zatem za to brać? Kwestia do obgadania.
edit: z muszkietami to raczej nie przejdzie. Prawdopodobnie po zamianie na walkę wręcz i z powrotem dostalibyśmy naładowany muszkiet, nawet jeśli wcześniej był pusty.
Wyjaśnię o co chodzi. W M&B broń palna nie ma możliwości ustawienia własnego odgłosu wystrzału, można to odejść skryptując to samemu na około. Kluczem jest komenda odtwórz dźwięk "na graczu", wszystko działa dobrze gra pobiera pozycje gracza a następnie odtwarza dany odgłos na tej pozycji u każdego gracza. Problem pojawia się gdy do gry wchodzą boty które nie są graczami a działają na maszynie serwera(mają numer 0, taki sam jak host). I gdy bot wystrzeli z broni pobierana jest pozycja gracza 0 i odtwarzany w niej odgłos. Dlatego gdy bot wystrzeli na końcu mapy słyszysz jakby było to tuż przy twoim uchu. Grając z żywymi ludźmi nie uświadczymy takich błędów.
Zerknąłem do kodu i aż się dziwię, że tylko jedna osoba zgłosiła błąd z dźwiękami. Tul napisał skrypt, który odpala dźwięki o różnej głośności, gdzie decydującym czynnikiem jest odległość gracza od osoby, która oddała strzał. Problem w tym, że cały ten skrypt był z jakiegoś powodu (możliwe, że wydajności) wykomentowany i zostało zwykłe "play_sound", czyli
każdy gracz słyszał każdy wystrzał o takiej samej głośności, nawet jeśli strzelający był na drugim końcu mapy. Przy większych bitwach można by było oszaleć. Zmieniłem na odtwarzanie dźwięku na agencie (nie powinno być problemów z botami) i zobaczymy jak się to sprawdzi w praniu.