награда за убийство на VIP играч

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
accelerator10
Извън линия
Потребител
Потребител
Мнения: 4
Регистриран на: 08 Юли 2020, 06:52
Се отблагодари: 4 пъти
Обратна връзка:

награда за убийство на VIP играч

Мнение от accelerator10 » 08 Юли 2020, 07:24

Можете ли да ми помогнете с модификацията на RankSystems? Не знам как да приложа това в кода, нов съм :headbang:

Трябва да проверя is_user_admin и да дам повече XP, ако играчът е убил администратора

Вече се обърнах към други форуми, но те не ми помогнаха, казаха ми да проверя дали (get_user_flags (iAttacker) & ADMIN_MENU)
но аз, дори преди техните подкани, го представях по този начин, все още не разбирам къде да вмъкна тези условия, логиката ми и разбирането на кода не е достатъчно, за да смените 2 функции, съжалявам

Разбирам, че преди обикновено убийство трябва да има проверка "" ако "" "" друг "" get_user_flags (iAttacker) :headbang: :headbang: :headbang: :headbang:
въпросът е: как правилно да сменим условията, така че всичко да работи добре?

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

награда за убийство на VIP играч

Мнение от atmax » 08 Юли 2020, 09:14

Темата ти е в раздел заявки т. е. Искаш да ти се направи плъгин. В случая искаш плъгин, при който играч без флагове да бъде награждаван за убийството на ВИП/Админ, но даже не си описал дали искаш да е за определен флаг или няма значение, стига да има някакъв различен от "z" флаг..!? Също така не си предоставил тази твоя "RankSystems".. Ние да не сме гадатели и случайно да ти знаем плъгина за ранк за да знаем как да добавим XP..?!
Rest in peace my friend I always will remember you! 🖤👊

Аватар
accelerator10
Извън линия
Потребител
Потребител
Мнения: 4
Регистриран на: 08 Юли 2020, 06:52
Се отблагодари: 4 пъти
Обратна връзка:

награда за убийство на VIP играч

Мнение от accelerator10 » 08 Юли 2020, 12:05

atmax написа: 08 Юли 2020, 09:14 Темата ти е в раздел заявки т. е. Искаш да ти се направи плъгин. В случая искаш плъгин, при който играч без флагове да бъде награждаван за убийството на ВИП/Админ, но даже не си описал дали искаш да е за определен флаг или няма значение, стига да има някакъв различен от "z" флаг..!? Също така не си предоставил тази твоя "RankSystems".. Ние да не сме гадатели и случайно да ти знаем плъгина за ранк за да знаем как да добавим XP..?!
Извинявам се.
Знам езика ти много слабо.

Използвам плъгина OciXCrom RankSystem. Не правих никакви промени в него, освен че просто промених "Ranks" в RankSystem.ini.
Искам да прилагам това: когато вие (играч със или без права) убиете играч със знаме (ADMIN_MENU), му се дава XP
убийте играч с този флаг == ще получите xp бонус повече от обикновено убийство)
така го искам.

но не мога да прилагам това в кода, без значение какво се опитвам, всичко се свежда до факта, че знам твърде малко пешки, този форум е единствената надежда, че идеята ми няма да умре
Имам твърде много идеи, всичко зависи от лошите езикови умения, дори и на най-основното ниво

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

награда за убийство на VIP играч

Мнение от atmax » 08 Юли 2020, 12:54

Пробвай го!

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

#include <amxmodx>
#include <crxranks>

#define PLUGIN "Kill Bonus"
#define VERSION "1.0"
#define AUTHOR "aTmAx"
new XP_AMOUNT

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	register_event("DeathMsg", "eventDeathMsg", "a")
	XP_AMOUNT = register_cvar("amx_xpreward", "10")
}

public eventDeathMsg()
{
	new iKiller = read_data(1), iVictim = read_data(2)
	
	if(!is_user_connected(iKiller) || iKiller == iVictim)
		return PLUGIN_CONTINUE

	if(get_user_flags(iVictim) & ADMIN_MENU)
	{
		crxranks_give_user_xp(iKiller, XP_AMOUNT)
	}
	return PLUGIN_HANDLED
}
Ако проработи, много лесно можеш да го добавиш в ранк системата, но не виждам смисъл да го правиш.
Това е cvar-a за XP-то: "amx_xpreward", "10"
Rest in peace my friend I always will remember you! 🖤👊

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

награда за убийство на VIP играч

Мнение от OciXCrom » 08 Юли 2020, 14:26

Версия без cvar:

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

#include <amxmodx>
#include <crxranks>

#define PLUGIN "Kill Bonus"
#define VERSION "1.0"
#define AUTHOR "aTmAx"

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	register_event("DeathMsg", "eventDeathMsg", "a")
}

public eventDeathMsg()
{
	new iKiller = read_data(1), iVictim = read_data(2)

	if(!is_user_connected(iKiller) || iKiller == iVictim)
	{
		return
	}

	if(get_user_flags(iVictim) & ADMIN_MENU)
	{
		crxranks_give_user_xp(iKiller, _, "kill_admin")
	}
}
Количеството на XP го добавяш в раздела [XP Rewards] в RankSystem.ini:

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

kill_admin = 10

Аватар
accelerator10
Извън линия
Потребител
Потребител
Мнения: 4
Регистриран на: 08 Юли 2020, 06:52
Се отблагодари: 4 пъти
Обратна връзка:

награда за убийство на VIP играч

Мнение от accelerator10 » 09 Юли 2020, 14:31

Благодаря ви много за вашата помощ!

Мислейки вчера и опитвайки се по някакъв начин да променя кода, с който ми помогнахте, се опитах да добавя допълнителна проверка
(Имам приятелски огън на моя сървър)
if (get_user_team (iVictim) == get_user_team (iKiller))

Как да заменим стойностите на променливите и да ги покажем в чата?
Така;
„(Rank) (KillerName) убива ViP (VictimName) и получава (rand_exp)“


format(szMessage, charsmax(szMessage), "%s %s", CC_PREFIX, szMessage) client_print(id, print_chat, szMessage)

как да използвам?

напр
Предписвам в моя плъгин: #include <crxranks>

тогава пиша:

new rank[32] crxranks_get_user_rank (id, rank, 31)

и ... как мога да покажа стойността на променливата buff_rank в чата? Не ми се вписва в главата ..

:confused: :confused:
Вчера скицирах няколко реда, защото бях вдъхновен от кода.
ще прикача това, което скицирах.....
:censored: :censored:
#include <amxmodx> #include <crxranks> #define PLUGIN "CRX: ViP Kill Bonus" #define VERSION "1.0b" #define AUTHOR "aTmAx" // thnx u public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "eventDeathMsg", "a") } public eventDeathMsg() { new iKiller = read_data(1), iVictim = read_data(2) if(!is_user_connected(iKiller) || iKiller == iVictim) return PLUGIN_CONTINUE new maxplayers maxplayers = get_maxplayers(); new szNameRank[64] // string for RankName crxranks_get_user_rank(iKiller, szNameRank, maxplayers) new szNameKiller // string for Name the Killer szNameKiller get_user_name(iKiller, szNameKiller, maxplayers) if(get_user_team(iKiller) == get_user_team(iVictim)) { // if kill a teammate crxranks_give_user_xp(iKiller, _, "vip_teamfire") // take xp } new szVipName // string for Name of the "Vip" get_user_name(iVictim, szVipName, maxplayers); new rand_reward rand_reward = random_num(5, 15); else if(get_user_flags(iVictim) & ADMIN_MENU) { crxranks_give_user_xp(iKiller, rand_reward) } return PLUGIN_HANDLED }

компилаторът показва все повече грешки за всичките ми опити да поправя нещо
помогни ми да оправя този боклук и да направя бонбони от него
:headbang: :headbang: :headbang: :grrr:

Аватар
Orangegame14
Извън линия
Потребител
Потребител
Мнения: 87
Регистриран на: 02 Апр 2020, 22:48
Се отблагодари: 6 пъти
Получена благодарност: 24 пъти

награда за убийство на VIP играч

Мнение от Orangegame14 » 09 Юли 2020, 14:57

Когато ти показва някакви грешки казвай какви са те, за да могат другите да преценят от къде идват съответните грешки.

Аватар
Orangegame14
Извън линия
Потребител
Потребител
Мнения: 87
Регистриран на: 02 Апр 2020, 22:48
Се отблагодари: 6 пъти
Получена благодарност: 24 пъти

награда за убийство на VIP играч

Мнение от Orangegame14 » 09 Юли 2020, 15:22

Ето пробвай така. Не гарантирам, че работи, тъй като все пак плъгинът е на друг, но успях да премахна грешките и предупрежденията. Някои неща, които си забравил или направил, не както трябва ИЛИ ПОНЕ НЕ Е ХУБАВО да са така(предупрежденията): Когато създаваш нов string като new szNameKiller трябва да сложиш и число в [] скоби след него szNameKiller[32], szVipName[32]. Имаше и доста loose indentation, което е недобро структуриране на кода. Старай се да пишеш в редовете един под друг спрямо скобите { }. loose indentation обаче в повечето случаи не ти чупи кодовете, то е просто предупреждение, че не е добро структурирано и може да се прочете по-трудно от някой друг. Естествено пак казвам, не съм сигурен, нека по-добрите като окси или модераторите да решат или да го нашишат, но пробвай и така.

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

#include <amxmodx>
#include <crxranks>

#define PLUGIN "CRX: ViP Kill Bonus"
#define VERSION "1.0b"
#define AUTHOR "aTmAx" // thnx u



public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("DeathMsg", "eventDeathMsg", "a")
}


public eventDeathMsg()
{
	new iKiller = read_data(1), iVictim = read_data(2)

	if(!is_user_connected(iKiller) || iKiller == iVictim)
		return PLUGIN_CONTINUE

	new maxplayers
	maxplayers = get_maxplayers();

	new szNameRank[64] 		// string for RankName
	crxranks_get_user_rank(iKiller, szNameRank, maxplayers)

	new szNameKiller[32] 	// string for Name the Killer
	get_user_name(iKiller, szNameKiller, maxplayers)


	if(get_user_team(iKiller) == get_user_team(iVictim)) { // if kill a teammate
		crxranks_give_user_xp(iKiller, _, "vip_teamfire") // take xp
	}

	new szVipName[32] 	// string for Name of the "Vip" 
	get_user_name(iVictim, szVipName, maxplayers);


	new rand_reward
	rand_reward = random_num(5, 15);


	if(get_user_flags(iVictim) && ADMIN_MENU)
	{
		crxranks_give_user_xp(iKiller, rand_reward);
	
	}
	return PLUGIN_HANDLED
}
ПС: Извинявам се, ако в случая е проблемен двойният пост.
Последно промяна от Orangegame14 на 09 Юли 2020, 15:55, променено общо 1 път.

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

награда за убийство на VIP играч

Мнение от atmax » 09 Юли 2020, 15:42

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

#include <amxmodx>
#include <crxranks>
#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>

#define PLUGIN "CRXRanks: Kill Bonus"
#define VERSION "1.0"
#define AUTHOR "aTmAx"

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	register_event("DeathMsg", "eventDeathMsg", "a")
}

public eventDeathMsg()
{
	new iKiller = read_data(1), iVictim = read_data(2)
	new szKillerName[32], szVipName[32], rand_reward, szNameRank[64]
	get_user_name(iVictim, szVipName, charsmax(szVipName))
	rand_reward = random_num(5, 15)

	if(!is_user_connected(iKiller) || iKiller == iVictim)
	{
		return
	}
	
	crxranks_get_user_rank(iKiller, szNameRank, charsmax(szNameRank))
	get_user_name(iKiller, szKillerName, charsmax(szKillerName))

	if(get_user_team(iKiller) == get_user_team(iVictim)) 
	{
		crxranks_give_user_xp(iKiller, _, "vip_teamfire")
	}
	
	if(get_user_flags(iVictim) & ADMIN_MENU)
	{
		crxranks_give_user_xp(iKiller, _, "kill_admin")
		CromChat(0, "!g[%s] !t%s !nkilled ViP !t%s !nand gain !g%dXP", szNameRank, szKillerName, szVipName, rand_reward)
	}
}
Ще ти трябва cromchat библиотеката: Ето!
Ако искаш събщението да се показва само за убиеца:

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

CromChat(0, "!g[%s] !t%s !nkilled ViP !t%s !nand gain !g%dXP", szNameRank, szKillerName, szVipName, rand_reward)
-->

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

CromChat(iKiller, "!g[%s] !t%s !nkilled ViP !t%s !nand gain !g%dXP", szNameRank, szKillerName, szVipName, rand_reward)
Rest in peace my friend I always will remember you! 🖤👊

Аватар
accelerator10
Извън линия
Потребител
Потребител
Мнения: 4
Регистриран на: 08 Юли 2020, 06:52
Се отблагодари: 4 пъти
Обратна връзка:

награда за убийство на VIP играч

Мнение от accelerator10 » 09 Юли 2020, 17:02

много благодаря

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

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

Кой е на линия

Потребители разглеждащи този форум: Google [Bot], Semrush [Bot] и 26 госта