[ROZWIĄZANE] Jak wrócić do poprzedniej opc...
Najlepsza odpowiedź BlackPerfum 08.07.2014 20:16
public WejdzWCialo(id) { CreateSpec(id,1) set_task(20.0, "KoniecPodgladu",id) } CreateSpec(id,vid) { engfunc(EngFunc_SetView, id, 1) new x = pev(id,pev_effects) if(~x & 128) set_pev(id,pev_effects,x + 128) set_pev(id,pev_sequence,107) set_pev(id,pev_gaitsequence,6) set_pev(id,pev_iuser1,2) set_pev(id,pev_iuser2,vid) set_pev(id,pev_frame,255.0) set_pev(id,pev_framerate,1.0) } DeleteSpec(id) { engfunc(EngFunc_SetView, id, id) new x = pev(id,pev_effects) if(x & 128) set_pev(id,pev_effects,x - 128) set_pev(id,pev_sequence,75) set_pev(id,pev_gaitsequence,1) set_pev(id,pev_iuser1,0) set_pev(id,pev_iuser2,0) set_pev(id,pev_frame,float(random(35)+110)) set_pev(id,pev_framerate,1.0) } public KoniecPodgladu(id) { DeleteSpec(id) }Nie zmieniaj renderingu graczu gdyż to nie potrzebne i nic nie da gdyż gracz nie jest pokazany na mapie. Jak ci nie odpowiada to pokombinuj z tym a na pewno coś z tego wyjdzie Przejdź do postu
Drago36
28.06.2014
Witam.
Zrobiłem sobie pewny kod. Polega na tym, że tworzy model na wybranym graczu, a potem "ja" przechodzę na ten model i widzę, gdzie ten wybrany gracz jest, czy też idzie.
public WejdzWCialo(id) { new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(iEnt, pev_classname, "player_hat") engfunc(EngFunc_SetModel, iEnt, "models/QTM_CodMod/mine.mdl") set_pev(iEnt, pev_movetype, MOVETYPE_FLY) set_pev(iEnt, pev_aiment, gracz_id[id]) set_pev(iEnt, pev_owner, gracz_id[id]) fm_set_rendering(iEnt,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20) engfunc(EngFunc_SetView, id, iEnt) set_task(5.0, "KoniecPodgladu") } public KoniecPodgladu(id) { ColorChat(id, RED, "Ofiara jest oznaczona przez minute na radarze!") }
I moje pytanie jak zrobić, aby po 5 sekundach wrócić do swojego modelu?
BlackPerfum
28.06.2014
I moje pytanie jak zrobić, aby po 5 sekundach wrócić do swojego modelu?
engfunc(EngFunc_SetView, id, id)
Niedostateczny 28.06.2014
I moje pytanie jak zrobić, aby po 5 sekundach wrócić do swojego modelu?
engfunc(EngFunc_SetView, id, id)
Już udzieliłem wystarczającej odpowiedzi, kolego
///
nie zapomij usunąć potem tego enta, którego stworzysz
Użytkownik Niedostateczny edytował ten post 28.06.2014 21:13
BlackPerfum
28.06.2014
Patrz na czas dodania naszych wiadomości Jak zacząłem pisac to twojej jeszcze nie było i nwm czemu się nie pokazało okienko z info o nowym poście ;D
Już udzieliłem wystarczającej odpowiedzi, kolego
Niedostateczny 28.06.2014
Patrz na czas dodania naszych wiadomości Jak zacząłem pisac to twojej jeszcze nie było i nwm czemu się nie pokazało okienko z info o nowym poście ;D
Oczywiście istnieje Forum-> Propozycje, jednak ten dział to chyba lotto z warnami po tym co widzę
BlackPerfum
28.06.2014
Cii...Oczywiście istnieje Forum-> Propozycje, jednak ten dział to chyba lotto z warnami po tym co widzę
Działa ci to:
set_pev(iEnt, pev_aiment, gracz_id[id])z tym:
set_pev(iEnt, pev_movetype, MOVETYPE_FLY)?? Nie powinno być
MOVETYPE_FOLLOWaby to działało??
Niedostateczny 28.06.2014
@@T_Author
A tak z domysłu po co używasz engine do tworzenia entity, a potem fakemety ? Mniejszy dialog między modułami to mniejsze obciążenie serwera.
@BlackPerfum
A Domyślnie solid jest ustawiany na SOLID_NOT ?
Przydało by się ustawić gdy jest domyślnie na SOLID_BBOX, jednak nie znamy do końca intencji autora.
//edit
Szkoda, że nie działa @@T_Author ;/
Użytkownik Niedostateczny edytował ten post 28.06.2014 21:42
Drago36
29.06.2014
engfunc(EngFunc_SetView, id, id)
Akurat tak zrobiłem i to nie działa.
Chyba, że źle stosuje:
public WejdzWCialo(id) { fm_set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20) new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(iEnt, pev_classname, "player_hat") engfunc(EngFunc_SetModel, iEnt, "models/QTM_CodMod/mine.mdl") set_pev(iEnt, pev_movetype, MOVETYPE_FOLLOW) // poprawilem set_pev(iEnt, pev_aiment, gracz_id[id]) set_pev(iEnt, pev_owner, gracz_id[id]) fm_set_rendering(iEnt,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20) engfunc(EngFunc_SetView, id, iEnt) set_task(5.0, "KoniecPodgladu") } public KoniecPodgladu(id) { engfunc(EngFunc_SetView, id, id) new iEnt = fm_find_ent_by_owner(-1, "player_hat", gracz_id[id]) engfunc(EngFunc_RemoveEntity, iEnt) ColorChat(id, RED, "Ofiara jest oznaczona przez minute na radarze!") }
Niestety dodatkowo wyskakuje taki błąd, nie wiem czym jest spowodowany, dorzucam że testuje na botach.
Host_Error: PF_setview_I: not a client Compressing & saving Experience Data...this may take a while! Experience Data saved
@@
@@T_Author
A tak z domysłu po co używasz engine do tworzenia entity, a potem fakemety ? Mniejszy dialog między modułami to mniejsze obciążenie serwera.
@BlackPerfum
A Domyślnie solid jest ustawiany na SOLID_NOT ?
Przydało by się ustawić gdy jest domyślnie na SOLID_BBOX, jednak nie znamy do końca intencji autora.
Nigdzie nie jest użyty engine wraz z fakemat'ą..
Trzeba ustawiać tryb bryły obowiązkowo?
Ustawiałem wcześniej, ale nie wiem czy to potrzebne.
Napisałem, chcę stworzyć model na wybranym graczu i "ja" mogę przeskoczyć na ten model aby oglądać gdzie chodzi itp. A po 5 sekundach wrócić do swojego modelu
Rivit
29.06.2014
Nastepne to logi z podbotow. Nie masz sie czym martwic
Drago36
29.06.2014
Chodzi Ci o takie jakby obserwowanie z tego punktu?
Dokładnie. Tworzy się model na wybranym graczu i ja obserwuje ten widok z punktu modelu, który został utworzony na nim.
Po 5 sekundach chcę wrócić do swojego modelu gracza, żeby nie być już tym obiektem utworzonym na wybranym graczu.
BlackPerfum
29.06.2014
Ale co sie dzieje z twoim modelem (tobą) gdy obserwujesz?
fm_set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20)Prawie że znika
Tak nie można?
public WejdzWCialo(id) { fm_set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20) engfunc(EngFunc_SetView, id, gracz_id[id]) set_task(5.0, "KoniecPodgladu",id+32894749)//Zapomniales id przesłać i dawałeś by id==0 patrzyło z punkyu o id == 0 xD } public KoniecPodgladu(id) { id-=32894749 engfunc(EngFunc_SetView, id, id) fm_set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 20) ColorChat(id, RED, "Ofiara jest oznaczona przez minute na radarze!") }
Drago36
29.06.2014
Nie sądziłem że przesłanie danych tu coś da ( ).
Dobra, dzięki wielkie. Działa pięknie.
Hmmm.
Ale co sie dzieje z twoim modelem (tobą) gdy obserwujesz?
Obserwowało się normalnie, tylko po 5 sekundach wyrzucało mnie do menu Cs i drukował ten error co podałem wcześniej w konsoli.
To dlatego, że kazałem id==0 (czyli serwerowi?) przechodzić z modelu na model.
Teraz już tego nie ma.
P.S
Mam jeszcze dwa pytania, które mnie gnębią.
1. Jest sobie task:
set_task(60.0, "AktywacjaMocy",id+KAC_TASK)
Jest koniec rundy i chcę ten task usunąć. Robię to dobrze w ten sposób?:
remove_task(KAC_TASK, 0)
2. Działa jak powinno, a chciałbym (jak tylko to możliwe) zmienić, aby ten model może nad nim był tworzony.
Nie wygląda to jakoś ciekawie, wolałbym wyżej, za nim, z boku, cokolwiek aby nie było w modelu gracza.
BlackPerfum
29.06.2014
Nie, musisz zrobić tak:Jest koniec rundy i chcę ten task usunąć. Robię to dobrze w ten sposób?:
remove_task(KAC_TASK+id)
Dlatego sie spytałem:2. Działa jak powinno, a chciałbym (jak tylko to możliwe) zmienić, aby ten model może nad nim był tworzony.
Trzeba by było w thinku zmieniać pozycję/kierunek enta bo wątpie by się dało na odległość od tak enta przyczepić. Jeśli nie chcesz aby ent był za graczem to zawsze możesz go przyczepić w miejscu ustalonym przez pev_body. Możesz próbowac oddalić minimalnie za pomocą SetFOV ale to chyba nic niedaTak nie można?
Drago36
30.06.2014
Dobra, ale jakie są rodzaje pev_body i jak się dokładniej stosuje?
set_pev(index enta, pev_body, rodzaj) // Rodzaj od 0 do 16. Dobrze? Na alienmods tak jakoś pisało.
BlackPerfum
30.06.2014
Nigdy nie bawiłem się pev_body (ale go używałem) dlatego raczej tak ale pewności nie mam ;D
Drago36
06.07.2014
pev_body jednak nie pomaga, nadal model jest tworzony w graczu.
Możesz próbowac oddalić minimalnie za pomocą SetFOV ale to chyba nic nieda
Pierwsze słysze. Jak to zastosować?
BlackPerfum
06.07.2014
SetUserFov(id,fov) { static SetFovId if(!SetFovId) SetFovId = get_user_msgid("SetFOV") set_pdata_int(id, 363, fov) set_pev(id,pev_fov,float(fov)) message_begin(MSG_ALL,SetFovId,.player=id) write_byte(fov) message_end() }Jak wchodzisz na gracza to dajesz 50.0 (z mniejszymi wartościami widać celownik) lub 255.0 (50.0 przyblizy 255.0 oddali) a jak schodzisz to ustawiasz 90.0 bo to standardowa wartość
Użytkownik BlackPerfum edytował ten post 06.07.2014 12:52