Save Money

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Save Money

Мнение от TheRedShoko » 22 Авг 2018, 19:55

Това е като да се сърдиш на самолет, че не може да се преземи сам... Колкото може - направено е. Не е проблема в плъгина.

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

Save Money

Мнение от cgozzie » 22 Авг 2018, 21:48

Намерих 1 под ReApi който не рестартира събраните пари до момента,включително и при пълен рестарт на сървъра в момента го тествам, и ще пиша дали съм си решил този проблем от сумати време.

Добавено преди 1 час 45 минути 45 секунди:
Плъгина ми заработи най сетне но чак като го сложих 1 в плъгинс..Проблема ми вече е решен.
Изображение

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

Save Money

Мнение от OciXCrom » 23 Авг 2018, 00:20

Качи въпросния плъгин за да видя как точно е направен и дали може същия метод да се ползва в моя плъгин, тоест без reapi.

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

Save Money

Мнение от cgozzie » 23 Авг 2018, 02:04

Нещо не се получава пак.Не съм на ти много с плъгини но не трябва ли този,да има и прави така че след рестарт на сървъра да блокира mp_startmoney.Твоя си ги запазва проблем няма идеята на всичко това е че при пълен рестарт, като правя парите не ги чете от файла ти кадето се запазват парите.А се връщат по дефаутно му 850,демек става така че ролята на mp_startmoney 850 се връща при пълен рестарт.Тук мисля че трябва да има отделен плъгин като този който ще постна,незнам дали ще те насочи но трябва да се спре това mp_startmoney 850 да го чете при пълен рестарт на сървъра.И да си чете от файла директно в който са записани парите на играчите тоест CRXPlayerMoney.txt в случая.Дори спрях сички плъгини външни без базовите и пак е същото,мислех си че може би някой плъгин ми бърка нещата но не е така.Така че ако можеш нещо да направиш ще ми е в полза,за мен е много важно парите на играчите да се запазват на 100% независимо как ще се рестартира сървъра.

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

// Copyright © 2016 Vaqtincha

/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#define SPECTATOR_NO_RESET		// Не обнулять деньги при переходе в спектаторы
	#define NO_ROUND_BONUS		// Не прибавлять раунд бонус к деньги спектатора при возвращении обратно в команду


#define RESTART_NO_RESET		// Не обнулять деньги при рестарте игры

/**■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#include <amxmodx>
#include <reapi>


#if defined SPECTATOR_NO_RESET || defined RESTART_NO_RESET
	new mp_startmoney
	new g_iOldMoney[MAX_CLIENTS+1]
#endif

public plugin_init()
{
	register_plugin("[ReAPI] No Reset MOney", "0.0.5", "Vaqtincha")

#if defined RESTART_NO_RESET
	RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound", .post = false)
	RegisterHookChain(RG_CBasePlayer_AddAccount, "CBasePlayer_AddAccount", .post = false)
#endif

#if defined SPECTATOR_NO_RESET
	RegisterHookChain(RG_HandleMenu_ChooseTeam, "HandleMenu_ChooseTeam", .post = false)
	RegisterHookChain(RG_HandleMenu_ChooseAppearance, "HandleMenu_ChooseAppearance", .post = true)
#endif

#if defined SPECTATOR_NO_RESET || defined RESTART_NO_RESET
	mp_startmoney = get_cvar_pointer("mp_startmoney")
}

public client_putinserver(iPlayer)
{
	g_iOldMoney[iPlayer] = 0
#endif
}

#if defined RESTART_NO_RESET
public CSGameRules_RestartRound()
{
	new iPlayers[32], iNum, iPlayer, i, iMoney
	new iStartMoney = get_pcvar_num(mp_startmoney)

	get_players(iPlayers, iNum, "ch")

	for(i = 0; i < iNum; i++)
	{
		iPlayer = iPlayers[i]
		if(g_iOldMoney[iPlayer]) // spectators
			continue
		
		iMoney = get_member(iPlayer, m_iAccount)
		g_iOldMoney[iPlayer] = (iMoney > iStartMoney) ? iMoney : 0
	}
}

public CBasePlayer_AddAccount(const iPlayer, amount, RewardType:type, bool:bTrackChange)
{
	if(type == RT_PLAYER_RESET && g_iOldMoney[iPlayer])
	{
		SetHookChainArg(2, ATYPE_INTEGER, g_iOldMoney[iPlayer])
		g_iOldMoney[iPlayer] = 0
	}

	return HC_CONTINUE
}
#endif


#if defined SPECTATOR_NO_RESET
public HandleMenu_ChooseTeam(const iPlayer, const MenuChooseTeam:slot) // pre
{
	if(slot == MenuChoose_Spec)
	{
		new iMoney = get_member(iPlayer, m_iAccount)
		g_iOldMoney[iPlayer] = (iMoney > get_pcvar_num(mp_startmoney)) ? iMoney : 0
	#if defined NO_ROUND_BONUS
		set_member(iPlayer, m_bReceivesNoMoneyNextRound, true)
	#endif
	}

	return HC_CONTINUE
}

public HandleMenu_ChooseAppearance(const iPlayer, const slot)
{
	if(1 <= slot <= 5 /* only cstrike */ && g_iOldMoney[iPlayer])
	{
		rg_add_account(iPlayer, g_iOldMoney[iPlayer], AS_SET, false)
		g_iOldMoney[iPlayer] = 0
	}

	return HC_CONTINUE
}
#endif
Изображение

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Save Money

Мнение от iv69 » 23 Мар 2020, 13:11

Имам едно предложение за ъпдейт на плъгина: т.е - добавяне на още два квара към плъгина , ако може разбира се?
Идеята е да се добави и duration (продължителност) на съхранение на парите. Примерно за 24, 48 или 72 часа?
Плъгина при мен работи перфектно и без проблеми с тези квари:
sm_maponly "0"
sm_save_type "2"
Но ако има възможност и за още един примерно такъв:
sm_save_duration "48"
мисля, че ще е още по-добре.
Мисля, че ще е по-добре така , защото сега в файла се събира и се съхранява прекалено много инфо и то за хора влизащи понякога... т.е. от "дъжд на вятър" .
И за втория квар: за едно HUD-съобщение в рамките на 15s(ако може в стил пишеща машина) на всеки влизащ играч( на английски ако може) от този род:
sm_info "Ти имаш досега "N' -$, Парите ти ще бъдат запазени до "N"-часа от последното ти визане"
Надявам се идеята да се е харесала на автора и в скоро време да ползваме нова версия :gamer2: !?

p.s. И дано не съм безкрайно досаден, но сега ми хрумна: Ако някой не желае да има тези квари - може ли да се направи така, че ако за тях - в кавичките няма нищо написано, все едно двата квара да ги няма ?

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

Save Money

Мнение от OciXCrom » 29 Мар 2020, 14:50

За да изтриеш парите след 48 часа, добави в plugin_init:

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

fvault_prune("CRXPlayerMoney", 0, get_systime() - (3600 * 48))

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Save Money

Мнение от iv69 » 09 Май 2020, 16:53

Може ли да се "ограничи" действието на плъгина, да е само за играчи с определен флаг и как? Искам съхраняването на парите да се запазва и след смяна на картата и/или след рестарт/реконект - но само за играчи с администраторски флаг: ADMIN_LEVEL_D !?
Пробвах да добавя функцията за проверка на флаг:

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

public check_flags(id)
{
    new user_flags = get_user_flags(id)
    if(!is_user_connected(id) || ~user_flags & ADMIN_LEVEL_D)
	        return
}
Като плъгина сега ми изглежда ето така:

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

#include <amxmodx>
#include <cstrike>
#include <fvault>

#define PLUGIN_VERSION "2.0.1"

enum _:Cvars
{
	sm_maponly,
	sm_save_type,
	mp_startmoney
}

new g_eCvars[Cvars]
new g_eValues[Cvars]
new g_szInfo[33][35]
new bool:g_bRestart
new const g_szVault[] = "CRXPlayerMoney"

public plugin_init()
{
	register_plugin("Save Money", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXSaveMoney", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1&Restart_Round_")
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1=Game_Commencing")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	g_eCvars[sm_maponly] = register_cvar("sm_maponly", "1")
	g_eCvars[sm_save_type] = register_cvar("sm_save_type", "0")
	g_eCvars[mp_startmoney] = get_cvar_pointer("mp_startmoney")
}

public plugin_cfg()
	GetCvars()

public plugin_end()
{
	GetCvars()
	
	if(g_eValues[sm_maponly])
		fvault_clear(g_szVault)
}

public client_putinserver(id)
{
	if(is_user_bot(id))
		return
		
	get_user_save_info(id, g_szInfo[id], charsmax(g_szInfo[]))
	use_vault(id, 1, g_szInfo[id])
}

public check_flags(id)
{
    new user_flags = get_user_flags(id)
    if(!is_user_connected(id) || ~user_flags & ADMIN_LEVEL_D)
	        return
}

public client_disconnect(id)
{
	if(!is_user_bot(id))
		use_vault(id, 0, g_szInfo[id])
}
	
public client_infochanged(id)
{
	if(g_eValues[sm_save_type] || !is_user_connected(id) || is_user_bot(id))
		return
		
	static szNewName[32], szOldName[32]
	get_user_info(id, "name", szNewName, charsmax(szNewName))
	get_user_name(id, szOldName, charsmax(szOldName))
	
	if(!equal(szNewName, szOldName))
	{
		use_vault(id, 0, szOldName)
		use_vault(id, 1, szNewName)
		copy(g_szInfo[id], charsmax(g_szInfo[]), szNewName)
	}
}

public OnRoundRestart()
{
	GetCvars()
	
	if(!g_eValues[sm_maponly])
	{
		if(g_bRestart)
			return
			
		g_bRestart = true
		use_vault(0, 0)
		return
	}
		
	fvault_clear(g_szVault)
		
	new iPlayers[32], iPnum
	get_players(iPlayers, iPnum, "ch")
	
	for(new i; i < iPnum; i++)
		cs_set_user_money(iPlayers[i], g_eValues[mp_startmoney])
}

public OnRoundStart()
{
	if(!g_bRestart)
		return
		
	g_bRestart = false
	use_vault(0, 1)
}

use_vault(const id, const iType, const szInfo[] = "")
{
	new szData[10]
	
	switch(iType)
	{
		case 0:
		{
			if(id && is_user_connected(id))
			{
				num_to_str(cs_get_user_money(id), szData, charsmax(szData))
				fvault_set_data(g_szVault, szInfo, szData)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					num_to_str(cs_get_user_money(iPlayer), szData, charsmax(szData))
					fvault_set_data(g_szVault, g_szInfo[iPlayer], szData)
				}
			}				
		}
		case 1:
		{
			if(id)
			{
				if(fvault_get_data(g_szVault, szInfo, szData, charsmax(szData)))
					cs_set_user_money(id, str_to_num(szData), 0)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					
					if(fvault_get_data(g_szVault, g_szInfo[iPlayer], szData, charsmax(szData)))
						cs_set_user_money(iPlayer, str_to_num(szData), 0)
				}
			}
		}
	}
}

get_user_save_info(const id, szInfo[], const iLen)
{
	switch(g_eValues[sm_save_type])
	{
		case 0: get_user_name(id, szInfo, iLen)
		case 1: get_user_ip(id, szInfo, iLen)
		case 2: get_user_authid(id, szInfo, iLen)
	}
}

GetCvars()
{
	g_eValues[sm_maponly] = get_pcvar_num(g_eCvars[sm_maponly])
	g_eValues[sm_save_type] = get_pcvar_num(g_eCvars[sm_save_type])
	g_eValues[mp_startmoney] = get_pcvar_num(g_eCvars[mp_startmoney])
}
Но... , май не стана нищо !? При включени квари:
sm_maponly 0
sm_save_type 0
пак си запазва парите на всички, а не само на играчи с искания администраторски флаг. Къде греша? И как да го направя?

Аватар
JackEyedJones
Извън линия
Потребител
Потребител
Мнения: 399
Регистриран на: 10 Сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 69 пъти
Обратна връзка:

Save Money

Мнение от JackEyedJones » 10 Май 2020, 11:00

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

#include <amxmodx>
#include <cstrike>
#include <fvault>
#include <amxmisc>

#define PLUGIN_VERSION "2.0.1"

enum _:Cvars
{
	sm_maponly,
	sm_save_type,
	mp_startmoney
}

new g_eCvars[Cvars]
new g_eValues[Cvars]
new g_szInfo[33][35]
new bool:g_bRestart
new const g_szVault[] = "CRXPlayerMoney"

#define FLAGS_TO_SAVE ADMIN_BAN

public plugin_init()
{
	register_plugin("Save Money", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXSaveMoney", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1&Restart_Round_")
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1=Game_Commencing")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	g_eCvars[sm_maponly] = register_cvar("sm_maponly", "1")
	g_eCvars[sm_save_type] = register_cvar("sm_save_type", "0")
	g_eCvars[mp_startmoney] = get_cvar_pointer("mp_startmoney")
}

public plugin_cfg()
	GetCvars()

public plugin_end()
{
	GetCvars()
	
	if(g_eValues[sm_maponly])
		fvault_clear(g_szVault)
}

public client_putinserver(id)
{
	if(is_user_bot(id) || !access(id, FLAGS_TO_SAVE))
		return
		
	get_user_save_info(id, g_szInfo[id], charsmax(g_szInfo[]))
	use_vault(id, 1, g_szInfo[id])
}

public client_disconnect(id)
{
	if(!is_user_bot(id) || access(id, FLAGS_TO_SAVE))
		use_vault(id, 0, g_szInfo[id])
}
	
public client_infochanged(id)
{
	if(g_eValues[sm_save_type] || !is_user_connected(id) || is_user_bot(id))
		return
		
	static szNewName[32], szOldName[32]
	get_user_info(id, "name", szNewName, charsmax(szNewName))
	get_user_name(id, szOldName, charsmax(szOldName))
	
	if(!equal(szNewName, szOldName))
	{
		use_vault(id, 0, szOldName)
		use_vault(id, 1, szNewName)
		copy(g_szInfo[id], charsmax(g_szInfo[]), szNewName)
	}
}

public OnRoundRestart()
{
	GetCvars()
	
	if(!g_eValues[sm_maponly])
	{
		if(g_bRestart)
			return
			
		g_bRestart = true
		use_vault(0, 0)
		return
	}
		
	fvault_clear(g_szVault)
		
	new iPlayers[32], iPnum
	get_players(iPlayers, iPnum, "ch")
	
	for(new i; i < iPnum; i++)
		cs_set_user_money(iPlayers[i], g_eValues[mp_startmoney])
}

public OnRoundStart()
{
	if(!g_bRestart)
		return
		
	g_bRestart = false
	use_vault(0, 1)
}

use_vault(const id, const iType, const szInfo[] = "")
{
	new szData[10]
	
	switch(iType)
	{
		case 0:
		{
			if(id && is_user_connected(id))
			{
				num_to_str(cs_get_user_money(id), szData, charsmax(szData))
				fvault_set_data(g_szVault, szInfo, szData)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					num_to_str(cs_get_user_money(iPlayer), szData, charsmax(szData))
					fvault_set_data(g_szVault, g_szInfo[iPlayer], szData)
				}
			}				
		}
		case 1:
		{
			if(id)
			{
				if(fvault_get_data(g_szVault, szInfo, szData, charsmax(szData)))
					cs_set_user_money(id, str_to_num(szData), 0)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					
					if(fvault_get_data(g_szVault, g_szInfo[iPlayer], szData, charsmax(szData)))
						cs_set_user_money(iPlayer, str_to_num(szData), 0)
				}
			}
		}
	}
}

get_user_save_info(const id, szInfo[], const iLen)
{
	switch(g_eValues[sm_save_type])
	{
		case 0: get_user_name(id, szInfo, iLen)
		case 1: get_user_ip(id, szInfo, iLen)
		case 2: get_user_authid(id, szInfo, iLen)
	}
}

GetCvars()
{
	g_eValues[sm_maponly] = get_pcvar_num(g_eCvars[sm_maponly])
	g_eValues[sm_save_type] = get_pcvar_num(g_eCvars[sm_save_type])
	g_eValues[mp_startmoney] = get_pcvar_num(g_eCvars[mp_startmoney])
}

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

#define FLAGS_TO_SAVE
Test out.

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Save Money

Мнение от iv69 » 10 Май 2020, 13:37

Благодаря! Ще тествам и ще пиша за резултат.

Добавено преди 2 часа 4 минути 57 секунди:
JackEyedJones написа: 10 Май 2020, 11:00

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

#include <amxmodx>
#include <cstrike>
#include <fvault>
#include <amxmisc>

#define PLUGIN_VERSION "2.0.1"

enum _:Cvars
{
	sm_maponly,
	sm_save_type,
	mp_startmoney
}

new g_eCvars[Cvars]
new g_eValues[Cvars]
new g_szInfo[33][35]
new bool:g_bRestart
new const g_szVault[] = "CRXPlayerMoney"

#define FLAGS_TO_SAVE ADMIN_BAN

public plugin_init()
{
	register_plugin("Save Money", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXSaveMoney", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1&Restart_Round_")
	register_logevent("OnRoundRestart", 2, "0=World triggered", "1=Game_Commencing")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	g_eCvars[sm_maponly] = register_cvar("sm_maponly", "1")
	g_eCvars[sm_save_type] = register_cvar("sm_save_type", "0")
	g_eCvars[mp_startmoney] = get_cvar_pointer("mp_startmoney")
}

public plugin_cfg()
	GetCvars()

public plugin_end()
{
	GetCvars()
	
	if(g_eValues[sm_maponly])
		fvault_clear(g_szVault)
}

public client_putinserver(id)
{
	if(is_user_bot(id) || !access(id, FLAGS_TO_SAVE))
		return
		
	get_user_save_info(id, g_szInfo[id], charsmax(g_szInfo[]))
	use_vault(id, 1, g_szInfo[id])
}

public client_disconnect(id)
{
	if(!is_user_bot(id) || access(id, FLAGS_TO_SAVE))
		use_vault(id, 0, g_szInfo[id])
}
	
public client_infochanged(id)
{
	if(g_eValues[sm_save_type] || !is_user_connected(id) || is_user_bot(id))
		return
		
	static szNewName[32], szOldName[32]
	get_user_info(id, "name", szNewName, charsmax(szNewName))
	get_user_name(id, szOldName, charsmax(szOldName))
	
	if(!equal(szNewName, szOldName))
	{
		use_vault(id, 0, szOldName)
		use_vault(id, 1, szNewName)
		copy(g_szInfo[id], charsmax(g_szInfo[]), szNewName)
	}
}

public OnRoundRestart()
{
	GetCvars()
	
	if(!g_eValues[sm_maponly])
	{
		if(g_bRestart)
			return
			
		g_bRestart = true
		use_vault(0, 0)
		return
	}
		
	fvault_clear(g_szVault)
		
	new iPlayers[32], iPnum
	get_players(iPlayers, iPnum, "ch")
	
	for(new i; i < iPnum; i++)
		cs_set_user_money(iPlayers[i], g_eValues[mp_startmoney])
}

public OnRoundStart()
{
	if(!g_bRestart)
		return
		
	g_bRestart = false
	use_vault(0, 1)
}

use_vault(const id, const iType, const szInfo[] = "")
{
	new szData[10]
	
	switch(iType)
	{
		case 0:
		{
			if(id && is_user_connected(id))
			{
				num_to_str(cs_get_user_money(id), szData, charsmax(szData))
				fvault_set_data(g_szVault, szInfo, szData)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					num_to_str(cs_get_user_money(iPlayer), szData, charsmax(szData))
					fvault_set_data(g_szVault, g_szInfo[iPlayer], szData)
				}
			}				
		}
		case 1:
		{
			if(id)
			{
				if(fvault_get_data(g_szVault, szInfo, szData, charsmax(szData)))
					cs_set_user_money(id, str_to_num(szData), 0)
			}
			else
			{
				new iPlayers[32], iPnum
				get_players(iPlayers, iPnum, "ch")
				
				for(new i, iPlayer; i < iPnum; i++)
				{
					iPlayer = iPlayers[i]
					
					if(fvault_get_data(g_szVault, g_szInfo[iPlayer], szData, charsmax(szData)))
						cs_set_user_money(iPlayer, str_to_num(szData), 0)
				}
			}
		}
	}
}

get_user_save_info(const id, szInfo[], const iLen)
{
	switch(g_eValues[sm_save_type])
	{
		case 0: get_user_name(id, szInfo, iLen)
		case 1: get_user_ip(id, szInfo, iLen)
		case 2: get_user_authid(id, szInfo, iLen)
	}
}

GetCvars()
{
	g_eValues[sm_maponly] = get_pcvar_num(g_eCvars[sm_maponly])
	g_eValues[sm_save_type] = get_pcvar_num(g_eCvars[sm_save_type])
	g_eValues[mp_startmoney] = get_pcvar_num(g_eCvars[mp_startmoney])
}

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

#define FLAGS_TO_SAVE
Test out.
Работи както исках ! :hooray: :lock:

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

Обратно към “Одобрени плъгини”

Кой е на линия

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