Ammo Shop with gunxpmod

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Ammo Shop with gunxpmod

Мнение от Infamous2018 » 08 Юли 2020, 20:22

Hello, can anyone create an small colored Shop for exchange XP to get Full Ammo for one Round? That you can only use it 1 times in 1 Round. Only for CT Players.

COmmand should be only:

/ammo

Like:

Shopname: Ammo XP Shop

1000 XP = 500 Ammo
2000 XP = 1000 Ammo
3000 XP = 2000 Ammo

These are the natives.

I dont know what i have to use from them.

[~ Natives ~]

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

 // Forward
public OnPowersLoaded(id, condition)
	PowersLoaded[id] = condition
// Native send_unlocks_list
public native_send_unlocks_list(id, list[])
{
	param_convert(2)
	format(UnlocksList[id], 2047, "^n%s", list);
}
// Native: gxm_add_bonus
public native_add_bonus(id, xp, message[])
{
	param_convert(3)
	set_hudmessage(0, 40, 255, 0.50, 0.33, 1, 2.0, 2.0)
	show_hudmessage(id, "+%i %s", xp, message)
	PlayerXp[id] += xp;
	check_level(id)
}
// Native: kill bonus xp and text
public native_add_text(id, xp, kill_message[])
{
	param_convert(3)
	format(KillString[id], 2047, "%s^n+%i %s",KillString[id], xp, kill_message);
	PlayerXp[id] += xp;
	check_level(id)
}
// Native: damage bonus xp and text
public native_add_damage_text(id, xp, kill_message[])
{
	param_convert(3)
	format(DamageString[id], 2047, "%s^n+%i %s",DamageString[id], xp, kill_message);
	PlayerXp[id] += xp;
}
// Native xp enabled
public native_xp_enabled(id, bool:enabled)
{
	XP_Enabled[id] = enabled;
}
// Native: get_user_prestige
public native_get_psw(id, psw[])
{
	param_convert(2) 
	return formatex(psw, 255, "%s", Password[id]) 
}
public native_set_psw(id, psw[])
{
	param_convert(2)
	formatex(Password[id], 255, "%s", psw)
}
// Native: get_xp_loaded
public native_get_xp_loaded(id)
{
	if(PowersLoaded[id] == 0)
		return false;
	return Loaded[id];
	
}
// Native set_xp_loaded
public native_set_xp_loaded(id, bool:set)
	Loaded[id] = set
// Native: check_level_native
public native_check_level_native(id)
{
	check_level(id)
}
// Native: get_user_save_type
public native_get_user_save_type(id)
{
	return g_save_type[id];
}
// Native: set_user_save_type
public native_set_user_save_type(id, amount)
{
	if(amount == 3)
	amount = get_pcvar_num(savexp)
	g_save_type[id] = amount
	PlayerXp[id] = 0
	PlayerPrestige[id] = 0
	PlayerLevel[id] = 0
	LoadLevel(id)
}
// Native: get_user_prestige
public native_get_user_prestige(id)
{
	return PlayerPrestige[id];
}
// Native: get_user_xp
public native_get_user_xp(id)
{
	return PlayerXp[id];
}
// Native: set_user_prestige
public native_set_user_prestige(id, amount)
{
	PlayerPrestige[id] = amount;
	SaveLevel(id)
}
// Native: set_user_xp
public native_set_user_xp(id, amount)
{
	PlayerXp[id] = amount;
	check_level(id)
}
// Native: get_user_level
public native_get_user_level(id)
{
	return PlayerLevel[id];
}
// Native: set_user_xp
public native_set_user_level(id, amount)
{
	PlayerLevel[id] = amount;
}
// Native: Gets user level by Xp
public native_get_user_max_level(id)
{
	return LEVELS[PlayerLevel[id]];
}

Аватар
Tornado_SW
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 159
Регистриран на: 04 Фев 2020, 22:41
Се отблагодари: 28 пъти
Получена благодарност: 76 пъти
Обратна връзка:

Ammo Shop with gunxpmod

Мнение от Tornado_SW » 09 Юли 2020, 00:55

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

#include <amxmodx>
#include <hamsandwich>
#include <gunxpmod>
#include <zombieplague>

new g_iLimit[33], g_iAmmo[33]

enum _:Amount
{
	XP,
	Ammo
}

new g_eShop[][Amount] =
{
	{ 1000, 500 },
	{ 2000, 1000 },
	{ 3000, 2000 }
}

public plugin_init()
{
	register_plugin("Ammo XP Shop", "1.0", "Tornado_SW")
	RegisterHam(Ham_Spawn, "player", "hamPlayerSpawn", 1)
	register_clcmd("say /ammo", "cmdAmmoShop")
	register_clcmd("say_team /ammo", "cmdAmmoShop")
}

public hamPlayerSpawn(id)
{
	if(!is_user_alive(id))
	{
		return
	}
	
	zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - g_iAmmo[id])
	g_iAmmo[id] = 0
	g_iLimit[id] = 0
}

public cmdAmmoShop(id)
{
	if(!is_user_alive(id))
	{
		return
	}
	
	if(get_user_team(id) != 2)
	{
		client_print_color(id, print_team_default, "^4[AmmoXP Shop] ^1This shop is only available for ^3CTs^1.")
		return
	}
	
	if(g_iLimit[id])
	{
		client_print_color(id, print_team_default, "^4[AmmoXP Shop] ^1You can use the shop only ^3once^1.")
		return
	}
	
	static iMenu
	iMenu = menu_create("\rAmmo XP Shop", "handlerAmmoShop")
	
	for(new szItem[64], i; i < sizeof(g_eShop); i++)
	{
		formatex(szItem, charsmax(szItem), "\y%d \wXP \r= \y%d \wAmmo", g_eShop[i][XP], g_eShop[i][Ammo])
		menu_additem(iMenu, szItem, .callback = menu_makecallback("callbackAmmoShop"))
	}
	
	menu_display(id, iMenu)
}

public callbackAmmoShop(id, iMenu, iItem)
{
	return get_user_xp(id) < g_eShop[iItem][XP] ? ITEM_DISABLED : ITEM_ENABLED
}

public handlerAmmoShop(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		menu_destroy(iMenu)
		return PLUGIN_HANDLED
	}
	
	set_user_xp(id, get_user_xp(id) - g_eShop[iItem][XP])
	zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + g_eShop[iItem][Ammo])
	g_iAmmo[id] = g_eShop[iItem][Ammo]
	g_iLimit[id]++
	
	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Not tested.

Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Ammo Shop with gunxpmod

Мнение от Infamous2018 » 09 Юли 2020, 10:49

i dont use zombie plague modus. I am running an Swarm Mod with Gunxpmod xD Is this an problem to use it? And Ammo Packs ???????????? Maybe the request is not clear enough.

When you shoot all bulls as example with upgraded gun AWP CAMO, and the ammunition is empty then you can buy ammunition (Ammo) via the ammoshop to replenish it.

Аватар
Tornado_SW
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 159
Регистриран на: 04 Фев 2020, 22:41
Се отблагодари: 28 пъти
Получена благодарност: 76 пъти
Обратна връзка:

Ammo Shop with gunxpmod

Мнение от Tornado_SW » 09 Юли 2020, 12:05

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

#include <amxmodx>
#include <hamsandwich>
#include <gunxpmod>
#include <cstrike>
#include <engine>

new g_iLimit[33]

enum _:Amount
{
	XP,
	Ammo
}

new g_eShop[][Amount] =
{
	{ 1000, 500 },
	{ 2000, 1000 },
	{ 3000, 2000 }
}

public plugin_init()
{
	register_plugin("Ammo XP Shop", "1.0", "Tornado_SW")
	RegisterHam(Ham_Spawn, "player", "hamPlayerSpawn", 1)
	register_clcmd("say /ammo", "cmdAmmoShop")
	register_clcmd("say_team /ammo", "cmdAmmoShop")
}

public hamPlayerSpawn(id)
{
	if(!is_user_alive(id))
	{
		return
	}
	
	g_iLimit[id] = 0
}

public cmdAmmoShop(id)
{
	if(!is_user_alive(id))
	{
		return
	}
	
	if(get_user_team(id) != 2)
	{
		client_print_color(id, print_team_default, "^4[AmmoXP Shop] ^1This shop is only available for ^3CTs^1.")
		return
	}
	
	if(g_iLimit[id])
	{
		client_print_color(id, print_team_default, "^4[AmmoXP Shop] ^1You can use the shop only ^3once^1.")
		return
	}
	
	static iMenu
	iMenu = menu_create("\rAmmo XP Shop", "handlerAmmoShop")
	
	for(new szItem[64], i; i < sizeof(g_eShop); i++)
	{
		formatex(szItem, charsmax(szItem), "\y%d \wXP \r= \y%d \wAmmo", g_eShop[i][XP], g_eShop[i][Ammo])
		menu_additem(iMenu, szItem), .callback = menu_makecallback("callbackAmmoShop"))
	}
	
	menu_display(id, iMenu)
}

public callbackAmmoShop(id, iMenu, iItem)
{
	return get_user_xp(id) < g_eShop[iItem][XP] ? ITEM_DISABLED : ITEM_ENABLED
}

public handlerAmmoShop(id, iMenu, iItem)
{
	if(iItem == MENU_EXIT)
	{
		menu_destroy(iMenu)
		return PLUGIN_HANDLED
	}
	
	new szWeapon[20]
	get_weaponname(get_user_weapon(id), szWeapon, charsmax(szWeapon))
	cs_set_weapon_ammo(find_ent_by_owner(-1, szWeapon, id), g_eShop[iItem][Ammo])
	set_user_xp(id, get_user_xp(id) - g_eShop[iItem][XP])
	g_iLimit[id]++
	
	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
My bad.

Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Ammo Shop with gunxpmod

Мнение от Infamous2018 » 09 Юли 2020, 12:16

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

Error: Invalid expression, assumed zero on line 65
Error: Undefined symbol "callback" on line 65
Error: Expected token: ";", but found ")" on line 65
Error: Too many error messages on one line on line 65

Compilation aborted.
4 Errors.
Could not locate output file D:\Amxmodx\AMX Mod X\amxxstudio\Untitled.amx (compile failed).

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

Ammo Shop with gunxpmod

Мнение от atmax » 09 Юли 2020, 12:21

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

menu_additem(iMenu, szItem), .callback = menu_makecallback("callbackAmmoShop"))
-->

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

menu_additem(iMenu, szItem, .callback = menu_makecallback("callbackAmmoShop"))
Rest in peace my friend I always will remember you! 🖤👊

Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Ammo Shop with gunxpmod

Мнение от Infamous2018 » 09 Юли 2020, 12:55

Ops it works but wtf when i use 500 Ammo i dont have reload the gun ?????? i can shoot 500 bullets then without reload xD thats really bad. Possible to change this anyway?

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

Ammo Shop with gunxpmod

Мнение от atmax » 09 Юли 2020, 13:06

Maybe instead of using cs_set_weapon_ammo you can replace it with this:

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

cs_set_user_bpammo(id, szWeapon, g_eShop[iItem][Ammo])
but then it will replace players ammo with theese from the shop :pepo_think:
Rest in peace my friend I always will remember you! 🖤👊

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

Ammo Shop with gunxpmod

Мнение от OciXCrom » 09 Юли 2020, 13:57

Pretty sure it's not 500 bullets. The HUD doesn't display the full number sometimes. The plugin doesn't have a code that prevents the weapon from reloading. It just sets the ammo when you purchase the item.

Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Ammo Shop with gunxpmod

Мнение от Infamous2018 » 09 Юли 2020, 18:13

look here my video. I mean i have this Problem about Bullets Reloading Ammunition.

https://www.youtube.com/watch?v=eIX-EXK ... e=youtu.be

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

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

Кой е на линия

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