Поправяне на Pro Become V.I.P.

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Dem0na
Извън линия
Потребител
Потребител
Мнения: 45
Регистриран на: 21 Дек 2017, 03:44
Се отблагодари: 3 пъти
Получена благодарност: 7 пъти

Поправяне на Pro Become V.I.P.

Мнение от Dem0na » 12 Май 2018, 21:39

Здравейте , някой би ли оправил това просто плъгинче , което дава флагове на определени убийства ? Всичко работи, до момента в който дава флаговете и не премахва флаг "z", а добавя флаговете, но оставя и потребителския флаг, а аз искам той да се премахне, щом даде останалите флагове...

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <nvault>
#include <hamsandwich>
#include <colorchat>

#define SAVE_TYPE	1

#define MSG_TAG		"FREE VIP"

new p_kills, p_flags;

new g_iVault;

new g_iKills[33];
new g_szData[33][35];
new bool:g_bFlagged[33];

public plugin_init()
{
	register_plugin("Pro Become V.I.P.", "re1.0.4", "didoWEE");
	register_cvar( "pb_vip_version", "re1.0.4", FCVAR_SERVER | FCVAR_SPONLY);
	
	p_kills = register_cvar("amx_vip_kills", "5");	// The number of kills you need to become V.I.P.
	p_flags = register_cvar("amx_vip_flags", "abcsn");		// The flags you get when you become V.I.P.
	
	g_iVault = nvault_open("pb_vip");
	
	RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
	RegisterHam(Ham_Killed, "player", "fwdPlayerKilled", 1);
}

public fwdPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;
		
	if(!is_real_player(id))
		return HAM_IGNORED;
		
	if(g_bFlagged[id])
		return HAM_IGNORED;
	
	if(!g_iKills[id])
		ColorChat(id,GREEN, "^4[%s] ^1Players who play ^3regularly ^1are rewarded with ^4V.I.P. ^1privileges", MSG_TAG);
	
	ColorChat(id,GREEN, "^4[%s] ^1You need^3 %i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[id]));
	return HAM_IGNORED;
}

public fwdPlayerKilled(victim, killer, shouldgib)
{
	if(!is_user_connected(killer))
		return HAM_IGNORED;
		
	if(killer == victim)
		return HAM_IGNORED;
		
	if(!is_real_player(killer))
		return HAM_IGNORED;
		
	if(g_bFlagged[killer])
		return HAM_IGNORED;
	
	g_iKills[killer]++;
	SaveData(killer);
	
	if(g_iKills[killer] < get_pcvar_num(p_kills))
	{
		ColorChat(killer,GREEN, "^4[%s] ^1You need ^3%i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[killer]));
		return HAM_IGNORED;
	}
		
	g_bFlagged[killer] = true;
	
	new flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	set_user_flags(killer, read_flags(flags));
	
	new name[32];
	get_user_name(killer, name, charsmax(name));
	ColorChat(0,GREEN, "^4[%s] ^1Congratulation to^4 %s^1 for reaching^3 %i ^1kills and becoming ^4V.I.P.", MSG_TAG, name, get_pcvar_num(p_kills));
	
	return HAM_IGNORED;
}

public client_authorized(id)
	UpdateData(id);

public client_infochanged(id)
	set_task(0.1, "UpdateData", id);
	
public client_disconnected(id)
	remove_task(id);

public UpdateData(id)
{
	if(!is_real_player(id))
		return PLUGIN_HANDLED;
	
	static flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	if(get_user_flags(id) & read_flags(flags))
	{
		g_bFlagged[id] = true;
		return PLUGIN_CONTINUE;
	}
	
	switch(SAVE_TYPE)
	{
		case 1: get_user_name(id, g_szData[id], charsmax(g_szData[]));
		case 2: get_user_ip(id, g_szData[id], charsmax(g_szData[]), 1);
		case 3: get_user_authid(id, g_szData[id], charsmax(g_szData[]));
	}
	LoadData(id);
	
	if(g_iKills[id] < get_pcvar_num(p_kills))
	{
		g_bFlagged[id] = false;
		return PLUGIN_HANDLED;
	}
	
	set_user_flags(id, read_flags(flags));
	g_bFlagged[id] = true;
	
	return PLUGIN_CONTINUE;
}

LoadData(id)
{
	new data[16];
	g_iKills[id] = nvault_get(g_iVault, g_szData[id], data, charsmax(data)) ? str_to_num(data):0;
}

SaveData(id)
{
	new data[16];
	num_to_str(g_iKills[id], data, charsmax(data));
	nvault_set(g_iVault, g_szData[id], data);
}

bool:is_real_player(id)
	return ((is_user_bot(id) || is_user_hltv(id)) ? false : true);

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Поправяне на Pro Become V.I.P.

Мнение от hackera457 » 12 Май 2018, 21:43

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <nvault>
#include <hamsandwich>
#include <colorchat>

#define SAVE_TYPE	1

#define MSG_TAG		"FREE VIP"

new p_kills, p_flags;

new g_iVault;

new g_iKills[33];
new g_szData[33][35];
new bool:g_bFlagged[33];

public plugin_init()
{
	register_plugin("Pro Become V.I.P.", "re1.0.4", "didoWEE");
	register_cvar( "pb_vip_version", "re1.0.4", FCVAR_SERVER | FCVAR_SPONLY);
	
	p_kills = register_cvar("amx_vip_kills", "5");	// The number of kills you need to become V.I.P.
	p_flags = register_cvar("amx_vip_flags", "abcsn");		// The flags you get when you become V.I.P.
	
	g_iVault = nvault_open("pb_vip");
	
	RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
	RegisterHam(Ham_Killed, "player", "fwdPlayerKilled", 1);
}

public fwdPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;
		
	if(!is_real_player(id))
		return HAM_IGNORED;
		
	if(g_bFlagged[id])
		return HAM_IGNORED;
	
	if(!g_iKills[id])
		ColorChat(id,GREEN, "^4[%s] ^1Players who play ^3regularly ^1are rewarded with ^4V.I.P. ^1privileges", MSG_TAG);
	
	ColorChat(id,GREEN, "^4[%s] ^1You need^3 %i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[id]));
	return HAM_IGNORED;
}

public fwdPlayerKilled(victim, killer, shouldgib)
{
	if(!is_user_connected(killer))
		return HAM_IGNORED;
		
	if(killer == victim)
		return HAM_IGNORED;
		
	if(!is_real_player(killer))
		return HAM_IGNORED;
		
	if(g_bFlagged[killer])
		return HAM_IGNORED;
	
	g_iKills[killer]++;
	SaveData(killer);
	
	if(g_iKills[killer] < get_pcvar_num(p_kills))
	{
		ColorChat(killer,GREEN, "^4[%s] ^1You need ^3%i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[killer]));
		return HAM_IGNORED;
	}
		
	g_bFlagged[killer] = true;
	
	new flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	remove_user_flags(id,read_flags("z"));
	set_user_flags(killer, read_flags(flags));
	
	new name[32];
	get_user_name(killer, name, charsmax(name));
	ColorChat(0,GREEN, "^4[%s] ^1Congratulation to^4 %s^1 for reaching^3 %i ^1kills and becoming ^4V.I.P.", MSG_TAG, name, get_pcvar_num(p_kills));
	
	return HAM_IGNORED;
}

public client_authorized(id)
	UpdateData(id);

public client_infochanged(id)
	set_task(0.1, "UpdateData", id);
	
public client_disconnected(id)
	remove_task(id);

public UpdateData(id)
{
	if(!is_real_player(id))
		return PLUGIN_HANDLED;
	
	static flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	if(get_user_flags(id) & read_flags(flags))
	{
		g_bFlagged[id] = true;
		return PLUGIN_CONTINUE;
	}
	
	switch(SAVE_TYPE)
	{
		case 1: get_user_name(id, g_szData[id], charsmax(g_szData[]));
		case 2: get_user_ip(id, g_szData[id], charsmax(g_szData[]), 1);
		case 3: get_user_authid(id, g_szData[id], charsmax(g_szData[]));
	}
	LoadData(id);
	
	if(g_iKills[id] < get_pcvar_num(p_kills))
	{
		g_bFlagged[id] = false;
		return PLUGIN_HANDLED;
	}
	
	remove_user_flags(id,read_flags("z"));
	set_user_flags(id, read_flags(flags));
	g_bFlagged[id] = true;
	
	return PLUGIN_CONTINUE;
}

LoadData(id)
{
	new data[16];
	g_iKills[id] = nvault_get(g_iVault, g_szData[id], data, charsmax(data)) ? str_to_num(data):0;
}

SaveData(id)
{
	new data[16];
	num_to_str(g_iKills[id], data, charsmax(data));
	nvault_set(g_iVault, g_szData[id], data);
}

bool:is_real_player(id)
	return ((is_user_bot(id) || is_user_hltv(id)) ? false : true);
Моите плъгини

Код за потвърждение: Избери целия код

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
Dem0na
Извън линия
Потребител
Потребител
Мнения: 45
Регистриран на: 21 Дек 2017, 03:44
Се отблагодари: 3 пъти
Получена благодарност: 7 пъти

Поправяне на Pro Become V.I.P.

Мнение от Dem0na » 12 Май 2018, 22:23

Пак е същото, при даване на флаговете оставя на играча и потребителския флаг "z" :/ Дали е така, защото запазва по nVault ?

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Поправяне на Pro Become V.I.P.

Мнение от hackera457 » 12 Май 2018, 22:44

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <nvault>
#include <hamsandwich>
#include <colorchat>

#define SAVE_TYPE	1

#define MSG_TAG		"FREE VIP"

new p_kills, p_flags;

new g_iVault;

new g_iKills[33];
new g_szData[33][35];
new bool:g_bFlagged[33];

public plugin_init()
{
	register_plugin("Pro Become V.I.P.", "re1.0.4", "didoWEE");
	register_cvar( "pb_vip_version", "re1.0.4", FCVAR_SERVER | FCVAR_SPONLY);
	
	p_kills = register_cvar("amx_vip_kills", "5");	// The number of kills you need to become V.I.P.
	p_flags = register_cvar("amx_vip_flags", "abcsn");		// The flags you get when you become V.I.P.
	
	g_iVault = nvault_open("pb_vip");
	
	RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
	RegisterHam(Ham_Killed, "player", "fwdPlayerKilled", 1);
}

public fwdPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;
		
	if(!is_real_player(id))
		return HAM_IGNORED;
		
	if(g_bFlagged[id])
		return HAM_IGNORED;
	
	if(!g_iKills[id])
		ColorChat(id,GREEN, "^4[%s] ^1Players who play ^3regularly ^1are rewarded with ^4V.I.P. ^1privileges", MSG_TAG);
	
	ColorChat(id,GREEN, "^4[%s] ^1You need^3 %i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[id]));
	return HAM_IGNORED;
}

public fwdPlayerKilled(victim, killer, shouldgib)
{
	if(!is_user_connected(killer))
		return HAM_IGNORED;
		
	if(killer == victim)
		return HAM_IGNORED;
		
	if(!is_real_player(killer))
		return HAM_IGNORED;
		
	if(g_bFlagged[killer])
		return HAM_IGNORED;
	
	g_iKills[killer]++;
	SaveData(killer);
	
	if(g_iKills[killer] < get_pcvar_num(p_kills))
	{
		ColorChat(killer,GREEN, "^4[%s] ^1You need ^3%i ^1kills more to become ^4V.I.P.", MSG_TAG, (get_pcvar_num(p_kills)-g_iKills[killer]));
		return HAM_IGNORED;
	}
		
	g_bFlagged[killer] = true;
	
	new flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	remove_user_flags(id,read_flags("z"));
	set_user_flags(killer, read_flags(flags));
	
	new name[32];
	get_user_name(killer, name, charsmax(name));
	ColorChat(0,GREEN, "^4[%s] ^1Congratulation to^4 %s^1 for reaching^3 %i ^1kills and becoming ^4V.I.P.", MSG_TAG, name, get_pcvar_num(p_kills));
	
	return HAM_IGNORED;
}

public client_authorized(id)
	UpdateData(id);

public client_infochanged(id)
	set_task(0.1, "UpdateData", id);
	
public client_disconnected(id)
	remove_task(id);

public UpdateData(id)
{
	if(!is_real_player(id))
		return PLUGIN_HANDLED;
	
	static flags[24];
	get_pcvar_string(p_flags, flags, charsmax(flags));
	if(get_user_flags(id) & read_flags(flags))
	{
		g_bFlagged[id] = true;
		return PLUGIN_CONTINUE;
	}
	
	switch(SAVE_TYPE)
	{
		case 1: get_user_name(id, g_szData[id], charsmax(g_szData[]));
		case 2: get_user_ip(id, g_szData[id], charsmax(g_szData[]), 1);
		case 3: get_user_authid(id, g_szData[id], charsmax(g_szData[]));
	}
	LoadData(id);
	
	if(g_iKills[id] < get_pcvar_num(p_kills))
	{
		g_bFlagged[id] = false;
		return PLUGIN_HANDLED;
	}
	
	remove_user_flags(id,read_flags("z"));
	set_user_flags(id, read_flags(flags));
	g_bFlagged[id] = true;
	
	return PLUGIN_CONTINUE;
}

LoadData(id)
{
	new data[16];
	g_iKills[id] = nvault_get(g_iVault, g_szData[id], data, charsmax(data)) ? str_to_num(data):0;
}

SaveData(id)
{
	new data[16];
	num_to_str(g_iKills[id], data, charsmax(data));
	nvault_set(g_iVault, g_szData[id], data);
}

bool:is_real_player(id)
	return ((is_user_bot(id) || is_user_hltv(id)) ? false : true);
Моите плъгини

Код за потвърждение: Избери целия код

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Поправяне на Pro Become V.I.P.

Мнение от OciXCrom » 12 Май 2018, 23:07

Препоръчвам ти да ползваш новия плъгин - viewtopic.php?f=21&t=2996

Аватар
Dem0na
Извън линия
Потребител
Потребител
Мнения: 45
Регистриран на: 21 Дек 2017, 03:44
Се отблагодари: 3 пъти
Получена благодарност: 7 пъти

Поправяне на Pro Become V.I.P.

Мнение от Dem0na » 12 Май 2018, 23:17

Благодаря Ви, момчета! Всичко е тип-топ. :) LOCKED!

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта