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
Modyfikacja

Prośba, plugin 'Głosowanie'

Modyfikacja

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

#1 psilocybe

    Toasty!

  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 22.03.2012 23:59

Witam :)

Mam problem z głosowaniem, chciałem dostosować plugin MisieQ, do głosowania za lub przeciwko włączeniu trybu DM, cały kod raczej nie zmieniony, w public zakoncz_glosowanie dodałem server_cmd z cvarem który niby odpowiada za włączenie DM lecz niestety po oddaniu głosów nie włącza się DM ani nie wyświetla info z wynikiem głosowania.

Prosił bym o poprawienie kodu tak aby DM się włączał (CSDM - sma głównego pluginu w załączniku), oraz jeżeli jest to możliwe, dodać wyświetlanie wyników głosowania na czacie a nie hud, oraz dodać info "Player głosował na DM ON" "Player2 głosował na DM OFF" itd. również na czacie, info jak przy zwykłym amx_vote.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

new const gNazwaPluginu[] = "Glosowanie";
new const gWersjaPluginu[] = "1.0";
new const gAutorPluginu[] = "MisieQ";

new wybor[3];

public plugin_init()
{
    register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);
    
    register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing")
    register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in");    
}

public Poczatek_Mapy()
{
    set_task(10.0, "glosowanie");
}

public Restart_Rund()
{
    set_task(10.0, "glosowanie");
}

public glosowanie(id)
{    
    new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor")
    menu_additem(menu, "\wTak", "1", 0)
    menu_additem(menu, "\yNie", "2", 0)
    menu_addblank(menu, 0)
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    
    new players[32], inum
    get_players(players, inum, "ch")
    for(new i = 0; i < inum; i++)
    {
	    menu_display(players[i], menu, 0)
    }
    
    set_task(10.0, "zakoncz_glosowanie")
    
    wybor[1] = wybor[2] = 0
    
    return 1
}

public glosowanie_wybor(id, menu, item)
{
    if (item == MENU_EXIT)
    {
	    menu_cancel(id)
	    return PLUGIN_HANDLED
    }
    
    new data[6], name[32]
    new access, callback
    
    menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
    
    new key = str_to_num(data)
    get_user_name(id, name, 31)
    
	    
    switch (key)
    {
	    case 1:
	    {
		    set_hudmessage(42, 127, 255, -1.0, 0.25, 3, 6.0, 12.0, 0.2, 0.4, 2)
		    show_hudmessage(id, "DM +1");
	    }
	    case 2:
	    {
		    set_hudmessage(42, 127, 255, -1.0, 0.25, 3, 6.0, 12.0, 0.2, 0.4, 2)
		    show_hudmessage(id, "DM -1");
	    }
    }

    menu_cancel(menu)    
    return PLUGIN_HANDLED
}

public zakoncz_glosowanie(id)
{
    new ile = wybor[1]+wybor[2]
    
    set_hudmessage(255, 170, 0, -1.0, 0.25, 1, 6.0, 12.0, 0.2, 0.4, 1)
    
    if(wybor[1] > wybor[2])
    {
	    show_hudmessage(id, "Glosowanie Zakonczone !^n^nGRAMY DM?^nIlosc glosow na Tak: %d^nIlosc Glosow na Nie: %d^nW Sumie Glosow: %d", wybor[1], wybor[2], ile)
	    server_cmd ("csdm_set_active 1")
    }    
    else if(wybor[2] > wybor[1])
    {
	    show_hudmessage(id, "Glosowanie Zakonczone !^n^nGRAMY DM?^nIlosc glosow na Tak: %d^nIlosc Glosow na Nie: %d^nW Sumie Glosow: %d", wybor[2], wybor[1], ile)
    server_cmd ("csdm_set_active 0")
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
 

Z góry dzięki za pomoc.

Załączone pliki


  • +
  • -
  • 0

Dołączona grafika

Dołączona grafika


#2 psilocybe

    Toasty!

  • Autor tematu
  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 23.03.2012 14:30

Niestety nie mogę edytować także przepraszam za double posta ;) Zmieniłem trochę kod ale nadal nie działa wyświetlanie wyników i zmiana cvaru oraz pauzowanie pluginów.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

new const gNazwaPluginu[] = "Glosowanie";
new const gWersjaPluginu[] = "1.0";
new const gAutorPluginu[] = "MisieQ";

new wybor[3];

public plugin_init()
{
    register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);
    
    register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing")
    register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in");    
}

public Poczatek_Mapy()
{
    set_task(10.0, "glosowanie");
}

public Restart_Rund()
{
    set_task(10.0, "glosowanie");
}

public glosowanie(id)
{    
    new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor")
    menu_additem(menu, "\wTak", "1", 0)
    menu_additem(menu, "\yNie", "2", 0)
    menu_addblank(menu, 0)
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    
    new players[32], inum
    get_players(players, inum, "ch")
    for(new i = 0; i < inum; i++)
    {
	    menu_display(players[i], menu, 0)
    }
    
    set_task(15.0, "zakoncz_glosowanie")
    
    wybor[1] = wybor[2] = 0
    
    return 1
}

public glosowanie_wybor(id, menu, item)
{
    if (item == MENU_EXIT)
    {
	    menu_cancel(id)
	    return PLUGIN_HANDLED
    }
    
    new data[6], name[32]
    new access, callback
    
    menu_item_getinfo(menu, item, access, data, 5, _, _, callback)
    
    new key = str_to_num(data)
    get_user_name(id, name, 31)
    
	    
    switch (key)
    {
	    case 1:
	    {
            client_print(id, print_chat, "Glosowales ZA wlaczeniem DM")
	    }
	    case 2:
	    {
            client_print(id, print_chat, "Glosowales PRZECIWKO wlaczeniu DM")
	    }
    }

    menu_cancel(menu)    
    return PLUGIN_HANDLED
}

public zakoncz_glosowanie(id)
{
    new ile = wybor[1]+wybor[2]
	    
    if(wybor[1] > wybor[2])
    {
	    client_print(id, print_chat, "DEATHMATCH - ON")
	    server_cmd ("csdm_enable")
        pause("ac","realnadedrops.amxx")
        unpause("ac","noobjectives.amxx")
    }    
    else if(wybor[2] > wybor[1])
    {
	    client_print(id, print_chat, "Glosy na nie: %d - DEATHMATCH - OFF", wybor[2])
        server_cmd ("csdm_disable")
        pause("ac","noobjectives.amxx")
        unpause("ac","realnadedrops.amxx")
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


  • +
  • -
  • 0

Dołączona grafika

Dołączona grafika


#3 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 23.03.2012 14:37

powinno śmigać, przekompilowało się

/* Plugin generated by AMXX-Studio */



#include &--#60;amxmodx&--#62;

#include &--#60;amxmisc&--#62;



new const gNazwaPluginu[] = "Glosowanie";

new const gWersjaPluginu[] = "1.0";

new const gAutorPluginu[] = "MisieQ";



new wybor[3];



public plugin_init()

{

	register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);

	

	register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing");

	register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in");	

}



public Poczatek_Mapy()

{

	set_task(10.0, "glosowanie");

}



public Restart_Rund()

{

	set_task(10.0, "glosowanie");

}



public glosowanie(id)

{	

	new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor");

	menu_additem(menu, "\wTak", "1", 0);

	menu_additem(menu, "\yNie", "2", 0);

	menu_addblank(menu, 0);

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	

	new players[32], inum;

	get_players(players, inum, "ch");

	

	for(new i = 0; i &--#60; inum; i++)

	{

		menu_display(players[i], menu, 0);

	}

	

	set_task(15.0, "zakoncz_glosowanie");

	

	wybor[1] = 0;

	wybor[2] = 0;

	

	return 1;

}



public glosowanie_wybor(id, menu, item)

{

	if (item == MENU_EXIT)

		return PLUGIN_HANDLED;

	

	

	new data[6];

	new access, callback;

	

	menu_item_getinfo(menu, item, access, data, 5, _, _, callback);

	

	new key = str_to_num(data);

	

	switch (key)

	{

		case 1:

		{

			client_print(id, print_chat, "Glosowales ZA wlaczeniem DM"); wybor[1]++;

		}

		case 2:

		{

			client_print(id, print_chat, "Glosowales PRZECIWKO wlaczeniu DM"); wybor[2]++;

		}

	}

	return PLUGIN_HANDLED

}



public zakoncz_glosowanie(id)

{

	if(wybor[1] &--#62; wybor[2])

	{

		client_print(0, print_chat, "DEATHMATCH - ON")

		server_cmd ("csdm_enable")

		pause("ac","realnadedrops.amxx")

		unpause("ac","noobjectives.amxx")

	}	

	else

	{

		client_print(0, print_chat, "Glosy na nie: %d - DEATHMATCH - OFF", wybor[2])

		server_cmd ("csdm_disable")

		pause("ac","noobjectives.amxx")

		unpause("ac","realnadedrops.amxx")

	}

}




Użytkownik maselo edytował ten post 23.03.2012 14:46

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#4 psilocybe

    Toasty!

  • Autor tematu
  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 23.03.2012 14:41

Wzceśniej nie zauważyłem error_loga z tego pluginu:

L 03/23/2012 - 14:25:05: Played 9 is not in game
L 03/23/2012 - 14:25:05: [AMXX] Displaying debug trace (plugin "votedm.amxx")
L 03/23/2012 - 14:25:05: [AMXX] Run time error 10: native error (native "menu_cancel")
L 03/23/2012 - 14:25:05: [AMXX]	[0] votedm.sma::glosowanie_wybor (line 81)

Linijka 81 to:

menu_cancel(menu)

Nie wiem o co tu chodzi... :(


EDIT: Dzięki maselo, Twój kod działa jak należy, wielkie dzięki kolego :)

Użytkownik psilocybe edytował ten post 23.03.2012 14:55

  • +
  • -
  • 0

Dołączona grafika

Dołączona grafika


#5 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 23.03.2012 14:59

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.






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

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

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