OciXCrom's Custom Shop + API

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

OciXCrom's Custom Shop + API

Мнение от OciXCrom » 19 Окт 2017, 00:56

Мда, не обърнах внимание на това. Редактирах кода.

Аватар
Darky
Извън линия
Потребител
Потребител
Мнения: 33
Регистриран на: 01 Авг 2017, 12:32
Местоположение: Варна

OciXCrom's Custom Shop + API

Мнение от Darky » 19 Окт 2017, 06:09

Да точно това ми трябваше, благодаря много :)

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

OciXCrom's Custom Shop + API

Мнение от deadlylord » 19 Окт 2017, 07:39

А можеш ли да направиш нова настройка в cshop_edit позволяваща предмети да седят цял рунд(respawn да не ги спира)? Настройката да се появява при всички предмети и по този начин хората да могат да си правят добавят постоянни предмети.

Аватар
Darky
Извън линия
Потребител
Потребител
Мнения: 33
Регистриран на: 01 Авг 2017, 12:32
Местоположение: Варна

OciXCrom's Custom Shop + API

Мнение от Darky » 22 Окт 2017, 13:25

Само една забележка по плугина може ли да се направи да save Points по ник както е задедено от .ini файла да запаметява ако трябва в amxmodx/data/ да прави запис или в amxmodx/congis/SavePoints.ini да си измисли начин да се запазват точките по Ник дори да се смени картата дори да се ресне сървара или дори да спре сървара и да се пусне точките да се запазват за винаги.
Защото от този плугин както е настроен така в момента показва че по ник се запазват точки обаче на следващия ден когато влезна с същния ник имам отново 0 Points а имах 10000 Points да вечем...

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

OciXCrom's Custom Shop + API

Мнение от OciXCrom » 22 Окт 2017, 16:44

Точно така си е направено.

Аватар
Darky
Извън линия
Потребител
Потребител
Мнения: 33
Регистриран на: 01 Авг 2017, 12:32
Местоположение: Варна

OciXCrom's Custom Shop + API

Мнение от Darky » 22 Окт 2017, 16:52

А може ли да се вкара register_think( "task_entity", "CmdShowPoints" );

да показва healt armor и points:

public CmdShowPoints( ent )
{
new iPlayers[ 32 ], iNum, id;
get_players( iPlayers, iNum, "ch" );

for( new i; i < iNum; i++ )
{
id = iPlayers[ i ];

if( is_user_alive( id ) )
{
static szRed, szGreen, szBlue;
HudColors( szRed, szGreen, szBlue );

set_hudmessage( szRed, szGreen, szBlue, 0.01, 0.93, 0, 0.0, 0.0 );
ShowSyncHudMsg( id, sync, "Health: %d | Armor: %d | Point%s: %d", get_user_health( id ), get_user_armor( id ), iPlayerPoints[ id ] == 1 ? "" : "s", iPlayerPoints[ id ] );
}
}

entity_set_float( ent, EV_FL_nextthink, get_gametime( ) + 0.1 );
}

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

OciXCrom's Custom Shop + API

Мнение от OciXCrom » 22 Окт 2017, 16:55

Може, ама препоръчвам да не правиш промени по главния плъгин, а да си добавиш отделен такъв. Изключи съобщението от .ini файла и добави този съб-плъгин (взех кода от тази тема):

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

#include <amxmodx>
#include <customshop>

#define PLUGIN_NAME "Permanent HUD Message"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OciXCrom"

// Произволно число за задачата, която ще изпълнява функцията.
#define TASK_MESSAGE 398822

new g_iObject

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	
	// Това е обектът, който ще държи HUD съобщението.
	g_iObject = CreateHudSyncObj()
}

public client_putinserver(id)
{
	// Задаваме задача (task), която ще се изпълнява функцията displayMessage(id) през 1 секунда.
	// Добавяме произволна стойност на id, с цел да предотвратим неумишлено премахване на задачата от някоя друга функция или плъгин.
	set_task(1.0, "displayMessage", id + TASK_MESSAGE, _, _, "b")
}

public client_disconnect(id)
{
	// Премахваме задачата когато играчът напусне сървъра.
	new iTask = id + TASK_MESSAGE
	
	if(task_exists(iTask))
		remove_task(iTask)
}

public displayMessage(id)
{
	// Намираме id чрез изваждане на произволното число от него. 
	id -= TASK_MESSAGE
	
	// Ако играчът е мъртъв, искаме съобщението да не се показва.
	if(!is_user_alive(id))
		return
	
	// Задаваме стойностите на съобщението.
	set_hudmessage(0, 255, 0, 0.02, 0.2, 0, 0.1, 1.0, 0.1, 0.1, -1)
	
	// Изпращаме съобщението до играча.
	new iPoints = cshop_get_points(id)
	ShowSyncHudMsg(id, g_iObject, "Health: %d | Armor: %d | Point%s: %d", get_user_health(id), get_user_armor(id), iPoints == 1 ? "" : "s", iPoints)
} 

Аватар
Darky
Извън линия
Потребител
Потребител
Мнения: 33
Регистриран на: 01 Авг 2017, 12:32
Местоположение: Варна

OciXCrom's Custom Shop + API

Мнение от Darky » 22 Окт 2017, 17:24

Опитах се да задам стойноста

// Задаваме стойностите на съобщението.
set_hudmessage(255, 255, 0, 0.01, 0.93, 0, 0.0, 0.0)

защото искам да е долу по тази локация както е зададено в .ini 0.01 и 0.93 обаче почна да премигва ту се скрива ту се показва може ли да се направи да стой перманентно

Edit: Оправих го

// Задаваме стойностите на съобщението.
set_hudmessage(255, 255, 0, 0.01, 0.93, 0, 0.1, 1.0, 0.1, 0.1, -1)

Аватар
LoShIaA
Извън линия
Потребител
Потребител
Мнения: 323
Регистриран на: 20 Окт 2016, 14:44
Местоположение: Стара Загора
Се отблагодари: 120 пъти
Получена благодарност: 9 пъти

OciXCrom's Custom Shop + API

Мнение от LoShIaA » 22 Окт 2017, 17:35

set_hudmessage(255, 255, 0, 0.01, 0.93, 0, 0.1, 1.0, 0.1, 0.1, -1) остави другите параметри само смени цвета и координатите по х и у и няма да пресветка.

Аватар
Darky
Извън линия
Потребител
Потребител
Мнения: 33
Регистриран на: 01 Авг 2017, 12:32
Местоположение: Варна

OciXCrom's Custom Shop + API

Мнение от Darky » 22 Окт 2017, 20:40

Благодаря LoShIaA и аз се бях сетил каде ми е грешката но явно съм те изпреварил с поста :)

Добавено преди 8 минути 15 секунди:
А може ли да се направи за Deagle и AWP едното да има 2 патрона а 2рото да има 1 а палнителите да са 0 а когато се опита да го вземе отново да му пише че вече има такова оръжие OcixCrom ми беше дал такъв плъгин sub-plugin кадето се слага в cshop-plugins.ini обаче там разликата е че Deagle e с 0 пълнитела и има 10 патрона и AWP сащото 2те функции в 1 плъгин обаче няма за редактиране на патроните а само пълнителите.

Ето кода този който е само с пълнители:

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

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <customshop>
#include <fun>

// Remove or comment this line if you don't want to remove the previous weapon.
#define STRIP_WEAPONS

#if defined STRIP_WEAPONS
	#include <stripweapons>
#else
enum
{
	Grenades = 0,
	Primary,
	Secondary
}
#endif

#define PLUGIN_VERSION "4.x"

enum _:Weapons
{
	eName[32],
	eItemName[32],
	eCSWName,
	ePrice,
	eAmmo,
	eType
}

new g_eWeapons[][Weapons] =
{
	{ "Deagle", 		"weapon_deagle", 		CSW_DEAGLE, 		650, 	0, 	Secondary 	},
	{ "AWP", 			"weapon_awp", 			CSW_AWP, 			4750, 	0,  	Primary		}
}

additem ITEM_DEFAULT_WEAPON[32]

public plugin_init()
{
	register_plugin("CSHOP: Default Weapons", PLUGIN_VERSION, "OciXCrom")
	
	new szPrefix[32]
	cshop_get_prefix(szPrefix, charsmax(szPrefix))
	CC_SetPrefix(szPrefix)
}

public plugin_precache()
{
	for(new i; i < sizeof(g_eWeapons); i++)
		ITEM_DEFAULT_WEAPON[i] = cshop_register_item(g_eWeapons[i][eItemName], g_eWeapons[i][eName], g_eWeapons[i][ePrice])
}

public cshop_item_selected(id, iItem)
{
	for(new i; i < sizeof(g_eWeapons); i++)
	{
		if(iItem == ITEM_DEFAULT_WEAPON[i])
		{
			if(user_has_weapon(id, g_eWeapons[i][eCSWName]))
			{
				CC_SendMessage(id, "You already have this weapon!")
				cshop_error_sound(id)
				return DONT_BUY
			}
			
			#if defined STRIP_WEAPONS
			if(g_eWeapons[i][eType] != Grenades)
				StripWeapons(id, g_eWeapons[i][eType])
			#endif
			
			give_item(id, g_eWeapons[i][eItemName])
			cs_set_user_bpammo(id, g_eWeapons[i][eCSWName], g_eWeapons[i][eAmmo])
			engclient_cmd(id, g_eWeapons[i][eItemName])
			break
		}
	}
	
	return BUY_ITEM
}
А ето го и този който ми трябва обаче да пише "You already have this weapon!" като горния плъгин.
За Deagle:

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

#include <amxmodx>
#include <cstrike>
#include <customshop>
#include <engine>
#include <fun>

additem ITEM_DEAGLE_ONE

public plugin_init()
    register_plugin("Custom Shop Addon: Deagle 2 Bullet", "1.0", "OciXCrom @ amxx-bg.info/forum")

public plugin_precache()
    ITEM_DEAGLE_ONE = cshop_register_item("deagleonebullet", "Deagle (2 bullet)", 6000)
    
public cshop_item_selected(id, iItem)
{
    if(iItem == ITEM_DEAGLE_ONE)
    {
        give_item(id, "weapon_deagle")
        cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_deagle", id), 2)
        cs_set_user_bpammo(id, CSW_DEAGLE, 0)
    }
} 
За AWP:

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

#include <amxmodx>
#include <cstrike>
#include <customshop>
#include <engine>
#include <fun>

additem ITEM_AWP_ONE

public plugin_init()
    register_plugin("Custom Shop Addon: AWP 1 Bullet", "1.0", "OciXCrom @ amxx-bg.info/forum")

public plugin_precache()
    ITEM_AWP_ONE = cshop_register_item("awponebullet", "AWP (1 bullet)", 6000)
    
public cshop_item_selected(id, iItem)
{
    if(iItem == ITEM_AWP_ONE)
    {
        give_item(id, "weapon_awp")
        cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_awp", id), 1)
        cs_set_user_bpammo(id, CSW_AWP, 0)
    }
}
Добавено преди 2 часа 55 минути 46 секунди:
И последен въпрос тоз DHUD кадето е за пари може ли да се редактира и за points сварзан сас customshop-a.

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

#include <amxmodx>
#include <cstrike>

// Винаги ползвайте тази проверка, тъй като в AMXX 1.8.3, dhudmessage е вграден в самия AMX.
#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define PLUGIN_NAME "DHUD Bar"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OciXCrom"

// Произволно число за задачата, която ще изпълнява функцията.
#define TASK_MESSAGE 398822

public plugin_init()
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)

public client_putinserver(id)
{
    // Задаваме задача (task), която ще се изпълнява функцията displayMessage(id) през 1 секунда.
    // Добавяме произволна стойност на id, с цел да предотвратим неумишлено премахване на задачата от някоя друга функция или плъгин.
    set_task(1.0, "displayMessage", id + TASK_MESSAGE, _, _, "b")
}

public client_disconnect(id)
{
    // Премахваме задачата когато играчът напусне сървъра.
    new iTask = id + TASK_MESSAGE
    
    if(task_exists(iTask))
        remove_task(iTask)
}

public displayMessage(id)
{
    // Намираме id чрез изваждане на произволното число от него. 
    id -= TASK_MESSAGE
    
    // Ако играчът е мъртъв, искаме съобщението да не се показва.
    if(!is_user_alive(id))
        return
    
    // Задаваме стойностите на съобщението.
    set_dhudmessage(255, 150, 0, -1.0, 0.8, 0, 0.1, 1.0, 0.1, 0.1)
    
    // Изпращаме съобщението до играча.
    show_dhudmessage(id, "< Kruv: %i | Bronq: %i | Pari: %i$ >", get_user_health(id), get_user_armor(id), cs_get_user_money(id))
}
Вместо Пари да пише Points и да показва точките от customshop-a на hud-a.

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

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

Кой е на линия

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