Събплъгин към OciXCrom's Rank System: /nowVIP

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

Събплъгин към OciXCrom's Rank System: /nowVIP

Мнение от iv69 » 15 Сеп 2019, 14:31

Кроме, ще може ли да изработиш още един събплъгин, чрез който ако на някой играч при влизане в сървъра - не му се чака да достигне дадения "level" за VIP, да има опция да си купи веднага (например с команда: /nowVIP) даден флаг за този VIP :) ) срещу заплащане с определено количество XP от неговото заработено досега? Примерно , аз влизам имам 10000XP, но за да съм перманентно VIP от най-висок РАНК, ми трябва да имам 20000XP, но ми се иска да пострелям точно в момента със всички VIP-екстрички, приспада ми се обаче за тази прищявка от моите 10000XP - някаква сумичка- било то 1000, 2000 или 3000XP - и съм VIP . Но... , това да е в сила само докато не изляза от сървъра, при напускане, губя тази временна екстра !?
Предполагам , че идеята не е лоша - още повече ако може и да има едно съобщение в сървъра - за това, че всеки може да си веднага флага с екстрата за определена сума, но това ще е в сила само докато е в сървъра ?!
Например: Аз имам два флага с различни VIP-екстри - за различни нива:
1. - 'r" - "vip" - да има цена примерно 750XP - за всеки играч който иска да си купи веднага флага с екстрата...
2. - :t" - "VIP" - да има цена примерно 1500XP - за всеки играч който иска да си купи веднага флага с екстрата...

p.s. Предполагам, че купуването не само ще намалява сумата от XP или точки, но и ще сваля нивата на купуващия играч, което ще направи още по-интересна системата ?!

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

Събплъгин към OciXCrom's Rank System: /nowVIP

Мнение от OciXCrom » 15 Сеп 2019, 15:14

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <crxranks>

enum _:VIPStuff
{
	XPPrice,
	Flags[32]
}

new const g_eVIPStuff[][VIPStuff] =
{
	{ 750, "r" },
	{ 1000, "t" }
}

public plugin_init()
{
	register_plugin("CRXRanks: Buy VIP", "1.0.1", "OciXCrom")
	register_clcmd("say /vipnow", "Cmd_BuyVIP")
	register_clcmd("say_team /vipnow", "Cmd_BuyVIP")
	CC_SetPrefix("&x04[BuyVIP]")
}

public Cmd_BuyVIP(id)
{
	new szItem[64], iXP = crxranks_get_user_xp(id)
	formatex(szItem, charsmax(szItem), "\yBuy VIP with XP^nYou have: \r%i \yXP", iXP)

	new iMenu = menu_create(szItem, "Menu_Handler")

	for(new i; i < sizeof(g_eVIPStuff); i++)
	{
		formatex(szItem, charsmax(szItem), "VIP Flag \r%s \y[%i XP]", g_eVIPStuff[i][Flags], g_eVIPStuff[i][XPPrice])
		menu_additem(iMenu, szItem)
	}

	menu_display(id, iMenu)
	return PLUGIN_HANDLED
}

public Menu_Handler(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		goto @END
	}

	if(has_all_flags(id, g_eVIPStuff[iItem][Flags]))
	{
		CC_SendMessage(id, "You already have all the flags that this extra gives!")
		goto @END
	}

	new iXP = crxranks_get_user_xp(id)

	if(iXP < g_eVIPStuff[iItem][XPPrice])
	{
		CC_SendMessage(id, "You don't have enough XP to make this purchase!")
	}
	else
	{
		new szName[32]
		get_user_name(id, szName, charsmax(szName))
		set_user_flags(id, read_flags(g_eVIPStuff[iItem][Flags]))
		CC_SendMessage(0, "&x03%s &x01bought VIP flag &x04%s &x01for &x04%i XP&x01!", szName, g_eVIPStuff[iItem][Flags], g_eVIPStuff[iItem][XPPrice])
		crxranks_give_user_xp(id, g_eVIPStuff[iItem][XPPrice] * -1, _, CRXRANKS_XPS_PLUGIN)
	}

	@END:
	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}

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

Събплъгин към OciXCrom's Rank System: /nowVIP

Мнение от iv69 » 15 Сеп 2019, 21:51

OciXCrom написа: 15 Сеп 2019, 15:14

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

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <crxranks>

enum _:VIPStuff
{
	XPPrice,
	Flags[32]
}

new const g_eVIPStuff[][VIPStuff] =
{
	{ 750, "r" },
	{ 1000, "t" }
}

public plugin_init()
{
	register_plugin("CRXRanks: Buy VIP", "1.0", "OciXCrom")
	register_clcmd("say /nowVIP", "Cmd_BuyVIP")
	register_clcmd("say_team /nowVIP", "Cmd_BuyVIP")
	CC_SetPrefix("&x04[BuyVIP]")
}

public Cmd_BuyVIP(id)
{
	new szItem[64], iXP = crxranks_get_user_xp(id)
	formatex(szItem, charsmax(szItem), "\yBuy VIP with XP^nYou have: \r%i \yXP", iXP)

	new iMenu = menu_create(szItem, "Menu_Handler")

	for(new i; i < sizeof(g_eVIPStuff); i++)
	{
		formatex(szItem, charsmax(szItem), "VIP Flag \r%s \y[%i XP]", g_eVIPStuff[i][Flags], g_eVIPStuff[i][XPPrice])
		menu_additem(iMenu, szItem)
	}

	menu_display(id, iMenu)
	return PLUGIN_HANDLED
}

public Menu_Handler(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		goto @END
	}

	if(has_all_flags(id, g_eVIPStuff[iItem][Flags]))
	{
		CC_SendMessage(id, "You already have all the flags that this extra gives!")
		goto @END
	}

	new iXP = crxranks_get_user_xp(id)

	if(iXP < g_eVIPStuff[iItem][XPPrice])
	{
		CC_SendMessage(id, "You don't have enough XP to make this purchase!")
	}
	else
	{
		new szName[32]
		get_user_name(id, szName, charsmax(szName))
		set_user_flags(id, read_flags(g_eVIPStuff[iItem][Flags]))
		CC_SendMessage(0, "&x03%s &x01bought VIP flag &x04%s &x01for &x04%i XP&x01!", g_eVIPStuff[iItem][Flags], g_eVIPStuff[iItem][XPPrice])
		crxranks_give_user_xp(id, g_eVIPStuff[iItem][XPPrice] * -1, _, CRXRANKS_XPS_PLUGIN)
	}

	@END:
	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Пробвах събплъгина: Работи добре. Дава флаговете и е направен много оригинално със това излизащо меню :) за двата флага! Единствено забелязах, че не изважда съответния XP на играча който си купува моменталната "VIP"-екстра? Да не би да трябва да се пипа нещо и по главния плъгин ?

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

Събплъгин към OciXCrom's Rank System: /nowVIP

Мнение от OciXCrom » 16 Сеп 2019, 00:36

Направил съм грешка в съобщението и заради това не се е изъплнявала функцията за взимане на ХР-то + съобщението при покупка не се показва. Поправих кода в горното мнение.

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

Събплъгин към OciXCrom's Rank System: /nowVIP

Мнение от iv69 » 16 Сеп 2019, 08:53

Плъгина е СУПЕР ! Благодаря Кроме, брилянтна работа, но е излишно да го споменавам. Препоръчвам на всички които ползват ранксистемата и са сложили събплъгин за даване на флагове и VIP-crxranks_flags_per_level.amxx, да изпробват и този събплъгин!!! Няма да съжаляват, доста зарибяваща и интересна екстричка си е :) А и мисля, че ще държи играчи за по-дълго в сървъра :)
Заключвайте моля !

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

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

Кой е на линия

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