hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.11.25. 06:09



Jelenlévő felhasználók

Jelenleg 286 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 284 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Majestic-12 [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Kör vég manuálisan
HozzászólásElküldve:Tegnap, 13:05 
Offline
Jómunkásember
Avatar

Csatlakozott:2016.02.27. 17:55
Hozzászólások:371
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 61 alkalommal
Üdv! Van egy pluginom, ami annyit tesz, hogy a bombát telepítő terrornak megnyit egy menüt, ahol 4 szin közül választhat. A defusernek szintén előjön a menü, és ha helyes a vezeték, akkor a loser team-on silentkill lefut (ez idáig jó is), de:
Ha le van rakva a bomba, és megölöm az utolsó terror, aztán vágom el a helyes vezetéket (nem tud lefutni a silentkill, mert nem él senki a loser teamből), tehát nincs semmi, ami 'körvéget' generálna.
Ugyebár kézileg meghívni nem tudok eventet, se bomb_defused, se round_end stb, ezt mind a játék motorja hívná.
Esetleg más megoldás van e?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:Tegnap, 16:35 
Offline
Jómunkásember
Avatar

Csatlakozott:2019.11.03. 22:00
Hozzászólások:383
Megköszönt másnak: 37 alkalommal
Megköszönték neki: 29 alkalommal
Szia!
Igen, ilyen helyzetben a motor nem generál round_end-et, mert nincs, ami kiváltaná nincs élő játékos, nincs bombacsapat megölve, és a bomba sincs defuselődve engine szinten, hiszen a te logikád csak menüt használ, nem a valódi bombamechanikát.

A megoldás:
Neked kell kézzel körvéget csinálnod, de nem eventtel (mert azt nem lehet), hanem játékbeli parancsokkal vagy AMXX funkciókkal, amiket a szerver valódi körvégnek tekint.



1.
Működő, bevált megoldás: cs_set_team_score() + force_round_restart


Ez a legstabilabb:

Amikor a CT helyesen választja a vezetéket, de már nincs élő T:

1. Kit is „nyert” a kör → CT


2. Növeled a CT körszámát


3. Kényszerített körindítás (sv_restartround)



Kód:

  1. public DefuserCorrectWire(id)
  2. {
  3. // CT nyert
  4. new ct = get_team_score("CT")
  5. cs_set_team_score("CT", ct + 1)
  6.  
  7. // 1 másodperc múlva restart
  8. set_task(1.0, "RestartRound")
  9. }
  10.  
  11. public RestartRound()
  12. {
  13. server_cmd("sv_restartround 1")
  14. }

Ez teljesen érvényes round end lesz, scoreboard frissít, idő újraindul, új kör indul.




2.
Második opció: direkt CT győzelem (TerminateRound)


Használhatod az Orpheu-t vagy ReAPI-t:

ReAPI:
  1. #include <reapi>
  2.  
  3. public DefuserCorrectWire(id)
  4. {
  5. // CT win (7 = CT Defuse win)
  6. rg_round_end(7, 0)
  7. }

Ez valódi engine round_end, de csak akkor működik, ha van ReAPI a szerveren.


3.
Egyszerűbb fallback: az összes T respawn nélkül „eliminálása”


Ha a T-k már halottak, ez természetesen nem segít.
Ezért ezt nem javaslom.


Miért nem jó a sima silentkill?

Mert:

Ha nincs élő T → nincs mit megölni

A motor nem hív round_end-et

A bomba sincs defuselődve engine által

Te menüd logikája nem generál „hivatalos” bomb_defused eseményt


Ezért a kör „fagyott” állapotba kerül.


Ajánlott végső megoldás


Használd a sv_restartround-ot és előtte állítsd be a nyertes csapat pontszámát.

Ez biztos, motor-kompatibilis, AMXX-nél standard, minden modon működik:

cs_set_team_score("CT", cs_get_team_score("CT") + 1)

UI: Épp dolgozom gépen írtam eggyet teszteld.
► Spoiler mutatása

_________________
Kép

Ők köszönték meg Csabika20034 nek ezt a hozzászólást: koko.988 (Tegnap, 21:12)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:Tegnap, 21:12 
Offline
Jómunkásember
Avatar

Csatlakozott:2016.02.27. 17:55
Hozzászólások:371
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 61 alkalommal
ReApival (rg_round_end(7, 0)) megoldódott, köszönöm!


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 11 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole