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
Inny

Prośba o modyfikację pluginu free vip na rundę

inny

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

#1 Kompetentny

    Życzliwy

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:24
  • Imię:Krystian
Offline

Napisano 14.01.2016 22:50

http://amxx.pl/topic...zy-na-serwerze/

Prosiłbym o modyfikację tego pluginy, tak aby zamiast rund, dawał graczowi vipa po 30 sekundach od startu 1 rundy. Posiadam serwer Dm i chciałbym aby mi na nim to działało. Czyli powiedzmy po 20 sekundach sprawdza stan graczy, gdy jest powyżej 18 to daje losowemu graczowi vipa. :)


  • +
  • -
  • 0

#2 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 15.01.2016 00:06

Coś takiego ci zrobiłem. Po 20 sekundach od rozpoczęcia rundy losuje.

#include <amxmodx> 
#include <fun>   
#include <colorchat>

#define LOSOWANIE_VIP_OD 15
#define LOSOWANIE_VIP_DO_SVIP_OD 28
#define FLAGA_VIP ADMIN_LEVEL_H
#define FLAGA_SVIP ADMIN_LEVEL_G

new iPlayer
new tmp;

public plugin_init(){
	register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool");
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start")  
	set_task(30.0, "UsunVipa", .flags="d")
	//set_task(120.0, "advert", _, _, _, "b")
}
/*
public advert()
	ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD);
*/
public Poczatek_Rundy()
{   
	set_task(20.0, "sprawdz", _, _, _, "b")
}
public sprawdz()
{		
	ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!");
	if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD)
	{
		Losuj_Vipa(FLAGA_VIP)
		tmp = FLAGA_VIP
		return PLUGIN_HANDLED
	}
	if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){
		Losuj_Vipa(FLAGA_SVIP)
		tmp = FLAGA_SVIP;
		return PLUGIN_HANDLED
	}
	for(new i=1; i<=32; i++){
		if(is_user_connected(i))
			ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD);
	}
	return PLUGIN_CONTINUE
}
public client_disconnect(id){
	if(id == iPlayer){
		remove_user_flags(iPlayer, tmp)
	}
}
public Losuj_Vipa(FLAGA) 
{         
	new players[32], count;    
	get_players(players, count, "ch");    
	
	if(count)              
	{
		iPlayer = players[random(count)];
		
		if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){
			ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!");
			return PLUGIN_HANDLED
		}
		new Name[32];
		get_user_name(iPlayer, Name, charsmax(Name))
		set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA);
		ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA");
		set_hudmessage(255, 125, 0, -1.0, 0.40)
		show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA")
		
		
	}
	return PLUGIN_CONTINUE;
}  

public UsunVipa(){
	ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy");
	remove_user_flags(iPlayer, tmp);
}


  • +
  • -
  • 1

#3 Kompetentny

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:24
  • Imię:Krystian
Offline

Napisano 15.01.2016 19:24

Wgrałem na serwer, plugin szaleje i każdemu graczowi rozdaje vipa


  • +
  • -
  • 0

#4 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 16.01.2016 13:34

Wgrałem na serwer, plugin szaleje i każdemu graczowi rozdaje vipa

Oj soory, pomyliło mi się xDD

#include <amxmodx> 
#include <fun>   
#include <colorchat>

#define LOSOWANIE_VIP_OD 15
#define LOSOWANIE_VIP_DO_SVIP_OD 28
#define FLAGA_VIP ADMIN_LEVEL_H
#define FLAGA_SVIP ADMIN_LEVEL_G

new iPlayer
new tmp;

public plugin_init(){
	register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool");
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start")  
	set_task(30.0, "UsunVipa", .flags="d")
	//set_task(120.0, "advert", _, _, _, "b")
}
/*
public advert()
	ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD);
*/
public Poczatek_Rundy()
{   
	set_task(20.0, "sprawdz")
}
public sprawdz()
{		
	ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!");
	if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD)
	{
		Losuj_Vipa(FLAGA_VIP)
		tmp = FLAGA_VIP
		return PLUGIN_HANDLED
	}
	if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){
		Losuj_Vipa(FLAGA_SVIP)
		tmp = FLAGA_SVIP;
		return PLUGIN_HANDLED
	}
	for(new i=1; i<=32; i++){
		if(is_user_connected(i))
			ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD);
	}
	return PLUGIN_CONTINUE
}
public client_disconnect(id){
	if(id == iPlayer){
		remove_user_flags(iPlayer, tmp)
	}
}
public Losuj_Vipa(FLAGA) 
{         
	new players[32], count;    
	get_players(players, count, "ch");    
	
	if(count)              
	{
		iPlayer = players[random(count)];
		
		if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){
			ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!");
			return PLUGIN_HANDLED
		}
		new Name[32];
		get_user_name(iPlayer, Name, charsmax(Name))
		set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA);
		ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA");
		set_hudmessage(255, 125, 0, -1.0, 0.40)
		show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA")
		
		
	}
	return PLUGIN_CONTINUE;
}  

public UsunVipa(){
	ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy");
	remove_user_flags(iPlayer, tmp);
}


  • +
  • -
  • 1

#5 Kompetentny

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:24
  • Imię:Krystian
Offline

Napisano 16.01.2016 18:19

Wszystko się już prawie zgadza, oprócz tego, że losuje vipa dla dwóch osób :P


  • +
  • -
  • 0

#6 Dziobak?

    Wszechmogący

  • Power User

Reputacja: 271
Wszechwidzący

  • Postów:645
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Radom
Offline

Napisano 16.01.2016 22:11

Wszystko się już prawie zgadza, oprócz tego, że losuje vipa dla dwóch osób :P

Tak powinno być w tym pluginie bo jest svip i vip. Jak nie chcesz to łap to powinno pomóc.

#include <amxmodx> 
#include <fun>   
#include <colorchat>

#define LOSOWANIE_VIP_OD 15
#define LOSOWANIE_VIP_DO_SVIP_OD 28
#define FLAGA_VIP ADMIN_LEVEL_H
#define FLAGA_SVIP ADMIN_LEVEL_G

new iPlayer
new tmp;

public plugin_init(){
	register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool");
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start")  
	set_task(30.0, "UsunVipa", .flags="d")
	//set_task(120.0, "advert", _, _, _, "b")
}
/*
public advert()
	ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD);
*/
public Poczatek_Rundy()
{   
	set_task(20.0, "sprawdz")
}
public sprawdz()
{		
	ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!");
	if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){
		Losuj_Vipa(FLAGA_SVIP)
		tmp = FLAGA_SVIP;
		return PLUGIN_HANDLED
	}	
	else if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD)
	{
		Losuj_Vipa(FLAGA_VIP)
		tmp = FLAGA_VIP
		return PLUGIN_HANDLED
	}
	for(new i=1; i<=32; i++){
		if(is_user_connected(i))
			ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD);
	}
	return PLUGIN_CONTINUE
}
public client_disconnect(id){
	if(id == iPlayer){
		remove_user_flags(iPlayer, tmp)
	}
}
public Losuj_Vipa(FLAGA) 
{         
	new players[32], count;    
	get_players(players, count, "ch");    
	
	if(count)              
	{
		iPlayer = players[random(count)];
		
		if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){
			ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!");
			return PLUGIN_HANDLED
		}
		new Name[32];
		get_user_name(iPlayer, Name, charsmax(Name))
		set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA);
		ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA");
		set_hudmessage(255, 125, 0, -1.0, 0.40)
		show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA")
		
		
	}
	return PLUGIN_CONTINUE;
}  

public UsunVipa(){
	ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy");
	remove_user_flags(iPlayer, tmp);
}


  • +
  • -
  • 1

#7 Kompetentny

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:24
  • Imię:Krystian
Offline

Napisano 17.01.2016 16:37

Dziękuje slicznie za pomoc :) Temat do zamknięcia


  • +
  • -
  • 0

#8 TomuśPL

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
Offline

Napisano 21.05.2016 17:23

Mogę wiedzieć gdzie to wkleić ? w sensie w jaki folder, aby działało elegancko na serwerze. 


  • +
  • -
  • 0

#9 mayday245

    Najwiekszy krol c++

  • Zbanowany

Reputacja: 5
Nowy

  • Postów:292
  • Imię:Bartosz
  • Lokalizacja:Dzialdowo
Offline

Napisano 26.05.2016 11:18

Mogę wiedzieć gdzie to wkleić ? w sensie w jaki folder, aby działało elegancko na serwerze. 

-Przekopiowujesz kod

-Otwierierasz np. notatnik 

-wklejasz

-nadajesz nazwe np. freevip.sma   PAMIETAJ O .SMA

-kompilujesz 

-wgrywasz .amxx (te cos co ci sie skompilowalo) do plugins

-dopisujesz nazwe pluginu do plugins.ini np. freevip.amxx


Witam. Znam sie glownie na amxx, sourcemod, PHP, C++.   Masz zlecenie? Potrzebujesz czegos do szkoly? Pisz smialo kolego !

Ps. sygnature zmieniam, iz nijakiemu gówniarzowi zachcialo sie hejtowac :)

 






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

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

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