Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

ROund STart REstart by Miczu


  • Zamknięty Temat jest zamknięty
32 odpowiedzi w tym temacie

#1 Ox!d3

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 12.04.2008 15:36

Witam

Używam u siebie na serwerze M_Antirusher_2.4 oraz ROund STart REstart 1.1 od Micza. Moja prośba jest skierowana do Micza głównie, chyba że jeszcze ktoś będzie potrafił dobrze to wykonać.

Chodzi o modyfikację pluginu ROund STart REstart:

1. Występuje tam taki mały błąd przy odtwarzaniu dźwięku one.wav, tzn dźwięk ten nie jest w pełni odtwarzany (trochę go na końcu urywa)
2. Przydało by się aby runda nożowa włączała się po wejściu minimum 2 osób na pusty serwer a nie tylko po zmianie mapy (tak jak w auto_restart_knives.amxx).
3. Zlikwidować te napisy zielone na środku z odliczaniem (trzy, dwa, jeden) a zamiast tego zostawić do samego końca tą ramkę, która odlicza sekundy do autorestartu.
4. No i najważniejsze chyba. Aby podczas tej rundy nożowej były zapauzowane następujące pluginy: M_Antirusher_2.4.amxx, imessage.amxx oraz scrollmsg.amxx. Na koniec rundy oczywiście powinny zostać automatycznie odpauzowane (też tak samo jak w auto_restart_knives.amxx ale dodatkowo jeszcze z opcją pauzowania pluginów: imessage.amxx i scrollmsg.amxx)

Bardzo bym prosił o przerobienie tego pluginu.
Z góry dziękuję.

Oto plugin do przeróbki w mojej wersji:
#include <amxmodx>             // AMX Mod X
#include <amxmisc>

new czas = 60
new resety=3
new noze=0
new restart_title[1][] = {
    "Knife Round"          //SPAM
}
new misc[3][]={"misc/one.wav","misc/two.wav","misc/three.wav"}
new texty[3][]={"Jeden","Dwa","Trzy"}

public plugin_init()
{
    register_plugin("ROund STart REstart","1.1","Edited by Miczu") //cos mi sie nalezy <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' />
    set_task(5.0,"restart_odlicz", 0)

    return PLUGIN_CONTINUE
}

public client_PreThink ( id )
{
    if(noze) client_cmd(id,"weapon_knife")
}

public restart_odlicz(){
   
    new players[32],num,num2
    get_players(players,num,"ae","TERRORIST")
    get_players(players,num2,"ae","CT")
   
    if((num)&&(num2))
    {
        noze=1
    set_task(5.0,"muza_on", 0)
    set_task(1.0,"wyswietl_res",8188,"",0,"b")
    }
    else set_task(5.0,"restart_odlicz", 0)
}

public muza_on(){
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/play_test.wav")
}

public wyswietl_res(){

    new jac1=random_num(0,255)
    new jac2=random_num(0,255)
    new jac3=random_num(0,255)   

    set_hudmessage(jac1, jac2, jac3, 0.65, 0.75, 2, 0.02, 1.0, 0.01, 0.1, 10)
    show_hudmessage(0,"==================^n   *%s *^n  RESTART ZA: %i sec^n==================", restart_title, czas)
    czas--
    if(czas==2){
    set_task(0.2,"restart_rundy_0", 0)
    remove_task(8188)
   }
}

public restart_rundy_play(){
    set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4)
    show_hudmessage(0,"=============^n* GAME LIVE *^n=============")
}


public restart_rundy(){
    noze=0
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/reset.wav") 
    server_cmd("sv_restart 1")
    set_task(2.0,"restart_rundy_play", 0)
}

public restart_rundy_0(){
    set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4)
    show_hudmessage(0,texty[resety-1])
    client_cmd(0,"stopsound")
    client_cmd(0,"spk %s",misc[resety-1])
    resety--
    if(resety==0) set_task(0.5,"restart_rundy", 0)
    else set_task(1.5,"restart_rundy_0", 0)
}

public plugin_precache()
{
    precache_sound("misc/play_test.wav")
    precache_sound("misc/reset.wav")
    precache_sound(misc[0])
    precache_sound(misc[1])
    precache_sound(misc[2])

    return PLUGIN_CONTINUE
}

  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 12.04.2008 16:41

client_cmd(0,"stopsound")
to przerywa odtwarzany dzwiek - usun z pluga (a przynajmniej to jedno co ucina jeden) i ciesz sie pelnym odtwarzaniem...

lub
set_task(1.5,"restart_rundy_0", 0)
zmien by czas miedzy odtrarzaniem muzyki byl dluzszy niz 1.5 sekundy :P

Co do tego by sie uruchamialo gdy na serwer wchodza osoby to da sie oczywiscie zrobic ale na razie nie mam na to czasu, sory ;P
  • +
  • -
  • 0

#3 ESTCOBS

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:58
  • GG:
  • Lokalizacja:Kraków
Offline

Napisano 12.04.2008 17:56

Jest też prośba ode mnie =)
Zrobisz tak żeby pokazywało się nad stanem gotówki ? (koniec ========= of course.... :D)
Z góry dziękował

BTW // Te nasze prośby o ile zostaną spełnione to pewno 1.3 będzie xDDD
  • +
  • -
  • 0

#4 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 13.04.2008 19:49

Więc tak problem nr 1 rozwiązałem sam.
set_task(1.5,"restart_rundy_0", 0)
zmienienie tutaj czasu nic nie daje, ponieważ dotyczy to tylko przerw między three a two i miedzy two a one.

client_cmd(0,"stopsound")
usunięcie tej linijki co prawda spowodowało, że dźwięk one.wav NIE był na końcu ucinany ale za to dźwięk one.wav nakładał się na końcu delikatnie na początek reset.wav.

Czyli ani pierwsze ani drugie rozwiązanie nie przyniosło skutku.

To właśnie podsunęło mi pomysł, że po prostu dźwięk reset.wav jest za wcześnie odtwarzany i dlatego urywało na końcu one.wav.

Wystarczyło tylko wy edytować ten jeden wiersz:
if(resety==0) set_task(0.5,"restart_rundy", 0)
czyli zmienić czas z 0.5 s. na 1.3 s. między odtwarzaniem dźwięku one.wav i reset.wav

if(resety==0) set_task(1.3,"restart_rundy", 0)

P.S.
Czekam na pomoc w sprawie pozostałych 3 punktów. :F
  • +
  • -
  • 0

#5 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 13.04.2008 23:20

Faktycznie, nie wiem dlaczego myslalem ze odlicza jeden, dwa, trzy (a przeciez odlicza wstecz :P)
  • +
  • -
  • 0

#6 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 14.04.2008 01:12

Dobra z punktem 4 też już sobie poradziłem drogą dedukcji :]

Pauzowanie dałem tutaj:
public restart_odlicz(){
   
    new players[32],num,num2
    get_players(players,num,"ae","TERRORIST")
    get_players(players,num2,"ae","CT")
   
    if((num)&&(num2))
    {
        noze=1
    pause("ac","M_Antirusher_2.4.amxx")
    pause("ac","imessage.amxx")
    pause("ac","scrollmsg.amxx")
    set_task(3.0,"muza_on", 0)
    set_task(1.0,"wyswietl_res",8188,"",0,"b")
    }
    else set_task(5.0,"restart_odlicz", 0)
}

Odpauzowanie dałem tutaj:
public restart_rundy(){
    noze=0
    unpause("ac","M_Antirusher_2.4.amxx")
    unpause("ac","imessage.amxx")
    unpause("ac","scrollmsg.amxx")
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/reset.wav")  
    server_cmd("sv_restart 1")
    set_task(2.0,"restart_rundy_play", 0)
}
No i zadziałało ;> :yea:

Prosił bym tylko jeszcze o pomoc w punkcie 2 i 3, bo z tym to już nie dam rady drogą dedukcji :F
  • +
  • -
  • 0

#7 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 14.04.2008 07:44

set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4) 

    show_hudmessage(0,texty[resety-1])
usun to i sprawdz efekt :F
  • +
  • -
  • 0

#8 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 15.04.2008 01:18

Usunąłem tak jak mówiłeś i pomogło oczywiście ale nie rozwiązało jednak problemu w całości ;P
Tzn. zielone napisy z odliczaniem na środku nie pokazują się już ale ramka z odliczaniem sekund nadal za wcześnie znikała. Oprócz tego przy kompilacji pojawił się dodatkowy "Warning" ale to akurat nie stanowi problemu w poprawnym działaniu pluginu :F


Tak więc znów sam doszedłem do następujących wniosków:

ten wiersz

remove_task(8188)

z tego miejsca
set_hudmessage(jac1, jac2, jac3, 0.65, 0.75, 2, 0.02, 1.0, 0.01, 0.1, 10) 
    show_hudmessage(0,"==================^n    *%s *^n  RESTART ZA: %i sec^n==================", restart_title, czas)
    czas--
    if(czas==2){
    set_task(0.2,"restart_rundy_0", 0)
    remove_task(8188)
przeniosłem tutaj
public restart_rundy(){
    noze=0
    unpause("ac","M_Antirusher_2.4.amxx")
    unpause("ac","imessage.amxx")
    unpause("ac","scrollmsg.amxx")
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/reset.wav")  
    server_cmd("sv_restart 1")
    remove_task(8188)
    set_task(2.0,"restart_rundy_play", 0)
}

A oprócz tego te wiersze
if(czas==2){
set_task(0.2,"restart_rundy_0", 0)
Podmieniłem na na takie
if(czas==3){
set_task(0.7,"restart_rundy_0", 0)
aby zsynchronizować odliczający głos z wyświetlanym czasem

Tak więc do zrobienia został już tylko punkt 2 (chyba najtrudniejszy), z którym sobie sam na pewno nie poradzę. Także bardzo proszę o pomoc w tej kwestii :D
  • +
  • -
  • 0

#9 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 15.04.2008 06:15

No musze przyznac, ze zainponowales mi, nie wiele uzytkownikow, potrafi w tak samodzielny sposob rozwiazywac wlasne problemy, szczegolnie jesli dobrze to wiedze i dopiero sie uczysz :] Kto wie moze za jakis czas sam bedziesz pomagac innym i tworzyc na wlasna reke ;]


Jak wroce z uczeli to postaram sie ostatnie zrobic, ale dam na start potrzebne nam rzeczy, ktore beda do tego niezbedne (kto wie moze z tym uda ci sie zrobic ;> ).
public client_connect(id) {}          //gracz polaczyl sie z serwerem
public client_putinserver(id) {}     //gracz wszedl na serwer 

public client_disconnect(id) {}      //gracz opuscil serwer

new players[32], num

get_players(players,num,"ae","TERRORIST")        // w num jest ukryta liczba zywych TT

get_players(players,num,"ae","CT")                    // w num jest ukryta liczba zywych CT
get_players()

register_event("HLTV","Event_StartRound","a","1=0","2=0")            /* event od                                                                 startu rundy - dajemy plugin_init */

public Event_StartRound() {}                       // tutaj kod zwiazany z poczatkiem rundy <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />

set_task(5.0,"restart_odlicz", 0)  //uruchamia noze z opusnieniem 5.0s

Teraz tylko trzeba wymierzyc kiedy na serwerze jest conajmniej 1 osoba w kazdym teamie. i uruchamiamy noze :P Jak cos to pozniej zrobie jako calosc ;>

Wiele tu brakuje, ale kto wie :D

[ Dodano: 2008-04-15, 14:44 ]
PS. Daj aktualny kod bo mi sie nie chce mi sie robic kolejnego skladaka :P
  • +
  • -
  • 0

#10 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 15.04.2008 16:09

Dzięki za uznanie :> Może gdybym znał perfekt angielski (a nie piąte przez dziesiąte :F ) i język programowania C++ to pewnie było by mi łatwiej pisać lub edytować pluginy.

Jeśli chodzi o ten drugi "Warning", który pojawił się przy kompilowaniu to też już sobie z tym poradziłem.
Trzeba było tylko usunąć tą linijkę, która nie była wykorzystywana w dalszej części pluga:
new texty[3][]={"Jeden","Dwa","Trzy"}
A jeśli chodzi o ten pierwszy "Warning", który pojawia się zawsze przy kompilacji, to nie mam pojęcia o co w nim chodzi :(

Tutaj masz już dopracowany plugin w mojej wersji (i Twojej oczywiście :F) prawie finalnej (czyli bez punktu 2):
#include <amxmodx>             // AMX Mod X
#include <amxmisc>

new czas = 60
new resety=3
new noze=0
new restart_title[1][] = {
    "La Resistance"
}
new misc[3][]={"misc/one.wav","misc/two.wav","misc/three.wav"}

public plugin_init()
{
    register_plugin("ROund STart REstart","1.9","Miczu & Ox!d3") // Mi też się coś należy ;D
    set_task(5.0,"restart_odlicz", 0)

    return PLUGIN_CONTINUE
}

public client_PreThink ( id )
{
    if(noze) client_cmd(id,"weapon_knife")
}

public restart_odlicz(){
   
    new players[32],num,num2
    get_players(players,num,"ae","TERRORIST")
    get_players(players,num2,"ae","CT")
   
    if((num)&&(num2))
    {
        noze=1
    pause("ac","M_Antirusher_2.4.amxx")
    pause("ac","imessage.amxx")
    pause("ac","scrollmsg.amxx")
    set_task(3.0,"muza_on", 0)
    set_task(1.0,"wyswietl_res",8188,"",0,"b")
    }
    else set_task(5.0,"restart_odlicz", 0)
}

public muza_on(){
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/play_ejo.wav") 
}

public wyswietl_res(){

    new jac1=random_num(0,255)
    new jac2=random_num(0,255)
    new jac3=random_num(0,255)   

    set_hudmessage(jac1, jac2, jac3, 0.65, 0.75, 2, 0.02, 1.0, 0.01, 0.1, 10) 
    show_hudmessage(0,"==================^n    *%s *^n  RESTART ZA: %i sec^n==================", restart_title, czas)
    czas--
    if(czas==3){
    set_task(0.7,"restart_rundy_0", 0)
   }
}

public restart_rundy_play(){
    set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4)
    show_hudmessage(0,"===================^n* LIVE LA RESISTANCE *^n===================")
}

public restart_rundy(){
    noze=0
    unpause("ac","M_Antirusher_2.4.amxx")
    unpause("ac","imessage.amxx")
    unpause("ac","scrollmsg.amxx")
    client_cmd(0,"stopsound")
    client_cmd(0,"spk misc/reset.wav")  
    server_cmd("sv_restart 1")
    remove_task(8188)
    set_task(2.0,"restart_rundy_play", 0)
}

public restart_rundy_0(){
    client_cmd(0,"stopsound")
    client_cmd(0,"spk %s",misc[resety-1])
    resety--
    if(resety==0) set_task(1.0,"restart_rundy", 0)
    else set_task(1.3,"restart_rundy_0", 0)
}

public plugin_precache()
{
    precache_sound("misc/play_ejo.wav") 
    precache_sound("misc/reset.wav") 
    precache_sound(misc[0])
    precache_sound(misc[1])
    precache_sound(misc[2])

    return PLUGIN_CONTINUE
}
Do załącznika dodałem jeszcze pliki WAV do pluga gdybyś chciał go przetestować w całości. ;>

Wieczorem spróbuje złożyć to w całość (chociaż będzie mi ciężko to ogarnąć) bo teraz nie mam za bardzo czasu, no chyba że Ty zrobisz to wcześniej
;> :D

Załączone pliki


  • +
  • -
  • 0

#11 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 15.04.2008 18:47

Nie moglem testowac zbyt dobrze, bo chyba boty nie maja disconecta :P ale powinno dzialac

#include <amxmodx>             // AMX Mod X 
#include <amxmisc> 

new czas = 60 
new resety=3 
new noze=0 
new restart_title[1][] = { "La Resistance" }

new misc[3][]={"misc/one.wav","misc/two.wav","misc/three.wav"} 

new bylo_juz=0

public plugin_init() 
{ 
    register_plugin("ROund STart REstart","1.9","Miczu & Ox!d3") // Mi też się coś należy ;D 
    
    register_event("HLTV","Event_StartRound","a","1=0","2=0")

    return PLUGIN_CONTINUE 
} 

public client_disconnect(id){
	new players[32], num, num2
	get_players(players,num,"e","TERRORIST")
	get_players(players,num2,"e","CT")
	if(num2+num<2) bylo_juz=0
}

public Event_StartRound(){
	if(bylo_juz==0) set_task(0.2,"restart_odlicz", 0)
}

public client_PreThink ( id ) 
{ 
	if(noze) client_cmd(id,"weapon_knife") 
} 

public restart_odlicz(){ 
    
	new players[32],num,num2 
	get_players(players,num,"ae","TERRORIST") 
	get_players(players,num2,"ae","CT") 
    
	if((num)&&(num2)){ 
        noze=1 
	bylo_juz=1
	pause("ac","Antirusher.amxx")
	pause("ac","M_Antirusher.amxx")
        pause("ac","M_Antirusher_2.4.amxx")
	pause("ac","M_Antirusher_2.5.amxx")
        pause("ac","imessage.amxx") 
        pause("ac","scrollmsg.amxx") 
        set_task(3.0,"muza_on", 0) 
        set_task(1.0,"wyswietl_res",8188,"",0,"b") 
	} 
} 

public muza_on(){ 
	client_cmd(0,"stopsound") 
	client_cmd(0,"spk misc/play_ejo.wav") 
} 

public wyswietl_res(){ 

    new jac1=random_num(0,255) 
    new jac2=random_num(0,255) 
    new jac3=random_num(0,255)    

    set_hudmessage(jac1, jac2, jac3, 0.65, 0.75, 2, 0.02, 1.0, 0.01, 0.1, 10) 
    show_hudmessage(0,"==================^n    *%s *^n  RESTART ZA: %i sec^n==================", restart_title, czas) 
    czas-- 
    if(czas==3){ 
    set_task(0.7,"restart_rundy_0", 0) 
   } 
} 

public restart_rundy_play(){ 
    set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4) 
    show_hudmessage(0,"===================^n* LIVE LA RESISTANCE *^n===================") 
} 

public restart_rundy(){ 
    noze=0 
    unpause("ac","Antirusher.amxx")
    unpause("ac","M_Antirusher.amxx")
    unpause("ac","M_Antirusher_2.4.amxx") 
    unpause("ac","M_Antirusher_2.5.amxx")
    unpause("ac","imessage.amxx") 
    unpause("ac","scrollmsg.amxx") 
    client_cmd(0,"stopsound") 
    client_cmd(0,"spk misc/reset.wav")  
    server_cmd("sv_restart 1") 
    remove_task(8188) 
    set_task(2.0,"restart_rundy_play", 0) 
} 

public restart_rundy_0(){ 
    client_cmd(0,"stopsound") 
    client_cmd(0,"spk %s",misc[resety-1]) 
    resety-- 
    if(resety==0) set_task(1.0,"restart_rundy", 0) 
    else set_task(1.3,"restart_rundy_0", 0) 
} 

public plugin_precache() 
{ 
    precache_sound("misc/play_ejo.wav") 
    precache_sound("misc/reset.wav") 
    precache_sound(misc[0]) 
    precache_sound(misc[1]) 
    precache_sound(misc[2]) 

    return PLUGIN_CONTINUE 
}


[ Dodano: 2008-04-15, 19:49 ]
Jesli chcesz zeby wystarczylo, ze reset byl gdy np. CT=10 a TT=0 i przechodza ludzie i byly noze to takie cos dac

public client_disconnect(id){ 
    new players[32], num, num2 
    get_players(players,num,"e","TERRORIST") 
    get_players(players,num2,"e","CT") 
    if(num2<1 || num<1) bylo_juz=0 
}

  • +
  • -
  • 0

#12 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 16.04.2008 00:56

Przetestowałem plugin w tej wersji i sprawa wygląda następująco:

1. Po zmianie mapy kiedy wejdzie minimum jedna osoba do CT i minimum 1 osoba to TT, plugin załącza się ,wyłącza i działa ogólnie prawidłowo

2. Podczas tej samej mapy kiedy na serwerze są 2 osoby i jedna wyjdzie z CT lub TT a jedna zostanie na serwie w CT lub TT a następnie jakiś gracz wejdzie na serwer i dołączy do pustego teamu, wówczas plugin nie reaguje a wydaje mi się, że powinien zadziałać...

3. Następna sytuacja: na serwerze są 2 osoby, runda nożowa po zmianie mapy już się odbyła, jedna osoba przechodzi do CT lub na SPECTA po czym wraca do TT (lub na odwrót przechodzi do TT lub na SPECTA i wraca do CT). Po takiej akcji plugin również nie reaguje (nie mam pojęcia czy powinien ;P)

4. No i ostatnia sytuacja dotyczy przypadku kiedy na serwerze są 2 osoby, następuje zmiana mapy i plugin prawidłowo wykonuję swoje czynności. Następnie te 2 osoby opuszczają serwer i wchodzą ponownie na tej samej mapie, no i wówczas plugin załącza sie ponownie ale niestety NIEPRAWIDŁOWO, ponieważ czas jest odliczany od 0 wstecz i tak odlicza na minusie w nieskończoność (czyli ta ramka z odliczaniem sekund nie znika). Na skutek tego błędu nie są odtwarzane pliki dźwiękowe z odliczaniem głosowym.

Podsumowując: zmiany które wprowadziłeś w pluginie przynoszą efekt JEDYNIE w sytuacji opisanej w punkcie 4. Efekt oczywiście z drobnym błędem, bo odlicza wstecz. Także nie wiem jakie miałeś zamiary co do działania tego pluginu, ale opisałem Ci dokładnie sposób jego zachowania w 4 różnych okolicznościach (możliwe, że jakąś pominąłem ;P).

Jak znajdziesz chwilkę to prosił bym Cię o dopracowanie tej funkcji pluga.

  • +
  • -
  • 0

#13 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 16.04.2008 07:16

Ale ja pisalem ze tak bedzie dzialac

Jesli chcesz zeby wystarczylo, ze reset byl gdy np. CT=10 a TT=0 i przechodza ludzie i byly noze to takie cos dac

public client_disconnect(id){ 
    new players[32], num, num2 
    get_players(players,num,"e","TERRORIST") 
    get_players(players,num2,"e","CT") 
    if(num2<1 || num<1) bylo_juz=0 
}


Co do 4 to bedzie moje jedyne zmartwienie, poza tym chyba jeszcze to jak ktos przejdzie z speca do teamu z 0 liczba miejsc. Ja osobiscie nie lubilem w starym plugu nozowym, ze resety robil 'za czesto' na jedna mape, no ale to ty zyczysz sobie takiego pluga :P

[ Dodano: 2008-04-16, 08:18 ]
Przy rozlaczeniu sie gracza z serwera nie widzi tego? (jak jeden jest na sererze) czyli boty nie klamaly :/
  • +
  • -
  • 0

#14 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 16.04.2008 17:03

OK masz racje, zgadzam się z Tobą. Najważniejsze jest aby plugin działał w przypadkach opisanych w punktach 1, 2 i 4 i na tym się skupmy. Ta opcja 3 z przechodzeniem z teamu do teamu jest mało istotna.

Źle cię po prostu zrozumiałem z tym kodem. Myślałem, że mam go zastosować właśnie wtedy jeśli nie będę chciał aby miało znaczenie przechodzenie z teamu do teamu

  • +
  • -
  • 0

#15 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 17.04.2008 14:26

Postac finalna

#include <amxmodx>             // AMX Mod X 
#include <amxmisc> 

new czas = 60 
new resety=3 
new noze=0 
new restart_title[1][] = { "La Resistance" } 

new misc[3][]={"misc/one.wav","misc/two.wav","misc/three.wav"} 

new bylo_juz=0 

public plugin_init() 
{ 
	register_plugin("ROund STart REstart","1.9","Miczu & Ox!d3") // Mi też się coś należy ;D 
    
	register_event("HLTV","Event_StartRound","a","1=0","2=0") 

	return PLUGIN_CONTINUE 
} 

public test_it(){
	new players[32], num, num2 
	get_players(players,num,"e","TERRORIST") 
	get_players(players,num2,"e","CT") 
	if(num2<1 || num<1) return 0
	return 1
}

public client_disconnect(id){ 
	set_task(0.3,"disconnect",0)
}

public disconnect(){
	if(test_it()==0 && noze==0) bylo_juz=0
}

public Event_StartRound(){ 
	if(test_it()==0 && noze==0) bylo_juz=0
	set_task(0.2,"restart_odlicz", 0) 
	set_task(6.0,"restart_odlicz", 0) 
} 

public client_PreThink ( id ) 
{ 
	if(noze) client_cmd(id,"weapon_knife") 
} 

public restart_odlicz(){ 
       
	if(test_it() && noze==0 && bylo_juz==0){ 
		noze=1 
		bylo_juz=1
		czas=60
		resety=3
		pause("ac","Antirusher.amxx") 
		pause("ac","M_Antirusher.amxx") 
		pause("ac","M_Antirusher_2.4.amxx") 
		pause("ac","M_Antirusher_2.5.amxx") 
		pause("ac","M_Antirusher_2.5b.amxx") 
		pause("ac","imessage.amxx") 
		pause("ac","scrollmsg.amxx") 
		set_task(3.0,"muza_on", 0) 
		set_task(1.0,"wyswietl_res",8188,"",0,"b") 
	} 
} 

public muza_on(){ 
	client_cmd(0,"stopsound") 
	client_cmd(0,"spk misc/play_ejo.wav") 
} 

public wyswietl_res(){ 

	new jac1=random_num(0,255) 
	new jac2=random_num(0,255) 
	new jac3=random_num(0,255)    

	set_hudmessage(jac1, jac2, jac3, 0.65, 0.75, 2, 0.02, 1.0, 0.01, 0.1, 10) 
	show_hudmessage(0,"==================^n    *%s *^n  RESTART ZA: %i sec^n==================", restart_title, czas) 
	czas-- 
	if(czas==3){ 
		set_task(0.7,"restart_rundy_0", 0) 
	} 
} 

public restart_rundy_play(){ 
	set_hudmessage(10, 255, 40, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 4) 
	show_hudmessage(0,"===================^n* LIVE LA RESISTANCE *^n===================") 
} 

public restart_rundy(){ 
	unpause("ac","Antirusher.amxx") 
	unpause("ac","M_Antirusher.amxx") 
	unpause("ac","M_Antirusher_2.4.amxx") 
	unpause("ac","M_Antirusher_2.5.amxx") 
	unpause("ac","M_Antirusher_2.5b.amxx") 
	unpause("ac","imessage.amxx") 
	unpause("ac","scrollmsg.amxx") 
	client_cmd(0,"stopsound") 
	client_cmd(0,"spk misc/reset.wav")  
	server_cmd("sv_restart 1") 
	remove_task(8188) 
	set_task(2.0,"restart_rundy_play", 0) 
} 

public restart_rundy_0(){ 
	client_cmd(0,"stopsound") 
	client_cmd(0,"spk %s",misc[resety-1]) 
	resety-- 
	if(resety==0){
		noze=0
		set_task(1.0,"restart_rundy", 0) 
	}
	else set_task(1.2,"restart_rundy_0", 0) 
} 

public plugin_precache() 
{ 
	precache_sound("misc/play_ejo.wav") 
	precache_sound("misc/reset.wav") 
	precache_sound(misc[0]) 
	precache_sound(misc[1]) 
	precache_sound(misc[2]) 

	return PLUGIN_CONTINUE 
}

Powinno przejsc wszystkie testy na serwerze. Poza tym dalem tradycyjne wylaczenie noza przy ostatniej sekundzie przed resetem :) zawsze beka przy tym jest :P
  • +
  • -
  • 0

#16 Ox!d3

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
Offline

Napisano 18.04.2008 20:52

Dobra robota :blaga: Chyba wszystko działa jak należy ^D^ Podaj mi tylko kod jaki bym musiał podmienić gdybym chciał żeby przechodzenie z teamu do teamu NIE miało znaczenia. Chodzi mi o sytuację opisaną w punkcie 3
  • +
  • -
  • 0

#17 bicek

    Ja tu tylko sprzątam.

  • Zbanowany

Reputacja: 914
Master

  • Postów:796
  • Lokalizacja:Wieluń
Offline

Napisano 19.04.2008 07:18

skoro plugin jest już skończony i dopracowany to śmiało możecie go opublikować w dziale pluginy ^^

#18 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 19.04.2008 12:38

tez tak mi sie zdaje :F
  • +
  • -
  • 0

#19 Gość__*

  • Gość

Reputacja: 0

Offline

Napisano 19.04.2008 22:36

Miczu, a mi nie ;)

Dodałem wersje "finalną" i co? AR się wyłacza na RR i potem się nie odpala ;>

#20 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 20.04.2008 12:00

A odtwarza reset.wav?

unpause("ac","Antirusher.amxx") 
    unpause("ac","M_Antirusher.amxx") 
    unpause("ac","M_Antirusher_2.4.amxx") 
    unpause("ac","M_Antirusher_2.5.amxx") 
    unpause("ac","M_Antirusher_2.5b.amxx") 
    unpause("ac","imessage.amxx") 
    unpause("ac","scrollmsg.amxx") 
    client_cmd(0,"stopsound") 
    client_cmd(0,"spk misc/reset.wav")

Najwyzej moze miec opoznienie 1 rundy ;>
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych