Преработка на Messages плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Nine Finger's
Извън линия
Потребител
Потребител
Мнения: 112
Регистриран на: 13 Фев 2018, 20:45
Местоположение: Майна town
Се отблагодари: 40 пъти
Получена благодарност: 6 пъти

Преработка на Messages плъгин

Мнение от Nine Finger's » 04 Авг 2018, 20:03

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

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

#include <amxmodx>
#include <amxmisc>
#include <WPMGPrintChatColor>

#define PLUGIN    "Messages"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.Info"

#define DELAY_MESSAGES_TIME   10.0

new Array:g_aMessages

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_aMessages = ArrayCreate(128,1)
	
	LoadFile()
}

public  client_authorized(id)
{
	set_task(DELAY_MESSAGES_TIME, "DisplayMessage",id, .flags = "b")
}


public DisplayMessage(id)
{
	if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
		return
	
	new szMessage[256], iArraySize, iRandom
	
	iArraySize = ArraySize(g_aMessages)
	
	if(iArraySize  < 0)
		return
		
	iRandom = random_num( 0, iArraySize - 1 )
		
	ArrayGetString(g_aMessages,iRandom, szMessage, charsmax(szMessage))
		
	PrintChatColor(id,PRINT_COLOR_GREY,"%s", szMessage)
	
}

public plugin_end()
{
	ArrayDestroy(g_aMessages)
}


LoadFile()
{
	new szFileName[256], iFilePointer
	
	get_configsdir(szFileName,charsmax(szFileName))
	add(szFileName,charsmax(szFileName),"/Messages.ini")
	
	iFilePointer = fopen(szFileName,"rt")
	
	if(!iFilePointer)
		return
		
	new szData[128]
		
	while(!feof(iFilePointer))
	{
		fgets(iFilePointer, szData,charsmax(szData))
		trim(szData)
		
		if(szData[0] == EOS || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
			continue
			
		ArrayPushString(g_aMessages, szData)

	}
	
	fclose(iFilePointer)
	
}
Make everything simple as possible but not simpler.
Albert Einstein

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

Преработка на Messages плъгин

Мнение от OciXCrom » 04 Авг 2018, 20:21

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

#include <amxmodx>
#include <amxmisc>
#include <WPMGPrintChatColor>

#define PLUGIN    "Messages"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.Info"

#define DELAY_MESSAGES_TIME   10.0

new Array:g_aMessages
new g_iMessage

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_aMessages = ArrayCreate(128,1)
	
	LoadFile()
}

public  client_authorized(id)
{
	set_task(DELAY_MESSAGES_TIME, "DisplayMessage",id, .flags = "b")
}


public DisplayMessage(id)
{
	if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
		return
	
	new szMessage[256]		
	ArrayGetString(g_aMessages, g_iMessage, szMessage, charsmax(szMessage))		
	PrintChatColor(id,PRINT_COLOR_GREY,"%s", szMessage)

	if(g_iMessage < ArraySize(g_aMessages) - 1)
		g_iMessage++
	else g_iMessage = 0
}

public plugin_end()
{
	ArrayDestroy(g_aMessages)
}


LoadFile()
{
	new szFileName[256], iFilePointer
	
	get_configsdir(szFileName,charsmax(szFileName))
	add(szFileName,charsmax(szFileName),"/Messages.ini")
	
	iFilePointer = fopen(szFileName,"rt")
	
	if(!iFilePointer)
		return
		
	new szData[128]
		
	while(!feof(iFilePointer))
	{
		fgets(iFilePointer, szData,charsmax(szData))
		trim(szData)
		
		if(szData[0] == EOS || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
			continue
			
		ArrayPushString(g_aMessages, szData)

	}
	
	fclose(iFilePointer)
	
}

Аватар
Nine Finger's
Извън линия
Потребител
Потребител
Мнения: 112
Регистриран на: 13 Фев 2018, 20:45
Местоположение: Майна town
Се отблагодари: 40 пъти
Получена благодарност: 6 пъти

Преработка на Messages плъгин

Мнение от Nine Finger's » 28 Сеп 2018, 15:26

Благодаря стана, имам и още едно питане.
Бихте ли ми казали как да го направя със set_task да има разлика в секундите преди да изобрази другото съобщение.
Make everything simple as possible but not simpler.
Albert Einstein

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

Преработка на Messages плъгин

Мнение от OciXCrom » 28 Сеп 2018, 16:11

Какво имаш предвид под разлика? Всеки път секундите да са различни? Да генерира произволно количество секунди в даден интервал или ти да ги избираш?

Аватар
Nine Finger's
Извън линия
Потребител
Потребител
Мнения: 112
Регистриран на: 13 Фев 2018, 20:45
Местоположение: Майна town
Се отблагодари: 40 пъти
Получена благодарност: 6 пъти

Преработка на Messages плъгин

Мнение от Nine Finger's » 28 Сеп 2018, 16:19

Имам предвид да стане, минимална и максимална разлика между две съобщения:

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

//Minimum difference between two different ads (float)
new const Float:RAND_MIN = 60.0;

//Maximum difference between two different ads (float)
new const Float:RAND_MAX = 80.0;
Make everything simple as possible but not simpler.
Albert Einstein

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

Преработка на Messages плъгин

Мнение от OciXCrom » 28 Сеп 2018, 17:09

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

#include <amxmodx>
#include <amxmisc>
#include <WPMGPrintChatColor>

#define PLUGIN    "Messages"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.Info"

//Minimum difference between two different ads (float)
new const Float:RAND_MIN = 60.0;

//Maximum difference between two different ads (float)
new const Float:RAND_MAX = 80.0;

new Array:g_aMessages
new g_iMessage

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_aMessages = ArrayCreate(128,1)
	
	LoadFile()
}

public  client_authorized(id)
{
	set_task(random_float(RAND_MIN, RAND_MAX), "DisplayMessage",id, .flags = "b")
}


public DisplayMessage(id)
{
	if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
		return
	
	new szMessage[256]		
	ArrayGetString(g_aMessages, g_iMessage, szMessage, charsmax(szMessage))		
	PrintChatColor(id,PRINT_COLOR_GREY,"%s", szMessage)

	if(g_iMessage < ArraySize(g_aMessages) - 1)
		g_iMessage++
	else g_iMessage = 0

	change_task(id, random_float(RAND_MIN, RAND_MAX))
}

public plugin_end()
{
	ArrayDestroy(g_aMessages)
}


LoadFile()
{
	new szFileName[256], iFilePointer
	
	get_configsdir(szFileName,charsmax(szFileName))
	add(szFileName,charsmax(szFileName),"/Messages.ini")
	
	iFilePointer = fopen(szFileName,"rt")
	
	if(!iFilePointer)
		return
		
	new szData[128]
		
	while(!feof(iFilePointer))
	{
		fgets(iFilePointer, szData,charsmax(szData))
		trim(szData)
		
		if(szData[0] == EOS || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
			continue
			
		ArrayPushString(g_aMessages, szData)

	}
	
	fclose(iFilePointer)
	
}

Аватар
Nine Finger's
Извън линия
Потребител
Потребител
Мнения: 112
Регистриран на: 13 Фев 2018, 20:45
Местоположение: Майна town
Се отблагодари: 40 пъти
Получена благодарност: 6 пъти

Преработка на Messages плъгин

Мнение от Nine Finger's » 28 Сеп 2018, 17:14

Благодаря стана перфектно, може да заключвате темата, и благодаря още веднъж. :)
Make everything simple as possible but not simpler.
Albert Einstein

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

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

Кой е на линия

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