←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Usuniecie celownika,message_b...

Zablokowany

  • +
  • -
ogieR8 - zdjęcie ogieR8 19.12.2014

~ WItam.
[...] blablabla. Usuwam graczowi celownik na X (np. 10) sekund. Sprawa wygląda tak, w momencie ustawienia ofiara_delcel[index] = 1 wywołuje tego X sekundowego taska, w którym wartość zeruje. Sprawa wyglądała na 'zadowalającą' mnie, jednak jeden z testerów skarżył się dziś, że nie ma zoom'a w sniperkach (tej nakładki crosshair z sprites/weapon_nazwa.txt -> sztywne kreski są wychodzące z 4 horyzontów, jednak nie ma tego dodatku na sam środek, z uwypukleniami i czerwoną kropką.
 
Kod jest w evencie CurWeapon:

message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HideWeapon"), _, id)
ofiara_delcel[id] ? write_byte(1<<6) : write_byte(0);
message_end()

Ogólnie rzecz biorąc spisywał się bardzo, jednak została 'odkryta' pewna wada, może inną wartość przypisać write_byte() ? Nie mam pojęcia, próbowałem już kilku i nic.
 
Dorzucę w sumie screeny..
Tak jest
Tak być powinno
 
Usunąłem ten kod dla pewności - tak to jego wina :/

Dodam jeszcze tylko wypis bytów
1 (1<<0) - crosshair, ammo, weapons list
2 (1<<1) - flashlight, +
4 (1<<2) - ALL
8 (1<<3) - radar, health, armor, +
16 (1<<4) - timer, +
32 (1<<5) - money, +
64 (1<<6) - crosshair
128 (1<<7) - +

+ oznacza, że doda nam wtedy celownik z spectator, takie 4 kropki żółto-pomarańczowe na znak krzyża (wierzchołki kwadratu, gdzie 1 bok kwadratu tworzy z płaszczyzną poziomą kąt 45* ;))

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 22.12.2014

Musisz wykryć zooma i wtedy oddać celownik.

Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 23.12.2014

Jak wykryć ?

Jak oddać ? write_byte(0) ?

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 23.12.2014

Nacisniecie klawisza mouse2 wiec chyba tylko w prethinku, poszukaj, ostatnio ktos pytaniach/problemach amxmodx/scripting pisał o wykryciu zooma.

Odpowiedz

  • +
  • -
psilocybe - zdjęcie psilocybe 23.12.2014

moduł cstrike
cs_get_user_zoom

cs_set_user_zoom
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 23.12.2014

Ale teoretycznie write_byte ustawione na 0 przy hideweapon powinno oddawać celownik (i oddaje, oprócz zooma).. Dobrze rozumiem, że muszę go jeszcze raz oddać w momencie użycia zoom'a ?

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 24.12.2014

Podałeś tylko message_begin, a nie wiadomo jak i kiedy sie to wykonuje. Załącz obszerniejszy fragment kodu.

Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 24.12.2014

Juz wszystko wrzuciłem odnośnie tego:

 

Kod jest w evencie CurWeapon, gdy stajemy sie ofiara i gdy czas mija (wszedzie ten sam kod):

message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HideWeapon"), _, id)
ofiara_delcel[id] ? write_byte(1<<6) : write_byte(0);
message_end()

No i mam moc w diablo do itemu/klasy, Dzięki ktorej mamy 1/value przy strzale, aby usunąć przeciwnikowi celownik, wtedy pobierane jest ID ofiary, przypuśćmy victim i wtedy jest ustawiana zmienna ofiara_delcel[victim]=true; Wrzucam następnie tam taska na X sekund, w którym ustawiam znów ofiara_delcel[victim]=false;

 

A sprawdzenie (ustawianie i chowanie) celownika umieściłem tylko w momencie:

1 zmiany broni

2 gdy gracz staje sie ofiara (aby mu odswiezylo od razu)

3 gdy czas usuniecia celownika (w tasku) mija, aby odswiezyc mu znow  

 

To cały opis, no oczywiście przy connect'cie zeruje zmienną ofiary :)

 

I ogólnie działą wszystko na te celowniki, co do sekundy, zmiana broni nie resetuje tego, od razu nie ma celownika i po dokłądnie odliczonych sekundach automatycznie celownik się pojawia.. tylko nie na zoom'ach :/ W tym problem :/

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 26.12.2014

no to daj warunek, że jak broń to snajperka (obojetie czy scout czy awp czy pepeszka) to dajesz celownik a nie zabierasz, po co zabierac skoro przy snajperce i tak go nie ma, a unikniesz problemu z zoomem


Użytkownik grankee edytował ten post 26.12.2014 15:37
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 14.01.2015

Nie widziałem Twojej odpowiedzi, teraz dopiero chciałem wrócić do tematu, czy ktoś ma rozwiązanie jakieś.. Przyznam, że nie wpadłem na ten pomysł nawet -,- Na pewno zadziała, można zamknąć i + leci.

Odpowiedz

  • +
  • -
radim - zdjęcie radim 14.01.2015

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany