Zapisywanie renderingu
diablix
13.05.2010
Moze tu mi ktos pomoze:)
Mam funkcje ktora po najechaniu i uzyciu dodaje glowshell na entity ale jak zrobic zeby sie zapisywal i ladowal co mape? (mam to w pluginie blockmaker ale ogolna opcja wystarczy wydaje mi sie bo na kazdy ent dziala ta funkcja)
Mam funkcje ktora po najechaniu i uzyciu dodaje glowshell na entity ale jak zrobic zeby sie zapisywal i ladowal co mape? (mam to w pluginie blockmaker ale ogolna opcja wystarczy wydaje mi sie bo na kazdy ent dziala ta funkcja)
Przeswit(id)
{
new ta, body;
get_user_aiming(id, ta, body, 300);
set_rendering(ta, kRenderFxNone, 255, 0, 0, kRenderTransAlpha, 135 );
}
DarkGL
13.05.2010
a czy po zmianie mapy enty mają te same id ? wydaje mi się że nie mogę się oczywiście mylić
G[o]Q
13.05.2010
dark zalezy od mapy i ilosci entow na niej ogolnie to od maxplayers-512 ale jesli masz czysta mape bez entitow zadnych i pluginów robiacych enty to ID powinno byc takie samo bo enty sa tworzone w tej samej kolejnosci
@topic a czy all enty maja takie samo classname bo jesli nie to mozna przypisac glow'a do all entow z dana klasa na mapie
@topic a czy all enty maja takie samo classname bo jesli nie to mozna przypisac glow'a do all entow z dana klasa na mapie
diablix
13.05.2010
dark zalezy od mapy i ilosci entow na niej ogolnie to od maxplayers-512 ale jesli masz czysta mape bez entitow zadnych i pluginów robiacych enty to ID powinno byc takie samo bo enty sa tworzone w tej samej kolejnosci
@topic a czy all enty maja takie samo classname bo jesli nie to mozna przypisac glow'a do all entow z dana klasa na mapie
Tak, wszystkie enty maja classname bm_block
W blockmakerze przy loadblocks mam cos takiego:
case 'A': createBlock(0, BM_PLATFORM, vVec1, axis, size);
I mysle ze tu cos trzeba dodac zeyb pobieralo dane.
Btw ja mam 5 funkcji o render ale wszystkie tak samo wygladaja, roznia sie tylko transalpha glowshell itd
Użytkownik Diablix edytował ten post 13.05.2010 16:48
G[o]Q
13.05.2010
wez podmien ta twoja funkcje na
Przeswit(id)
{
new ta, body;
get_user_aiming(id, ta, body, 300);
client_print(id,print_chat,"%d",ta)
}
najedz na ent wcisnij uzycie i zapamietaj nr potem zmien mape i sprawdz czy dla tego samego bloku nr jest taki sam jesli tak to dobrze a jesli nie to d*pa
Przeswit(id)
{
new ta, body;
get_user_aiming(id, ta, body, 300);
client_print(id,print_chat,"%d",ta)
}
najedz na ent wcisnij uzycie i zapamietaj nr potem zmien mape i sprawdz czy dla tego samego bloku nr jest taki sam jesli tak to dobrze a jesli nie to d*pa
diablix
13.05.2010
A jednak, jest taki sam.
Użytkownik Diablix edytował ten post 15.05.2010 10:06
Użytkownik Diablix edytował ten post 15.05.2010 10:06
Vertricus
13.05.2010
Może:
Z góry mówie że nie wiem czy działa ;D
@ Pomysł GoQ to irracjonalne wystarczy że walnie inny plugin który zrobi enta pierwszy i wszystkie przesuna sie o 1 up przynajmniej tak mi sie wydaje
Spoiler
Z góry mówie że nie wiem czy działa ;D
@ Pomysł GoQ to irracjonalne wystarczy że walnie inny plugin który zrobi enta pierwszy i wszystkie przesuna sie o 1 up przynajmniej tak mi sie wydaje
R3X
13.05.2010
Id enta jest przydzielane dynamicznie, więc taki sposób jest bardzo niepewny, choć przy stałych warunkach na serwerze (założenie, że nie będziesz instalował pluginów dodających enty przed bm`em) będzie skuteczny.
Jeśli ma działać zawsze i pewnie to trzeba edytować blockmakera i dodać do linii zapisu 6 pól renderingu; mogę spróbować nadpisać standardowe funkcje odczytu i zapisu + walnąć menu.
Pomysł Verta nie jest najgorszy, zamiast classname weź pole np. iuser2 + dodaj obsługę tego w zapisie BMa i działa
Jeśli ma działać zawsze i pewnie to trzeba edytować blockmakera i dodać do linii zapisu 6 pól renderingu; mogę spróbować nadpisać standardowe funkcje odczytu i zapisu + walnąć menu.
Pomysł Verta nie jest najgorszy, zamiast classname weź pole np. iuser2 + dodaj obsługę tego w zapisie BMa i działa
R3X
13.05.2010
Wolałbym na początek spróbować bez tego, coby się uniwersalne zrobiło. Nie mam zamiaru odczytywać potem 15miliardów PW, żebym komuś zmienił kod BMa ( bo nie).
KOPIA ZAPASOWA pliku .sma i configów
albo nie ruszaj kodu! Nie odpowiadam za popsucie kodu, sobie przywrócisz starą, działającą wersję i nadpisane pliki z blokami.
W załączniku plik z danymi i funkcjami, które trzeba zmienić/dodać. Podzieliłem je na sekcje:
Pierwsze linie to dane i bufory. Mają trafić do kodu BM przed funkcjami.
Uzupełnienia - szukasz nazwy funkcji i dorzucasz do niej to co w pliku tam się znajduje
Do zmiany - czyli cała funkcja do wymiany (createBlock to tylko dopisanie kilku linii i zmiana nagłówka)
Nowe - wrzuć na koniec pliku
Ważne
Funkcja loadBlocks() jest znacznie odmienna w różnych wersjach BlockMaker, więc zostawiłem bramkę:
Mam tylko nadzieję, że umieściłem tam wszystko co napisałem
KOPIA ZAPASOWA pliku .sma i configów
albo nie ruszaj kodu! Nie odpowiadam za popsucie kodu, sobie przywrócisz starą, działającą wersję i nadpisane pliki z blokami.
W załączniku plik z danymi i funkcjami, które trzeba zmienić/dodać. Podzieliłem je na sekcje:
Pierwsze linie to dane i bufory. Mają trafić do kodu BM przed funkcjami.
Uzupełnienia - szukasz nazwy funkcji i dorzucasz do niej to co w pliku tam się znajduje
Do zmiany - czyli cała funkcja do wymiany (createBlock to tylko dopisanie kilku linii i zmiana nagłówka)
Nowe - wrzuć na koniec pliku
Ważne
Funkcja loadBlocks() jest znacznie odmienna w różnych wersjach BlockMaker, więc zostawiłem bramkę:
/* TU RESZTA BLOKÓW! */gdzie należy wkleić własną listę bloków z dodatkowymi parametrami.
Mam tylko nadzieję, że umieściłem tam wszystko co napisałem
Załączone pliki
diablix
14.05.2010
Robilem po kolei, lecz zbyt duzo bledow (ponad 5 prob) ;/
Użytkownik Diablix edytował ten post 14.05.2010 19:09
Użytkownik Diablix edytował ten post 14.05.2010 19:09
R3X
14.05.2010
No dobra wyślij mi kod na PW, zrobię przeróbkę na podstawie pliku bmrender.sma i zobaczę gdzie można się pomylić.
R3X
14.05.2010
No dobra, pomyliłem nazwę 1 funkcji, ale już jest ok.
Ostrzegam, że potrzeba lekkiego ogarnięcia struktury BlockMakera, żeby to dobrze posklejać.
Ostrzegam, że potrzeba lekkiego ogarnięcia struktury BlockMakera, żeby to dobrze posklejać.