Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Poprawa Wymuszania InterpuPomoc w sprawie poprawy pluginu.


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

#1 T.I.G.E.R

    Pomocny

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:59
  • Imię:Rafał
  • Lokalizacja:Iława
Offline

Napisano 02.01.2012 20:28

Witam Was serdecznie. Muszę się do Was zgłosić abyście pomogli mi poprawić plugin.
Oto kod poprawiony trochę przez Muzzi:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Poprawne Rate"
#define VERSION "1.1"
#define AUTHOR "hiroshima"

#define LEVEL_ADMIN ADMIN_IMMUNITY

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /dziupla", "dziupla", ADMIN_RESERVATION, "Ustawia rate")
	register_clcmd("say_team /dziupla", "dziupla", ADMIN_RESERVATION, "Ustawia rate")
}

public dziupla(id)
{
	new name[64], iPlayers[32], iNum;
	
	
	if (get_user_flags(id) & LEVEL_ADMIN)
	{
		client_print(id, print_chat, "Zmiana ustawien Ciebie nie obejmuje...")
		return PLUGIN_HANDLED;
	}
	
	client_cmd(0,"rate ^"25000^"");
	client_cmd(0,"cl_cmdrate ^"101^"");
	client_cmd(0,"cl_updaterate ^"101^"");
	client_cmd(0,"developer ^"0^"");
	client_cmd(0,"ex_interp ^"0.01^"");
	
	get_players(iPlayers, iNum)
	for(new i=0; i<iNum; i++)
	{
		if(!(get_user_flags(iPlayers[i]) & LEVEL_ADMIN))
		{
			get_user_name(iPlayers[i],name,charsmax(name));
			client_print(iPlayers[i],print_chat,"Gracz %s Przeladowal Ustawienia",name);
		}
	}	
	return PLUGIN_HANDLED;
}

Teraz do rzeczy. Co chcę poprawić:
Otóż ten kod działa na takiej zasadzie, po wpisaniu w sayu "/dziupla" poprawia wszystkim ustawienia rate itp.
Lecz gdy admin ma immunited to zatrzymuje działanie pluginu, a chcę aby tylko jemu nie zmieniło ustawień ale wszystkim innym graczom ZMIENIŁO.
Druga sprawa to powiadomienie o zmianie. U każdego gracza pokazuje się info "Gracz (jego nick) przeładował ustawienia",
a chcę by te info było widoczne tylko dla adminów i tylko nick gracza/ admina który zmienił te ustawienia, żeby gracze w ogóle nie wiedzieli że któryś admin zmienił ustawienia.
W skrócie opiszę jak powinien ten kod chodzić (na jakiej zasadzie):
1. Pluginu mogą używać tylko Admini, czyli gracz po wpisaniu w sayu tej komendy dostanie info w konsoli że nie może użyć tej komendy.
2. Plugin ma nie zmieniać ustawień tylko ADMINOM z Immunitetem czyli flagą "A" - reszcie graczy i adminom ma zmienić.
3. Gdy komendy użyje Admin z flagą A (immu) to jemu nie zmieni ustawień ale reszcie ZMIENI, a w tym kodzie zatrzymuje działanie.
4. Informacje:
a ) Gdy dany admin zmieni ustawienia to na say_team@ (Admin SAY) pojawi się info który Admin to wykonał.
b ) Gdy admin użyje tej komendy to dodatkowo Adminowi z IMMUNITETEM (f.A) pojawi się informacja, że Jego to nie obowiązuje.

Proszę o POMOC. Są to drobne poprawki kodu, lecz ja nie potrafię z tym sobie poradzić. Dla pomocnych będą plusy oczywiście i gwiazdka na profilu;p

Czy taki kod jak samemu poprawiłem będzie chodził na takich zasadach jakich oczekuję?

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Poprawne Rate"
#define VERSION "1.1"
#define AUTHOR "hiroshima"

#define LEVEL_ADMIN ADMIN_IMMUNITY ADMIN_BAN

public plugin_init()
{
	    register_plugin(PLUGIN, VERSION, AUTHOR)
	    register_clcmd("say /dziupla", "dziupla", ADMIN_BAN, "Ustawia rate")
	    register_clcmd("say_team /dziupla", "dziupla", ADMIN_BAN, "Ustawia rate")
}

public dziupla(id)
{
	    new name[64], iPlayers[32], iNum;
	    
	    
	    if ((get_user_flags(id) & ADMIN_IMMUNITY))
    {
        remove_task(id)
        client_print(id, print_chat, "Masz Immunitet. Zmiana ustawien wstrzymana")
        return PLUGIN_HANDLED
    }
	    
	    client_cmd(0,"rate ^"25000^"");
	    client_cmd(0,"cl_cmdrate ^"101^"");
	    client_cmd(0,"cl_updaterate ^"101^"");
	    client_cmd(0,"developer ^"0^"");
	    client_cmd(0,"ex_interp ^"0.01^"");
	    
	    get_players(iPlayers, iNum)
	    for(new i=0; i<iNum; i++)
	    {
			    if(!(get_user_flags(id) & ADMIN_BAN))
			    {
					    get_user_name(iPlayers[i],name,charsmax(name));
					    client_print(iPlayers[i],print_chat,"Gracz %s Przeladowal Ustawienia",name);
			    }
	    }	   
	    return PLUGIN_HANDLED;
}

Odświeżam...
Nie ma nikogo kto potrafi coś takiego?:(

Użytkownik T.I.G.E.R edytował ten post 30.12.2011 12:35

  • +
  • -
  • 0
Jeżeli pomogłem daj +

#2 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 170
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 02.01.2012 20:54

Powinno śmigać



#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Poprawne Rate"
#define VERSION "1.1"
#define AUTHOR "hiroshima"

#define LEVEL_ADMIN ADMIN_IMMUNITY

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /dziupla", "dziupla", ADMIN_RESERVATION, "Ustawia rate")
register_clcmd("say_team /dziupla", "dziupla", ADMIN_RESERVATION, "Ustawia rate")
}

public dziupla(id)
{
new name[64], iPlayers[32], iNum;

get_players(iPlayers, iNum)
for(new i=0; i<iNum; i++)
{
if(!(get_user_flags(iPlayers[i]) & LEVEL_ADMIN))
{
get_user_name(iPlayers[i],name,charsmax(name));
client_print(iPlayers[i],print_chat,"Gracz %s Przeladowal Ustawienia",name);
client_cmd(iPlayers[i],"rate ^"25000^"");
client_cmd(iPlayers[i],"cl_cmdrate ^"101^"");
client_cmd(iPlayers[i],"cl_updaterate ^"101^"");
client_cmd(iPlayers[i],"developer ^"0^"");
client_cmd(iPlayers[i],"ex_interp ^"0.01^"");
}
}
return PLUGIN_HANDLED;
}

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#3 T.I.G.E.R

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:59
  • Imię:Rafał
  • Lokalizacja:Iława
Offline

Napisano 03.01.2012 08:58

Dzięki! Sprawdzę po południu. Jeżeli chodzi to dostaniesz to co obiecałem! :)
  • +
  • -
  • 0
Jeżeli pomogłem daj +




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

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