Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Fix colorchat in Item Shop

Статус пользователя Infamous2017
сообщение 23.3.2021, 9:03
Сообщение #1
Стаж: 7 лет 6 месяцев

Сообщений: 140
Благодарностей: 4
Полезность: 31

Код:
#include <amxmodx>
#include <cstrike>
#include <customshop>
#include <fun>
#include <hamsandwich>

#define PLUGIN_VERSION "3.X"
#define m_pActiveItem 373

/*
* This plugin contains all the default items Custom Shop has to offer.
* I don't suggest making any changes here, since they will be gone in future updates.
* If you want to change something, use the in-game menu editor or the CustomShopItems.ini file.
*/

additem ITEM_HEALTH
#define HEALTH_ID "health"
#define HEALTH_NAME "+50 Health Points"
#define HEALTH_PRICE 1500
#define HEALTH_LIMIT 1
#define HEALTH_AMOUNT 50
#define HEALTH_SOUND "items/smallmedkit1.wav"

additem ITEM_ARMOR
#define ARMOR_ID "armor"
#define ARMOR_NAME "+100 Armor Points"
#define ARMOR_PRICE 1000
#define ARMOR_LIMIT 1
#define ARMOR_AMOUNT 100
#define ARMOR_SOUND "items/ammopickup2.wav"

additem ITEM_UNLCLIP
#define UNLCLIP_ID "unlclip"
#define UNLCLIP_NAME "Unlimited Clip"
#define UNLCLIP_PRICE 3000
#define UNLCLIP_LIMIT 3
#define UNLCLIP_BPAMMO 97280
new const UNLCLIP_BADWEAPONS[] = { CSW_KNIFE, CSW_C4, CSW_HEGRENADE, CSW_FLASHBANG, CSW_SMOKEGRENADE }

additem ITEM_UNLAMMO
#define UNLAMMO_ID "unlammo"
#define UNLAMMO_NAME "Unlimited Ammo"
#define UNLAMMO_PRICE 200
#define UNLAMMO_LIMIT 5
#define UNLAMMO_BPAMMO 99999
new const UNLAMMO_BADWEAPONS[] = { CSW_KNIFE, CSW_C4, CSW_HEGRENADE, CSW_FLASHBANG, CSW_SMOKEGRENADE }

additem ITEM_BOMBER
#define BOMBER_ID "bomber"
#define BOMBER_NAME "Bomber"
#define BOMBER_PRICE 1600
#define BOMBER_LIMIT 3
#define BOMBER_AMOUNT 20
#define BOMBER_SOUND "x/x_pain2.wav"

additem ITEM_SILENTSTEPS
#define SILENTSTEPS_ID "silentsteps"
#define SILENTSTEPS_NAME "Silent Footsteps"
#define SILENTSTEPS_PRICE 2000
#define SILENTSTEPS_LIMIT 1

additem ITEM_SPEED
#define SPEED_ID "speed"
#define SPEED_NAME "Faster Speed"
#define SPEED_PRICE 7000
#define SPEED_LIMIT 1
#define SPEED_AMOUNT 300.0
#define SPEED_SOUND "misc/bipbip.wav"
new bool:g_blSpeed[33]

additem ITEM_GRAVITY
#define GRAVITY_ID "gravity"
#define GRAVITY_NAME "Low Gravity"
#define GRAVITY_PRICE 10000
#define GRAVITY_LIMIT 1
#define GRAVITY_AMOUNT 0.5

additem ITEM_CHAMELEON
#define CHAMELEON_ID "chameleon"
#define CHAMELEON_NAME "Chameleon"
#define CHAMELEON_PRICE 9000
#define CHAMELEON_LIMIT 1
new const CHAMELEON_MODELS[][][] = { { "gign", "gsg9", "sas", "urban" }, { "arctic", "guerilla", "leet", "terror" } }

additem ITEM_DRUGS
#define DRUGS_ID "drugs"
#define DRUGS_NAME "Drugs (Speed + Health)"
#define DRUGS_PRICE 8000
#define DRUGS_LIMIT 2
#define DRUGS_HEALTH 200
#define DRUGS_SPEED 300.0
#define DRUGS_FOV 180
new bool:g_blDrugs[33]

additem ITEM_TRANSPARENCY
#define TRANSPARENCY_ID "transparency"
#define TRANSPARENCY_NAME "Transparency"
#define TRANSPARENCY_PRICE 2500
#define TRANSPARENCY_LIMIT 1
#define TRANSPARENCY_AMOUNT 75

additem ITEM_INVIS
#define INVIS_ID "invis"
#define INVIS_NAME "Invisibility \r(\y69 Seconds\r)"
#define INVIS_PRICE 16000
#define INVIS_LIMIT 1
#define INVIS_SOUND "hornet/ag_buzz1.wav"
#define INVIS_TIME 69.0
#define INVIS_AMOUNT 0

additem ITEM_DOUBLEDAMAGE
#define DOUBLEDAMAGE_ID "doubledamage"
#define DOUBLEDAMAGE_NAME "Double Damage"
#define DOUBLEDAMAGE_PRICE 10000
#define DOUBLEDAMAGE_LIMIT 1
#define DOUBLEDAMAGE_AMOUNT 2
new bool:g_blDoubleDamage[33]

additem ITEM_GODMODE
#define GODMODE_ID "godmode"
#define GODMODE_NAME "Godmode \r(\y5 Seconds\r)"
#define GODMODE_PRICE 16000
#define GODMODE_LIMIT 1
#define GODMODE_SOUND "misc/stinger12.wav"
#define GODMODE_TIME 5.0

additem ITEM_HEALTHREGEN
#define HEALTHREGEN_ID "healthregen"
#define HEALTHREGEN_NAME "Health Regeneration"
#define HEALTHREGEN_PRICE 1800
#define HEALTHREGEN_LIMIT 1
#define HEALTHREGEN_SOUND "items/suitchargeok1.wav"
#define HEALTHREGEN_FREQ 0.5
#define HEALTHREGEN_PERSEC 1
#define HEALTHREGEN_MAX 150
#define HEALTHREGEN_TASK 400040
new bool:g_blHealthRegen[33]

additem ITEM_ARMORREGEN
#define ARMORREGEN_ID "armorregen"
#define ARMORREGEN_NAME "Armor Regeneration"
#define ARMORREGEN_PRICE 2000
#define ARMORREGEN_LIMIT 1
#define ARMORREGEN_SOUND "items/suitchargeok1.wav"
#define ARMORREGEN_FREQ 0.5
#define ARMORREGEN_PERSEC 10
#define ARMORREGEN_MAX 150
#define ARMORREGEN_TASK 400140
new bool:g_blArmorRegen[33]

additem ITEM_AWP
#define AWP_ID "awp"
#define AWP_NAME "AWP Sniper"
#define AWP_PRICE 4750
#define AWP_LIMIT 1
#define AWP_BPAMMO 30

new g_iSetFOV

public plugin_init()
{
register_plugin("Custom Shop: Default Items", PLUGIN_VERSION, "OciXCrom")
register_dictionary("CustomShop.txt")
register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
RegisterHam(Ham_TakeDamage, "player", "OnTakeDamage")
g_iSetFOV = get_user_msgid("SetFOV")
}

public plugin_precache()
{
/*
* You can rearange the items from this section.
*/

ITEM_HEALTH = cshopRegisterItem(HEALTH_ID, HEALTH_NAME, HEALTH_PRICE, HEALTH_LIMIT, HEALTH_SOUND)
ITEM_ARMOR = cshopRegisterItem(ARMOR_ID, ARMOR_NAME, ARMOR_PRICE, ARMOR_LIMIT, ARMOR_SOUND)
//ITEM_BOMBER = cshopRegisterItem(BOMBER_ID, BOMBER_NAME, BOMBER_PRICE, BOMBER_LIMIT, BOMBER_SOUND)
//ITEM_UNLCLIP = cshopRegisterItem(UNLCLIP_ID, UNLCLIP_NAME, UNLCLIP_PRICE, UNLCLIP_LIMIT)
//ITEM_UNLAMMO = cshopRegisterItem(UNLAMMO_ID, UNLAMMO_NAME, UNLAMMO_PRICE, UNLAMMO_LIMIT)
//ITEM_SILENTSTEPS = cshopRegisterItem(SILENTSTEPS_ID, SILENTSTEPS_NAME, SILENTSTEPS_PRICE, SILENTSTEPS_LIMIT)
ITEM_SPEED = cshopRegisterItem(SPEED_ID, SPEED_NAME, SPEED_PRICE, SPEED_LIMIT, SPEED_SOUND)
ITEM_GRAVITY = cshopRegisterItem(GRAVITY_ID, GRAVITY_NAME, GRAVITY_PRICE, GRAVITY_LIMIT, .team = 2)
//ITEM_CHAMELEON = cshopRegisterItem(CHAMELEON_ID, CHAMELEON_NAME, CHAMELEON_PRICE, CHAMELEON_LIMIT)
//ITEM_DRUGS = cshopRegisterItem(DRUGS_ID, DRUGS_NAME, DRUGS_PRICE, DRUGS_LIMIT)
//ITEM_TRANSPARENCY = cshopRegisterItem(TRANSPARENCY_ID, TRANSPARENCY_NAME, TRANSPARENCY_PRICE, TRANSPARENCY_LIMIT)
ITEM_INVIS = cshopRegisterItem(INVIS_ID, INVIS_NAME, INVIS_PRICE, INVIS_LIMIT, INVIS_SOUND, INVIS_TIME, .team = 1)
//ITEM_DOUBLEDAMAGE = cshopRegisterItem(DOUBLEDAMAGE_ID, DOUBLEDAMAGE_NAME, DOUBLEDAMAGE_PRICE, DOUBLEDAMAGE_LIMIT)
ITEM_GODMODE = cshopRegisterItem(GODMODE_ID, GODMODE_NAME, GODMODE_PRICE, GODMODE_LIMIT, GODMODE_SOUND, GODMODE_TIME, .team = 2)
//ITEM_HEALTHREGEN = cshopRegisterItem(HEALTHREGEN_ID, HEALTHREGEN_NAME, HEALTHREGEN_PRICE, HEALTHREGEN_LIMIT, HEALTHREGEN_SOUND)
//ITEM_ARMORREGEN = cshopRegisterItem(ARMORREGEN_ID, ARMORREGEN_NAME, ARMORREGEN_PRICE, ARMORREGEN_LIMIT, ARMORREGEN_SOUND)
//ITEM_AWP = cshopRegisterItem(AWP_ID, AWP_NAME, AWP_PRICE, AWP_LIMIT)
}

public cshop_item_selected(id, iItem)
{
if(iItem == ITEM_HEALTH) { set_user_health(id, get_user_health(id) + HEALTH_AMOUNT); }
else if(iItem == ITEM_ARMOR) { set_user_armor(id, get_user_armor(id) + ARMOR_AMOUNT); }
else if(iItem == ITEM_BOMBER) { give_item(id, "weapon_hegrenade"); cs_set_user_bpammo(id, CSW_HEGRENADE, cs_get_user_bpammo(id, CSW_HEGRENADE) + BOMBER_AMOUNT); }
else if(iItem == ITEM_UNLCLIP)
{
static iWeapon, i
iWeapon = get_user_weapon(id)

for(i = 0; i < sizeof(UNLCLIP_BADWEAPONS); i++)
{
if(iWeapon == UNLCLIP_BADWEAPONS[i])
{
ColorChat(id, "%L", id, "CSHOP_CANT_ACTIVATE", UNLCLIP_NAME)
cshop_error_sound(id)
return DONT_BUY
}
}

cs_set_weapon_ammo(get_pdata_cbase(id, m_pActiveItem), UNLCLIP_BPAMMO)
cs_set_user_bpammo(id, iWeapon, 0)
}
else if(iItem == ITEM_UNLAMMO)
{
static iWeapon, i
iWeapon = get_user_weapon(id)

for(i = 0; i < sizeof(UNLAMMO_BADWEAPONS); i++)
{
if(iWeapon == UNLAMMO_BADWEAPONS[i])
{
ColorChat(id, "%L", id, "CSHOP_CANT_ACTIVATE", UNLAMMO_NAME)
cshop_error_sound(id)
return DONT_BUY
}
}

cs_set_user_bpammo(id, iWeapon, UNLAMMO_BPAMMO)
}
else if(iItem == ITEM_SILENTSTEPS) { set_user_footsteps(id); }
else if(iItem == ITEM_SPEED) { g_blSpeed[id] = true; set_user_maxspeed(id, SPEED_AMOUNT); }
else if(iItem == ITEM_GRAVITY) { set_user_gravity(id, GRAVITY_AMOUNT); }
else if(iItem == ITEM_CHAMELEON) { cs_set_user_model(id, CHAMELEON_MODELS[(get_user_team(id) - 1)][random(4)]); }
else if(iItem == ITEM_DRUGS) { g_blDrugs[id] = true; set_user_health(id, get_user_health(id) + DRUGS_HEALTH); set_user_maxspeed(id, DRUGS_SPEED); set_user_drugs(id, DRUGS_FOV); }
else if(iItem == ITEM_TRANSPARENCY) { set_user_glow(id, .iAlpha = TRANSPARENCY_AMOUNT); }
else if(iItem == ITEM_INVIS) { set_user_glow(id, .iAlpha = INVIS_AMOUNT); }
else if(iItem == ITEM_DOUBLEDAMAGE) { g_blDoubleDamage[id] = true; }
else if(iItem == ITEM_GODMODE) { set_user_godmode(id, 1); }
else if(iItem == ITEM_HEALTHREGEN) { g_blHealthRegen[id] = true; set_task(HEALTHREGEN_FREQ, "healthRegen", id + HEALTHREGEN_TASK, .flags = "b"); }
else if(iItem == ITEM_ARMORREGEN) { g_blArmorRegen[id] = true; set_task(ARMORREGEN_FREQ, "armorRegen", id + ARMORREGEN_TASK, .flags = "b"); }
else if(iItem == ITEM_AWP) { give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, AWP_BPAMMO); }

return BUY_ITEM
}

public cshop_item_removed(id, iItem)
{
if(!is_user_alive(id))
return

if(iItem == ITEM_SILENTSTEPS) { set_user_footsteps(id, 0); }
else if(iItem == ITEM_SPEED) { g_blSpeed[id] = false; OnChangeWeapon(id); }
else if(iItem == ITEM_GRAVITY) { set_user_gravity(id); }
else if(iItem == ITEM_CHAMELEON) { cs_reset_user_model(id); }
else if(iItem == ITEM_DRUGS) { g_blDrugs[id] = false; OnChangeWeapon(id); }
else if(iItem == ITEM_INVIS) { remove_user_glow(id); }
else if(iItem == ITEM_DOUBLEDAMAGE) { g_blDoubleDamage[id] = false; }
else if(iItem == ITEM_GODMODE) { set_user_godmode(id); }
else if(iItem == ITEM_HEALTHREGEN) { g_blHealthRegen[id] = false; }
else if(iItem == ITEM_ARMORREGEN) { g_blArmorRegen[id] = false; }
}

public OnChangeWeapon(id)
{
if(g_blDrugs[id])
set_user_maxspeed(id, DRUGS_SPEED)
else if(g_blSpeed[id])
set_user_maxspeed(id, SPEED_AMOUNT)
}

public OnTakeDamage(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
if(is_user_alive(iAttacker) && iAttacker != iVictim)
{
if(g_blDoubleDamage[iAttacker])
SetHamParamFloat(4, flDamage * DOUBLEDAMAGE_AMOUNT)
}
}

public healthRegen(id)
{
id -= HEALTHREGEN_TASK

if(!is_user_alive(id) || !g_blHealthRegen[id])
{
remove_task(id + HEALTHREGEN_TASK)
return
}

static iHealth
iHealth = get_user_health(id)

if(iHealth == HEALTHREGEN_MAX)
return

set_user_health(id, clamp(iHealth + HEALTHREGEN_PERSEC, .max = HEALTHREGEN_MAX))
}

public armorRegen(id)
{
id -= ARMORREGEN_TASK

if(!is_user_alive(id) || !g_blArmorRegen[id])
{
remove_task(id + ARMORREGEN_TASK)
return
}

static iArmor
iArmor = get_user_armor(id)

if(iArmor == ARMORREGEN_MAX)
return

set_user_armor(id, clamp(iArmor + ARMORREGEN_PERSEC, .max = ARMORREGEN_MAX))
}

set_user_glow(id, iRed = 0, iGreen = 0, iBlue = 0, iAlpha)
set_user_rendering(id, kRenderFxGlowShell, iRed, iGreen, iBlue, kRenderTransAlpha, iAlpha)

remove_user_glow(id)
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)

set_user_drugs(id, iAmount)
{
message_begin(MSG_ONE, g_iSetFOV, {0, 0, 0}, id)
write_byte(iAmount)
message_end()
}


AMX Mod X Compiler 1.8.3-dev+5154
Copyright © 1997-2006 ITB CompuPhase
Copyright © 2004-2013 AMX Mod X Team

Error: Undefined symbol "ColorChat" on line 208
Error: Undefined symbol "ColorChat" on line 226

2 Errors.
Could not locate output file D:\Deathrun\nochmal neue plugins\cshop_items.amx (compile failed).


After this i added

#include <colorchat>

-->>>

and removed

cshop_error_sound(id) (an user told me this)

--->

Error: Argument type mismatch (argument 2) on line 209
Error: Argument type mismatch (argument 2) on line 226


Please help me :(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя dehost
сообщение 23.3.2021, 11:26
Сообщение #2


Стаж: 11 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Infamous2017, ColorChat > client_print_color


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: