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
Diablomod by Onyke

Premia rundyPremia rundy

diablomod by onyke

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 rysiek96

    Pomocny

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:69
  • GG:
  • Imię:Dominik
  • Lokalizacja:Polska
Offline

Napisano 02.07.2013 20:42

Stworzylem taka komende tylko dla adminow, kotra dodaje wszystkim graczom jakis bonus na czas 1 rundy. Problem jest taki ze napis i ten dzwiek slysza wszyscy ale tego bonusu nikt nie dostaje.

        case 5:{
	    EventSound(id)
	    set_hudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_hudmessage(0, "Premia rundy: +2 skoki.")
	    player_b_jumpx[0] = 2
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

0 - caly serwer ?

id - tylko ja?

 

 

wiec zeby caly serwer dostawal to id zamieniam na 0

player_b_jumpx[0] = 2 

ale nikt nie ma bonusu a jak tak zrobie

 player_b_jumpx[id] = 2

to tylko ja dostaje ten bonus.

 

Proszę o pomoc.


  • +
  • -
  • 0

#2 Daj buziaka

    Czempion

  • Zbanowany

Reputacja: 274
Wszechwidzący

  • Postów:849
  • Imię:Robert
  • Lokalizacja:Polska
Offline

Napisano 02.07.2013 20:52

ale 0 to znaczy że będzie każdemu to pokazywało. to chodzi tylko o ten napis. Lepiej podaj cały plugin.

Paczka map COD - http://cs-boster.pl/...ter-strike-1-6/

Paczka map AIM - http://cs-boster.pl/...ter-strike-1-6/

Counter Strike 1.6 Non Steam v23 - http://cs-boster.pl/...m-v23-download/

Counter Strike 1.6 Non Steam v32 - http://cs-boster.pl/...m-v32-download/

Counter Strike 1.6 Non Steam v52 - http://cs-boster.pl/...-non-steam-v52/


#3 rysiek96

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:69
  • GG:
  • Imię:Dominik
  • Lokalizacja:Polska
Offline

Napisano 03.07.2013 09:24


public eventmenuadmin(id)
{

    new menu = menu_create("\rMenu admina:", "eventmenuadminwybieranie")
    menu_additem(menu, "\wDodaj bossa \d[Admin]", "1", id)
    menu_additem(menu, "\wPremia rundy \d[Admin]", "2", id)
    menu_additem(menu, "\wPrzeloz pake \d[Admin]", "3", id) 
    menu_additem(menu, "\wNapis: EVENT IN NEXT ROUND \d[Admin]", "3", id) 
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu, 0)
}

public eventmenuadminwybieranie(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    new data[6], iName[64]
    new acces, callback
    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
    new key = str_to_num(data)
    

    switch(key)
    {
        case 1:{

	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }
        
        case 2:{
		
		eventmenuadminwybieraniebonus(id)

        }
        
        case 3:{

	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }
        case 4:{
	    NextRoundSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "W nastepnej rundzie bedzie EVENT. Szykuj sie!")
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED

}
public eventmenuadminwybieraniebonus(id)
{
    new menu = menu_create("\rPremia rundy \r:", "eventbonuswybierz")
    menu_additem(menu, "\wLeczenie \d[+40]", "1", 0)
    menu_additem(menu, "\wObrazenia \d[+25]", "2", 0)
    menu_additem(menu, "\wGrawitacja \d[+50]", "3", 0)
    menu_additem(menu, "\wFiraball \d[3] \w(przycisk E)", "4", 0)
    menu_additem(menu, "\wNiewidzialnosc \d[80/255]", "5", 0)
    menu_additem(menu, "\wSkoki \d[+2]", "6", 0)
    menu_additem(menu, "\wTest \d[test]", "7", 0)
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu, 0)
}

public eventbonuswybierz(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new data[6], iName[64]
    new acces, callback
    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
    new key = str_to_num(data)
    
    
    switch(key)
    {
        case 1:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : dostajesz +40 Zycia co 10 sekund")
	    player_b_heal[0] = 40
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }
        
        case 2:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +25 do Obrazen")
	    player_b_damage[0] = 25
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

        case 3:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +100 do Grawitacji")
	    player_b_gravity[0] = 700
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

        case 4:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : Posiadasz Fireball (pod E)")
	    player_b_fireball[0] = 1
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

        case 5:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : Jestes troche niewidzialny.")
	    player_b_inv[0] = 80
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

        case 6:{
		EventSound(id)
	    set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +2 skoki")
	    player_b_jumpx[0] = 2	
    	    menu_destroy(menu)
            return PLUGIN_HANDLED

        }

        case 7:{


//////////test 

        }

    }
    menu_destroy(menu)
    return PLUGIN_HANDLED

}

Proszę nie wiem czy to dobrze jest zrobione bo sam to robilem :D


Użytkownik rysiek96 edytował ten post 03.07.2013 09:27

  • +
  • -
  • 0

#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 19.07.2013 10:52

public eventmenuadminwybieraniebonus(id)
{
    new menu = menu_create("\rPremia rundy \r:", "eventbonuswybierz")
    menu_additem(menu, "\wLeczenie \d[+40]")
    menu_additem(menu, "\wObrazenia \d[+25]")
    menu_additem(menu, "\wGrawitacja \d[+50]")
    menu_additem(menu, "\wFiraball \d[3] \w(przycisk E)")
    menu_additem(menu, "\wNiewidzialnosc \d[80/255]")
    menu_additem(menu, "\wSkoki \d[+2]")
    menu_additem(menu, "\wTest \d[test]")
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu, 0)
}

public eventbonuswybierz(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

//    new data[6], iName[64]
//    new acces, callback
//    menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
//    new key = str_to_num(data)  Nie potrzebnie to robisz jeżeli chcesz uzyskać tylko nr. przycisku
// A przecież masz zmienną item
    switch(item)
    {
        case 0:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : dostajesz +40 Zycia co 10 sekund")
        }
        
        case 1:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +25 do Obrazen")

        }

        case 2:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +100 do Grawitacji")
        }

        case 3:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : Posiadasz Fireball (pod E)")
        }

        case 4:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : Jestes troche niewidzialny.")
        }

        case 5:{
			EventSound(id)
			set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
            show_dhudmessage(0, "Premia rundy : +2 skoki")
        }
    }
	
	new players[32],ile,i;
	get_players(players,ile,"ach")
	for(i=0;i<ile<i++)
	{
		switch(item)
		{
			case 0: player_b_heal[players[i]] = 40
			case 1: player_b_damage[players[i]] = 25
			case 2: player_b_gravity[players[i]] = 700
			case 3: player_b_fireball[players[i]] = 1
			case 4: player_b_inv[players[i]] = 80
			case 5: player_b_jumpx[players[i]] = 2
		}
	}
	
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

Pętelką wystarczy przejechać po wszystkich graczach. Do tych mocy mam pewną uwagę gdyż to są moce stworzone do itemów a nie jakiegoś wykorzystywania innego a co się z tym wiąże bugi!! Będziesz miał podczas takiego eventu zbugowane opisy przedmiotów albo jak ktoś podczas eventu wyrzuci przedmiot to straci też moc


  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 .BANG

    Początkujący

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:17
  • GG:
  • Imię:Adam
  • Lokalizacja:UK
Offline

Napisano 19.07.2013 10:56

Lap teraz powinno dzialac dla wszystkich ;)

 

switch(key)
{
	case 1:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : dostajesz +40 Zycia co 10 sekund")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_heal[i] = 40
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
        case 2:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : +25 do Obrazen")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_damage[i] = 25
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 3:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : +100 do Grawitacji")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_gravity[i] = 700
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	case 4:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : Posiadasz Fireball (pod E)")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_fireball[i] = 1
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
        }
        case 5:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : Jestes troche niewidzialny.")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_inv[i] = 80
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
        }
        case 6:{
		EventSound(id)
		set_dhudmessage(106,90,205, -1.0, 0.35, 0, 1.0, 2.0, 0.1, 0.2, 5)
		show_dhudmessage(0, "Premia rundy : +2 skoki")
	         for(new i = 1; i <= 32; i++)
		{
			if(is_user_connected(i) && is_user_alive(i))
			{
				player_b_jumpx[i] = 2
			}
		}
		menu_destroy(menu)
		return PLUGIN_HANDLED
        }
}

Użytkownik .BANG edytował ten post 19.07.2013 10:58

  • +
  • -
  • 1

BANG ! BANG !


#6 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 19.07.2013 10:58

Tylko kod przedłużasz :D


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#7 rysiek96

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:69
  • GG:
  • Imię:Dominik
  • Lokalizacja:Polska
Offline

Napisano 19.07.2013 11:00

@BlackPerfum

jakbym zrobil drugi item np player_b_gravity_event[i]  i ten item mialby to samo co player_b_gravity[i] tylko nie dodalbym opisu. I nie bylo by bugo z wyswietlaniem opisu itemu. Ale drop wywalilby "premię"

 

@.BANG

a tu drop wywali premie?

 


Użytkownik rysiek96 edytował ten post 19.07.2013 11:01

  • +
  • -
  • 0

#8 rysiek96

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:69
  • GG:
  • Imię:Dominik
  • Lokalizacja:Polska
Offline

Napisano 19.07.2013 11:14

eh.. jest spoko tylko że ta premia nie jest na czas 1 rundy... da się temu zaradzić ?

 

 

:D mam jakis taki pomysł ale nie wiem czy jest dobry. Żeby zrobić 2 slot itemków (taki tajny, zeby na hud sie nie wyswietlał) i ta premia byłaby tam dodawana i dodac na start round reset tego 2 slotu.


Użytkownik rysiek96 edytował ten post 19.07.2013 11:23

  • +
  • -
  • 0

#9 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 20.07.2013 10:32

Twój pomysł (2 slot) nie rozwiązał by problemu (nie potrzebne zużycie pamięci + bug dalej by był) a co do robienia nowych zmiennych to to jest wyjście ale nie twoim sposobem. Nie wiem czemu pytasz się banga czy drop wywali premię jak ja to napisałem :D a daliśmy ci kod działający w mniej więcej ten sam sposób. Po wyrzuceniu przedmiotu albo zmianie klasy premia nie będzie działać!!! chyba że zrobisz tak:

Tłumaczę ci jak zrobić.

Prawie na samej górze kodu dodajesz zmienną globalną oraz enum:

Spoiler

Następnie do plugin_init dodajesz coś takiego (ale najpierw sprawdź czy tego nie masz :D):

Spoiler

Następnie tworzysz funkcję NowaRunda (chyba że już ją masz to nie) (jeśli nie masz to nie wiem jakiego ty diablo używasz :D pamiętaj ta funkcja nie posiada argumentów (bynajmniej tak zarejestrowana) :D)

 a  w niej na samej górze dodajesz:

Spoiler

Jedziemy dalej teraz twoje menu:

Spoiler

Następnie moce: (pokaże ci tylko jedną a resztę sam zrób to nic trudnego)

Pierwszą mocą jest: Dostawanie 40 hp co 10 sek a więc szukasz zmiennej: player_b_heal po pluginie aż natrafiasz na miejsce gdzie się jej ani nie zeruje ani nie ustala się jej wartości tylko sprawdza się jej wartość (pomiń opisy itemów oraz totemy)

I takim sposobem natrafiamy na funkcję: Timed_Healing która jest używana przez task co każde 5 sek. Ona wygląda tak:

Spoiler

Teraz trzeba pozmieniać troszkę w niej aby dodawało ci się te 40 hp co 10 sek (Ta funkcja wykonuje się co 5 sek a ty masz w opisie premii co 10 sek a że mi się niece ci pokazywać jak to zmienić bo bym musiał dorabiać taska co przedłużyło by mój post o jakieś 30 linijek więc zrobię aby twoja moc dodawała co 5 sek 20 hp (wychodzi prawie na to samo + zmienie opis))

Tamtą funkcję: Timed_Healing zamieniasz na tą(masz w niej wszystko wyjaśnione):

Spoiler

 

Resztę mocy można zrobić prawie tak samo :D Tylko jak używasz enum przy innych mocach to nie dawaj EHealth tylko np. przy obrażeniach EDmg

 

#Edit :D

Dodam jeszcze iż te moce działają w aktualnej rundzie na rundę w której admin wybrał event (już mi się nie chciało posta przedłużać)


Użytkownik BlackPerfum edytował ten post 20.07.2013 10:38

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika





Również z jednym lub większą ilością słów kluczowych: diablomod by onyke

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

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