←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Losowy vip dla X osób

  • +
  • -
Rivit - zdjęcie Rivit 13.03.2020

opis

Plugin jest prosty w zamyśle - losuje X vipów w danej rundzie. Wylosowane vipy znikają po zmianie mapy. Plugin nie bierze do losowania botów oraz ludzi mających vipa.

 

 

instalacja

https://amxx.pl/topi...-pluginów-amxx/

 

 

konfiguracja

Nie chciało mi sie cvarów dodawać do pluginów. Wszystko jest do ustawione w .sma

#define LOSOWANIE_VIP_OD 5
#define LOSOWANIE_W_KTOREJ_RUNDZIE 3
#define ILE_VIPOW_LOSOWAC 3
#define FLAGA_VIP ADMIN_LEVEL_H

Myśle, że jest to samo-tłumaczące się

Po zmianach należy skompilować ponownie i wrzucić na serwer.

Załączone pliki


Użytkownik TibacK edytował ten post 13.03.2020 18:36
Odpowiedz

  • +
  • -
Dziurgagg - zdjęcie Dziurgagg 02.04.2020

Fajny plugin leci +
Odpowiedz

  • +
  • -
Assorri - zdjęcie Assorri 03.04.2020

Jeśli na serwerze mam SVIPa i chcę żeby mi losowało SVIPy to wystarczy zmienic linijkę 

#define FLAGA_VIP ADMIN_LEVEL_H  ?

 

/edit Nie działa, wyskakuje na Hudzie ze Gracz X dostał darmowego vipa i nic


Użytkownik Assorri edytował ten post 03.04.2020 01:08
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 03.04.2020

Tak, wystarczy zmienić tam.
Jeśli używasz vipa z generatora to zajrzyj tutaj: https://amxx.pl/topi...zytaniem-flagi/
Odpowiedz

  • +
  • -
Konrad26 - zdjęcie Konrad26 04.01.2021

Witam mam problem z kompilatorem nie mogę Dodać flagi "T" cały czas jak chce zrobić do AMXX to pokazuje tak co proszę o pomoc

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

losowanievipow.sma(46) : error 017: undefined symbol "ADMIN_LEVEL_T"
losowanievipow.sma(69) : error 017: undefined symbol "ADMIN_LEVEL_T"
losowanievipow.sma(69) : error 088: number of arguments does not match definition

3 Errors.
Could not locate output file losowanievipow.amxx (compile failed).

A plik SMA wygląda tak

#include <amxmodx> 
#include <colorchat>


#define LOSOWANIE_VIP_OD 5
#define LOSOWANIE_W_KTOREJ_RUNDZIE 3
#define ILE_VIPOW_LOSOWAC 3
#define FLAGA_VIP ADMIN_LEVEL_T


new runda = 0;
new Float:hudpos = 0.4;
new const prefix[] = "[DARMOWY VIP]"

public plugin_init(){
	register_plugin("Losowanie X vipĂłw", "1.0", "RiviT");

	register_logevent("Poczatek_Rundy", 2, "1=Round_Start")  
	set_task(120.0, "advert", _, _, _, "b")
}

public advert(){
	ColorChat(0, GREEN, "%s^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", prefix, LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD);
}

public Poczatek_Rundy(){   
	runda++
	if(runda == LOSOWANIE_W_KTOREJ_RUNDZIE){
		ColorChat(0, GREEN, "%s^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!", prefix);
		if(get_playersnum() >= LOSOWANIE_VIP_OD){
			LosujVipy();
		}else{
			ColorChat(0, GREEN, "%s^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", prefix, LOSOWANIE_VIP_OD);
		}
	}
}

public LosujVipy() 
{
	new Array:players = ArrayCreate(1, 32);
	for(new id = 1; id <= get_maxplayers(); id++){
		if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)){ //pomin niepolaczonych, botow, hltv
			continue;
		}

		if(get_user_flags(id) & FLAGA_VIP){ //pomin jak ktos juz ma vipa
			continue;
		}

		ArrayPushCell(players, id);
	}


	new ile_losowac = ILE_VIPOW_LOSOWAC, wybrany_idx, target;
	while(ile_losowac > 0 && ArraySize(players) > 0){
		wybrany_idx = random(ArraySize(players));
		target = ArrayGetCell(players, wybrany_idx);
		ArrayDeleteItem(players, wybrany_idx);
		przyznajVipa(target)
		ile_losowac--;
	}

	ArrayDestroy(players)
}

public przyznajVipa(id){
	new Name[33];
	get_user_name(id, Name, charsmax(Name))
	set_user_flags(id, FLAGA_VIP);
	ColorChat(0, TEAM_COLOR, "^x04%s^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego VIPA na tej mapie!", prefix, Name);
	set_hudmessage(255, 125, 0, -1.0, hudpos)
	show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego VIPA na tej mapie!", Name);
	hudpos += 0.05; // zeby sie nie nakladaly hudmessage
}

 

 

 

 


Użytkownik Konrad26 edytował ten post 04.01.2021 11:52
Odpowiedz

  • +
  • -
Toldi - zdjęcie Toldi 04.01.2021

Nie tak

#define FLAGA_VIP ADMIN_LEVEL_T

tylko tak

#define FLAGA_VIP ADMIN_LEVEL_H

Masz opis flag tutaj: https://amxx.pl/vipgenerator/

Odpowiedz

  • +
  • -
Misiu. - zdjęcie Misiu. 04.01.2021

Flaga "t" to ADMIN_LEVEL_H :)

Odpowiedz

  • +
  • -
Konrad26 - zdjęcie Konrad26 05.01.2021

ADMIN_LEVEL_H mi nie działa a vipa mam pod flago T

Odpowiedz

  • +
  • -
Misiu. - zdjęcie Misiu. 05.01.2021

Załóż temat z prośbą o pomoc i wklej tam .sma swojego VIP'a.

Odpowiedz