Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sniper Selector dla promod.
#1
Hej,   Postanowiłem stworzyć własny automatyczny selektor snajperski, który w zasadzie to robi:   - Przeanalizuję kolegów z drużyny, jeśli mają oni sylwestrową postać ciała, dodamy je do liczby całkowitej, tak długo jak nie liczymy 2, snajper powinien być dostępny.   Oczywiście nie będzie on cały czas zasięgu, ponieważ bodymodel pozostaje taki sam do nowej rundy, 1 sposób, aby uczynić go nieco lepszym byłoby sprawdzenie, czy gracz jest nadal na serwerze, czego nie zrobiłem.   Błędy komend snajperskich czasami, trochę się nad tym zastanawiałem, ale wciąż nie jestem całkiem gotowy na inżynierię odwrotną, co w zasadzie robię to:       Kod:   dla (int i = 0; i <99; i ++) {char szBuffer [512]; sprintf (szBuffer, "mr% i% i sniper", bServerID, i); SendCommandToConsole (szBuffer); Sen (1); }   Czasami to działa, czasami nie robi.           Kod:   void MainThread (void) {while (1) {if (GetAsyncKeyState (F1) & 1) {if (! sniperClass. player_has_sniper (cg_entities -> clientNum)) {for (int i = 0; i <cgs -> MaxClients; ++) {if (sniperClass. is_sniper_available ()) {sniperClass. send_sniper_command (); if (sniperClass. player_has_sniper (cg_entities -> clientNum)) {CG_GameMessage ("^ 3Wybrałeś karabin snajperski"); }} else {if (sniperClass. is_player_inMyTeam (i)) {sniperClass. set_current_snipers (); }}}}}}}   Funkcje:       Kod:   bool misc :: player_has_sniper (int num) {return (strstr (klient [num]. bodyModel, "snipe") || strstr (klient [num]. bodyModel, "ghillie") || strstr (client [num]. bodyModel , "zwiad" )); } bool misc :: is_sniper_available () {return (amount_of_snipers <2); } Bool misc :: is_player_inMyTeam (int loop) {return (cg_entities [loop]. ClientNum! = Client -> ClientNum && client [pętla]. ITeam == client -> iTeam && player_has_sniper (loop)); } Void misc :: set_current_snipers () {amount_of_snipers ++; } Void misc :: send_sniper_command () {for (int i = 0; i <99; i ++) {char szBuffer [512]; sprintf (szBuffer, "mr% i% i sniper", bServerID, i); SendCommandToConsole (szBuffer); Sen (1); }} Int misc :: get_total_snipers () {return amount_of_snipers; }   Przepraszam za okropne formatowanie, ale nie mogę znaleźć sposobu na wyrównanie do lewej.   Zrobiłem dużo badań z moim partnerem kodowania, ale zakodowałem źródło tho. ~ voila
Reply
#2
Zwraca także uwagę na wydanie źródła newtechnology dla dostarczania struktur
Reply
#3
Daj temu człowiekowi ciasteczko
Reply
#4
jak korzystać z cod4?
Reply
#5
to jest cholernie niesamowite, dzięki boi: *
Reply
#6
jak to działa?
Reply




Users browsing this thread: 1 Guest(s)