Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Wymuszanie wygrania rundy przez...
Temat rozp. dram, 14.03.2011 15:35
13 odpowiedzi w tym temacie
#1
Napisano 14.03.2011 15:35
Jak wymusić wygranie rundy przez dany team?
Mam załadowany orpheu co ustawia że runda nigdy się nie kończy, i chciałbym aby kończyła się wtedy kiedy ja zażyczę sobie oraz punkt został przyznawany tej drużynie której również sobie zażyczę...
Pozdrawiam.
Mam załadowany orpheu co ustawia że runda nigdy się nie kończy, i chciałbym aby kończyła się wtedy kiedy ja zażyczę sobie oraz punkt został przyznawany tej drużynie której również sobie zażyczę...
Pozdrawiam.
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#3
Napisano 14.03.2011 20:53
Wszystko fajnie tylko że ten plugin z moim pluginem koliduje^^ mój plugin zabrania skończenia rundy, a ten plugin kończy runde.
Np. ROUND_DRAW...
Próbowałem usunąć ale te orpheu jest nie do ogarnięcia^^
Np. ROUND_DRAW...
Próbowałem usunąć ale te orpheu jest nie do ogarnięcia^^
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#4
Napisano 14.03.2011 21:10
nie trzeba ogarniać orpheu, żeby to poprawić; użyj jakieś danej wspólnej (cvar, xvar) ustawiaj na 1 jak ma nie blokować i 0 jak ma blokować; na początku obsługi komendy ustaw 1, przed handled daj 0 i problem z głowy
załączam przykładową implementację, nie testowałem
załączam przykładową implementację, nie testowałem
Załączone pliki
#5
Napisano 14.03.2011 21:40
mhm a mógłbyś przerobić to tak aby działało tylko komendą wymuszanie końca rundy? Jest coś takiego aktualnie że admin wpisuje
terminate_round i runda się kończy a jak przerobić to na tylko i wyłącznie taką komendę?
hmm poza tym niestety nie działa. Dobrym rozwiązaniem byłaby tak jak wyżej napisałem komenda. Wywołuje się komende z poziomu serwera i plugin się uaktywnia(ja ten plugin wpletuje do swojego kodu)
terminate_round i runda się kończy a jak przerobić to na tylko i wyłącznie taką komendę?
hmm poza tym niestety nie działa. Dobrym rozwiązaniem byłaby tak jak wyżej napisałem komenda. Wywołuje się komende z poziomu serwera i plugin się uaktywnia(ja ten plugin wpletuje do swojego kodu)
Użytkownik dram edytował ten post 14.03.2011 21:50
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#6
Napisano 14.03.2011 22:01
głupio mi pytać, ale..: skompilowałeś? zaraz sam sprawdzę
a z tą komendą to nie czaje zupełnie
a z tą komendą to nie czaje zupełnie
#7
Napisano 14.03.2011 22:09
Mhm.
Patrz.
Można przechwycić wtedy kiedy bomba jest rozbrojona/wybuchnie itd.
public bomb_explode
...
I w tej funkcji dać wywołanie funkcji która w tym właśnie momencie WYMUSZA skończenie rundy.
Wg. mnie to jest całkiem dziwne bo wystarczy że wrzuce pliki do config/orpheu z tym wymuszaniem kończenia rundy i plugin jest tu nie potrzebny...
Bo automatycznie kończy runde.
Patrz.
Można przechwycić wtedy kiedy bomba jest rozbrojona/wybuchnie itd.
public bomb_explode
...
I w tej funkcji dać wywołanie funkcji która w tym właśnie momencie WYMUSZA skończenie rundy.
Wg. mnie to jest całkiem dziwne bo wystarczy że wrzuce pliki do config/orpheu z tym wymuszaniem kończenia rundy i plugin jest tu nie potrzebny...
Bo automatycznie kończy runde.
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#8
Napisano 14.03.2011 22:13
eh, wystarczyło wyłączyć na czas wykonania komendy infinity_round komendą
I działa komenda
oraz natyw z .inc`a
I działa komenda
terminate_round timer
oraz natyw z .inc`a
Załączone pliki
#9
Napisano 14.03.2011 22:28
Hmm rozumiem że dobrze mnie zrozumiałeś co miałem na myśli?
Mianowicie Chciałem się pozbyć round_draw oraz końca rundy w sytuacjach kiedy ct lub tt nie żyje, a w przypadku wybuchu lub rozbrojenia paki runda się restartuje i punkt zostaje przyznany zwycięskiemu teamowi.
// no więc testuje.
Dodano 14 marzec 2011 - 23:10:
wplotłem to do kodu i jest prawie dobrze gdyby nie to że zawsze ct wygrywa:O
Mianowicie.
Round draw usunięty w piz****
Ale gdy paka wybuchnie wygrywa ct zamiast terro, gdy wymuszam komendą wygrywanie terro i tak ct wygrywa
Pozdrawiam.
///
W przypadku gdy wymuszam wygranie TT jest normalny napis.. terrorist win ALE nie dostają punktu
// jednak tak samo jest w przypadku ct
Mianowicie Chciałem się pozbyć round_draw oraz końca rundy w sytuacjach kiedy ct lub tt nie żyje, a w przypadku wybuchu lub rozbrojenia paki runda się restartuje i punkt zostaje przyznany zwycięskiemu teamowi.
// no więc testuje.
Dodano 14 marzec 2011 - 23:10:
wplotłem to do kodu i jest prawie dobrze gdyby nie to że zawsze ct wygrywa:O
Mianowicie.
Round draw usunięty w piz****
Ale gdy paka wybuchnie wygrywa ct zamiast terro, gdy wymuszam komendą wygrywanie terro i tak ct wygrywa
Pozdrawiam.
///
W przypadku gdy wymuszam wygranie TT jest normalny napis.. terrorist win ALE nie dostają punktu
// jednak tak samo jest w przypadku ct
Użytkownik dram edytował ten post 14.03.2011 23:14
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#10
Napisano 15.03.2011 00:25
pokaż komendę jakiej użyłeś; powinno to być pewnie coś związane z celami mapy
#11
Napisano 15.03.2011 07:29
public game_forwards() <> {} public game_forwards() <disabled> { OrpheuRegisterHook(OrpheuGetFunction("CheckMapConditions", "CHalfLifeMultiplay"), "game_blockConditions") OrpheuRegisterHook(OrpheuGetFunction("CheckWinConditions", "CHalfLifeMultiplay"), "game_blockConditions") if(is_linux_server()) OrpheuRegisterHook(OrpheuGetFunction("HasRoundTimeExpired", "CHalfLifeMultiplay"), "game_blockConditions") else game_memoryReplace("roundTimeCheck", {0x90, 0x90, 0x90}) state enabled } public OrpheuHookReturn:game_blockConditions() <> return OrpheuIgnored public OrpheuHookReturn:game_blockConditions() <enabled> { OrpheuSetReturn(false) return OrpheuSupercede } game_memoryReplace(szID[], const iBytes[], const iLen = sizeof iBytes) { new iAddress OrpheuMemoryGet(szID, iAddress) for(new i; i < iLen; i++) { OrpheuMemorySetAtAddress(iAddress, "roundTimeCheck|dummy", 1, iBytes[i], iAddress) iAddress++ } server_cmd("sv_restart 1") }
a w inicie
game_forwards()
to użyłem do zablokowania rund
a to twoje (skopiowane) do zakończenia rund. Ale teraz coś się pokiepściło bo jest restart rundy tyle że punktów nie przyznaje...
Pozdrawiam.
// acha przyznaje punkt dla ct wtedy kiedy wpisze terminate_round time (wtedy wygrywa ct "target has been saved")
Dodano 15 marzec 2011 - 15:55:
mhm teraz to mi tylko chodzi o to aby przyznać punkt danej drużynie.
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#13
Napisano 16.03.2011 15:49
A jak pobrać ile punktów ma dany team? || jest już taki temat a jak ustawić czas rozbrajania bomby też orpheu?
Co oferuje?
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
Pisanie pluginów amxx/modow itd
Skryptow php
Kontakt na PW LUB GG
#14
Napisano 16.03.2011 16:42
nasłuchuj tego eventu i zapisuj punkty, jak ktoś wygra dodaj 1 i wyślij własną wiadomość
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych