[POMOC] Ako scriptovať v jazyku Pawn?

Veškeré návody, pluginy, atd.. ohledně Counter-Strike 1.6.
Odpovědět
RayCodeCSC
Příspěvky: 23
Registrován: 11 črc 2019 23:52

Re: [POMOC] Ako scriptovať v jazyku Pawn?

Příspěvek od RayCodeCSC » 05 zář 2019 15:09

Tak teda modely fungujú, ale problém je v tom, že model sa mi nastaví (po stlačení tlačítka) až na druhé kolo, a ja chcem, aby sa nastavilo hneď, a na nové kolo sa zasa nastavili "ruky" napr. Zatiaľ som teda zrejme vyriešil problém s rukamy, takže hráč vždy na nové kolo dostane "ruky". Ale s tím "aktualizovaním" knifu som to ešte nevyriešil. Napadlo ma použiť strip_user_weapons(id), ale nemám to ešte odskúšané.

Každopádne ku novému problému: Keď som nastavil, aby hráč každé nové kolo čo sa spawne mal "ruky" (model som stiahol a pridal na Server), tak po pripojení na Server sa mi nezobrazia žiadne ruky (resp, žiadny knife), takže vidím len Crosshair a HUD, ruky vôbec nevidím. Osobne si myslím, že script mám napísaní správne (žiadne errory, len 4 warny) môžete mi script skontrolovať a prípadne upraviť?

Script:

Kód: Vybrat vše

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

new SetModelMoto[33]
new SetModelMachete[33]
new SetModelHand[33]

new isDamaged_model_Hand[33]
new isDamaged_model_Moto[33]
new isDamaged_model_Machete[33]

new MotoValueDamage = 9999999
new MacheteValueDamage = 60
new HandValueDamage = 12

new const p_ModelMotor[] = "models/shopper/motorovka/motorovka.mdl"
new const v_ModelMotor2[] = "models/shopper/motorovka/motorovka2.mdl"

new const p_ModelMachete[] = "models/shopper/machete/machete.mdl"
new const v_ModelMachete2[] = "models/shopper/machete/machete2.mdl"

new const p_ModelHand[] = "models/shopper/punos/punos.mdl"
new const v_ModelHand2[] = "models/shopper/punos/punos2.mdl"

public plugin_init()
{
	register_plugin("Shop", "1.0", "RayCodeCSC")

	register_clcmd("say /shopper", "shop_menu")

	register_event("CurWeapon", "new_models", "be", "1=1")

	RegisterHam(Ham_TakeDamage, "player", "isDamaged")
	RegisterHam(Ham_Spawn, "player", "afterSpawn")
}

public plugin_precache()
{
	precache_model(p_ModelMotor)
	precache_model(v_ModelMotor2)

	precache_model(p_ModelMachete)
	precache_model(v_ModelMachete2)

	precache_model(p_ModelHand)
	precache_model(v_ModelHand2)
}

public afterSpawn(id)
{
	give_item(id, "weapon_knife")
	SetModelHand[id] = 1
	SetModelMoto[id] = 0
	SetModelMachete[id] = 0

	isDamaged_model_Hand[id] = 1
	isDamaged_model_Machete[id] = 0
	isDamaged_model_Moto[id] = 0
}

public shop_menu(id)
{
	new menu = menu_create("Vyber si z menu:", "shop_menu_selection")

	menu_additem(menu, "Maceta")
	menu_additem(menu, "Motorova pila")

	menu_display(id, menu)
}

public shop_menu_selection(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	switch(item)
	{
		case 0:
		{
			give_item(id, "weapon_knife")
			SetModelMachete[id] = 1
			SetModelMoto[id] = 0
			SetModelHand[id] = 0

			isDamaged_model_Hand[id] = 0
			isDamaged_model_Machete[id] = 1
			isDamaged_model_Moto[id] = 0
		}

		case 1:
		{
			give_item(id, "weapon_knife")
			SetModelMoto[id] = 1
			SetModelMachete[id] = 0
			SetModelHand[id] = 0

			isDamaged_model_Hand[id] = 0
			isDamaged_model_Moto[id] = 1
			isDamaged_model_Machete[id] = 0
		}
	}
}

public new_models(id)
{
	new weapid = read_data(2)

	if(weapid == CSW_KNIFE)
	{
		if(SetModelMoto[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMotor)
			set_pev(id, pev_weaponmodel2, v_ModelMotor2)
		}
		else if(SetModelMachete[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMachete)
			set_pev(id, pev_weaponmodel2, v_ModelMachete2)
		}
		else if(SetModelHand[id] == 1)
		{
			set_pev(id, pev_weaponmodel2, p_ModelHand)
			set_pev(id, pev_viewmodel2, v_ModelHand2)
		}
	}
}

public isDamaged(victim, attacker, inflictor, Float:damage, damage_bits, id)
{
	if(get_user_weapon(id) == CSW_KNIFE)
	{
		if(isDamaged_model_Moto[id] == 1)
		{
			SetHamParamFloat(4, MotoValueDamage)
		}
		else if(isDamaged_model_Machete[id] == 1)
		{
			SetHamParamFloat(4, MacheteValueDamage)
		}
		else if(isDamaged_model_Hand[id] == 1)
		{
			SetHamParamFloat(4, HandValueDamage)
		}
	}
}
PS: Javierkov spôsob používať nebudem, pretože sa mi zdá byť dosť zložitý, a nie som zasa nejaký extra super pawne,r ktorí všetko vie :). Takže sa budem držať spôsobu od cruddYeska

Uživatelský avatar
Javierko
Zákaznická podpora
Příspěvky: 57
Registrován: 09 bře 2019 19:24
Bydliště: OnGameFrame()
Kontaktovat uživatele:

Příspěvek od Javierko » 05 zář 2019 15:56

V pohodě, jen jsem vám chtěl ulehčit práci s přidáváním dalších modelů.

Varování "Tag mismatch" dostáváte proto, protože se snažíte vecpat celé číslo do funkce SetHamParamFloat, která podporuje desetinné čísla, atd..

Vaše chyba:

Kód: Vybrat vše

new new MotoValueDamage = 9999999
Oprava

Kód: Vybrat vše

new Float:MotoValueDamage = 9999999.0
Pokud chcete nechat tyto DMG hodnoty v celých číslech, budete muset změnit SetHamParamFloat na SetHamParamInteger.
Pokud se vám nenačítají ruky, tak vám doporučuji zkontrolovat, zda zadáváte správné cesty modelů a zda jsou ruky na server nahrané.

Tady to máte bez varování.

Kód: Vybrat vše

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

new SetModelMoto[33]
new SetModelMachete[33]
new SetModelHand[33]

new isDamaged_model_Hand[33]
new isDamaged_model_Moto[33]
new isDamaged_model_Machete[33]

new MotoValueDamage = 9999999
new MacheteValueDamage = 60
new HandValueDamage = 12

new const p_ModelMotor[] = "models/shopper/motorovka/motorovka.mdl"
new const v_ModelMotor2[] = "models/shopper/motorovka/motorovka2.mdl"

new const p_ModelMachete[] = "models/shopper/machete/machete.mdl"
new const v_ModelMachete2[] = "models/shopper/machete/machete2.mdl"

new const p_ModelHand[] = "models/shopper/punos/punos.mdl"
new const v_ModelHand2[] = "models/shopper/punos/punos2.mdl"

public plugin_init()
{
	register_plugin("Shop", "1.0", "RayCodeCSC")

	register_clcmd("say /shopper", "shop_menu")

	register_event("CurWeapon", "new_models", "be", "1=1")

	RegisterHam(Ham_TakeDamage, "player", "isDamaged")
	RegisterHam(Ham_Spawn, "player", "afterSpawn")
}

public plugin_precache()
{
	precache_model(p_ModelMotor)
	precache_model(v_ModelMotor2)

	precache_model(p_ModelMachete)
	precache_model(v_ModelMachete2)

	precache_model(p_ModelHand)
	precache_model(v_ModelHand2)
}

public afterSpawn(id)
{
	give_item(id, "weapon_knife")
	SetModelHand[id] = 1
	SetModelMoto[id] = 0
	SetModelMachete[id] = 0

	isDamaged_model_Hand[id] = 1
	isDamaged_model_Machete[id] = 0
	isDamaged_model_Moto[id] = 0
}

public shop_menu(id)
{
	new menu = menu_create("Vyber si z menu:", "shop_menu_selection")

	menu_additem(menu, "Maceta")
	menu_additem(menu, "Motorova pila")

	menu_display(id, menu)
}

public shop_menu_selection(id, menu, item)
{
	switch(item)
	{
		case 0:
		{
			give_item(id, "weapon_knife")
			SetModelMachete[id] = 1
			SetModelMoto[id] = 0
			SetModelHand[id] = 0

			isDamaged_model_Hand[id] = 0
			isDamaged_model_Machete[id] = 1
			isDamaged_model_Moto[id] = 0
		}

		case 1:
		{
			give_item(id, "weapon_knife")
			SetModelMoto[id] = 1
			SetModelMachete[id] = 0
			SetModelHand[id] = 0

			isDamaged_model_Hand[id] = 0
			isDamaged_model_Moto[id] = 1
			isDamaged_model_Machete[id] = 0
		}
		case MENU_EXIT:
		{
			menu_destroy(menu)
			
			return PLUGIN_HANDLED
		}
	}
	
	menu_destroy(menu)
	
	return PLUGIN_HANDLED
}

public new_models(id)
{
	new weapid = read_data(2)

	if(weapid == CSW_KNIFE)
	{
		if(SetModelMoto[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMotor)
			set_pev(id, pev_weaponmodel2, v_ModelMotor2)
		}
		else if(SetModelMachete[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMachete)
			set_pev(id, pev_weaponmodel2, v_ModelMachete2)
		}
		else if(SetModelHand[id] == 1)
		{
			set_pev(id, pev_weaponmodel2, p_ModelHand)
			set_pev(id, pev_viewmodel2, v_ModelHand2)
		}
	}
}

public isDamaged(victim, attacker, inflictor, Float:damage, damage_bits, id)
{
	if(get_user_weapon(id) == CSW_KNIFE)
	{
		if(isDamaged_model_Moto[id] == 1)
		{
			SetHamParamInteger(4, MotoValueDamage)
		}
		else if(isDamaged_model_Machete[id] == 1)
		{
			SetHamParamInteger(4, MacheteValueDamage)
		}
		else if(isDamaged_model_Hand[id] == 1)
		{
			SetHamParamInteger(4, HandValueDamage)
		}
	}
}
Pawn, SourcePawn, Web development, MySQL, Lua, ...

YouTube: https://www.youtube.com/c/Javierko21
Twitch: https://twitch.tv/javierko

Projects:
https://steamid.cz
https://hexmania.eu/

RayCodeCSC
Příspěvky: 23
Registrován: 11 črc 2019 23:52

Příspěvek od RayCodeCSC » 05 zář 2019 18:45

Chcem sa vám všetkým moc poďakovať, že ste mi vedeli pomôcť :). Tento problémom som už písal na 6 ďalších fór a nikde mi nevedeli poradiť. Tak ma to naštvalo, a napísal som aj na anglické fóra, a dúfal som, že aspoň Angličania budú vedieť čo s tím. Ale dokonca ani oni nevedeli. Až na koniec ste mi poradili vy dvaja. Chcem sa vám za to moc poďakovať, ste skvelí ľudia :).

Pre tých, koho by zaujímal správny script, tu je:

Kód: Vybrat vše

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

new SetModelMoto[33]
new SetModelMachete[33]
new SetModelHand[33]

new isDamaged_model_Hand[33]
new isDamaged_model_Moto[33]
new isDamaged_model_Machete[33]

new MotoValueDamage = 9999999
new MacheteValueDamage = 60
new HandValueDamage = 12

new const p_ModelMotor[] = "models/shopper/motorovka/motorovka.mdl"
new const v_ModelMotor2[] = "models/shopper/motorovka/motorovka2.mdl"

new const p_ModelMachete[] = "models/shopper/machete/machete.mdl"
new const v_ModelMachete2[] = "models/shopper/machete/machete2.mdl"

new const p_ModelHand[] = "models/shopper/hand/hand.mdl"

public plugin_init()
{
	register_plugin("Shop", "1.0", "RayCodeCSC")

	register_clcmd("say /shopper", "shop_menu")

	register_event("CurWeapon", "new_models", "be", "1=1")

	RegisterHam(Ham_TakeDamage, "player", "isDamaged")
	RegisterHam(Ham_Spawn, "player", "afterSpawn")
}

public plugin_precache()
{
	precache_model(p_ModelMotor)
	precache_model(v_ModelMotor2)

	precache_model(p_ModelMachete)
	precache_model(v_ModelMachete2)

	precache_model(p_ModelHand)
}

public afterSpawn(id)
{
	give_item(id, "weapon_knife")
	SetModelHand[id] = 1
	SetModelMoto[id] = 0
	SetModelMachete[id] = 0

	isDamaged_model_Hand[id] = 1
	isDamaged_model_Machete[id] = 0
	isDamaged_model_Moto[id] = 0
}

public shop_menu(id)
{
	new menu = menu_create("Vyber si z menu:", "shop_menu_selection")

	menu_additem(menu, "Maceta")
	menu_additem(menu, "Motorova pila")

	menu_display(id, menu)
}

public shop_menu_selection(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	switch(item)
	{
		case 0:
		{
			SetModelMachete[id] = 1
			SetModelMoto[id] = 0
			SetModelHand[id] = 0


			isDamaged_model_Hand[id] = 0
			isDamaged_model_Machete[id] = 1
			isDamaged_model_Moto[id] = 0

			strip_user_weapons(id)
			give_item(id, "weapon_knife")
		}

		case 1:
		{
			SetModelMoto[id] = 1
			SetModelMachete[id] = 0
			SetModelHand[id] = 0

			isDamaged_model_Hand[id] = 0
			isDamaged_model_Moto[id] = 1
			isDamaged_model_Machete[id] = 0

			strip_user_weapons(id)
			give_item(id, "weapon_knife")
		}
	}
}

public new_models(id)
{
	new weapid = read_data(2)

	if(weapid == CSW_KNIFE)
	{
		if(SetModelMoto[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMotor)
			set_pev(id, pev_weaponmodel2, v_ModelMotor2)
		}
		else if(SetModelMachete[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelMachete)
			set_pev(id, pev_weaponmodel2, v_ModelMachete2)
		}
		else if(SetModelHand[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelHand)
		}
	}
}

public isDamaged(victim, attacker, inflictor, Float:damage, damage_bits, id)
{
	if(get_user_weapon(id) == CSW_KNIFE)
	{
		if(isDamaged_model_Moto[id] == 1)
		{
			SetHamParamInteger(4, MotoValueDamage)
		}
		else if(isDamaged_model_Machete[id] == 1)
		{
			SetHamParamInteger(4, MacheteValueDamage)
		}
		else if(isDamaged_model_Hand[id] == 1)
		{
			SetHamParamInteger(4, HandValueDamage)
		}
	}
}
Model ruky mi to nezobrazovalo preto, lebo som mal zle túto časť:

Kód: Vybrat vše

		else if(SetModelHand[id] == 1)
		{
			set_pev(id, pev_weaponmodel2, p_ModelHand)
		}
Takto je to správne:

Kód: Vybrat vše

		else if(SetModelHand[id] == 1)
		{
			set_pev(id, pev_viewmodel2, p_ModelHand)
		}
Pre menej chápavých: pev_weaponmodel2 = Model, ktorí vidíš v ruke druhého hráča
pev_viewmodel2 = Model, ktorý vidíš ty

Vysvetlenia predpony modelov:
- v_knife.mdl = Model, ktorý vidíš TY
- p_knife.mdl = Model, ktorý vidí druhý hráč tebe v ruke
- w_knife.mdl = Model, ktorý vidíš keď odhodíš zbraň na zem

Uživatelský avatar
Javierko
Zákaznická podpora
Příspěvky: 57
Registrován: 09 bře 2019 19:24
Bydliště: OnGameFrame()
Kontaktovat uživatele:

Příspěvek od Javierko » 05 zář 2019 19:15

V pohodě, tady je ještě trochu upravená verze, taky jste se ptal, kde a jak se dá vlastně využít switch, zde to máte vynahrazené místo některých podmínek.

Kód: Vybrat vše

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

enum _:g_eModels
{
	Model_Hand,
	Model_Motor,
	Model_Machete
}

enum _:g_eModelInfo
{
	p_Model[128],
	v_Model[128],
	Float:Model_Damage
}

new const g_szModelList[g_eModels][g_eModelInfo] =
{
	{ "models/shopper/hand/hand.mdl", "", 12.0 },
	{ "models/shopper/motorovka/motorovka.mdl", "models/shopper/motorovka/motorovka2.mdl", 9999.0 },
	{ "models/shopper/machete/machete.mdl", "models/shopper/machete/machete2.mdl", 60.0 }
}

new g_iPlayerWeapon[33]

public plugin_init()
{
	register_plugin("Shop", "1.0", "RayCodeCSC")

	register_clcmd("say /shopper", "shop_menu")

	register_event("CurWeapon", "new_models", "be", "1=1")

	RegisterHam(Ham_TakeDamage, "player", "isDamaged")
	RegisterHam(Ham_Spawn, "player", "afterSpawn")
}

public plugin_precache()
{
	for(new i = 0; i < sizeof(g_szModelList); i++)
	{
		if(strlen(g_szModelList[i][p_Model]) > 1)
		{
			precache_model(g_szModelList[i][p_Model])
		}
		else if(strlen(g_szModelList[i][v_Model]) > 1)
		{
			precache_model(g_szModelList[i][v_Model])
		}
	}
}

public afterSpawn(id)
{
	give_item(id, "weapon_knife")
	g_iPlayerWeapon[id] = Model_Hand
}

public shop_menu(id)
{
	new menu = menu_create("Vyber si z menu:", "shop_menu_selection")

	menu_additem(menu, "Maceta")
	menu_additem(menu, "Motorova pila")

	menu_display(id, menu)
}

public shop_menu_selection(id, menu, item)
{
	switch(item)
	{
		case 0:
		{
			g_iPlayerWeapon[id] = Model_Machete

			strip_user_weapons(id)
			give_item(id, "weapon_knife")
		}

		case 1:
		{
			g_iPlayerWeapon[id] = Model_Motor

			strip_user_weapons(id)
			give_item(id, "weapon_knife")
		}
		
		case MENU_EXIT:
		{
			menu_destroy(menu)
			
			return PLUGIN_HANDLED
		}
	}
	
	menu_destroy(menu)
	
	return PLUGIN_HANDLED
}

public new_models(id)
{
	new weapid = read_data(2)
	
	switch(weapid)
	{
		case CSW_KNIFE:
		{
			if(strlen(g_szModelList[g_iPlayerWeapon[id]][v_Model]) > 1)
			{
				set_pev(id, pev_viewmodel2, g_szModelList[g_iPlayerWeapon[id]][v_Model])
			}
			else if(strlen(g_szModelList[g_iPlayerWeapon[id]][p_Model]) > 1)
			{
				set_pev(id, pev_weaponmodel2, g_szModelList[g_iPlayerWeapon[id]][p_Model])
			}
		}
	}
}

public isDamaged(victim, attacker, inflictor, Float:damage, damage_bits, id)
{
	new iUserWep = get_user_weapon(id)
	
	switch(iUserWep)
	{
		case CSW_KNIFE:
		{
			SetHamParamFloat(4, g_szModelList[g_iPlayerWeapon[id]][Model_Damage])
		}
	}
}
Pawn, SourcePawn, Web development, MySQL, Lua, ...

YouTube: https://www.youtube.com/c/Javierko21
Twitch: https://twitch.tv/javierko

Projects:
https://steamid.cz
https://hexmania.eu/

cruddYsek
Příspěvky: 3
Registrován: 03 zář 2019 21:26

Příspěvek od cruddYsek » 05 zář 2019 19:26

Javierko , je vidět , že to je začátečník , takže mu tam cpát enumy je blbost , akorát bude mít ještě víc chyb , pokud se to bude snažit upravit :') ...

Uživatelský avatar
Javierko
Zákaznická podpora
Příspěvky: 57
Registrován: 09 bře 2019 19:24
Bydliště: OnGameFrame()
Kontaktovat uživatele:

Příspěvek od Javierko » 05 zář 2019 19:28

Já mu to necpu, jen předpokládám, že si tento topic bude číst více lidí a třeba někdo, kdo tohle využije.
Pawn, SourcePawn, Web development, MySQL, Lua, ...

YouTube: https://www.youtube.com/c/Javierko21
Twitch: https://twitch.tv/javierko

Projects:
https://steamid.cz
https://hexmania.eu/

RayCodeCSC
Příspěvky: 23
Registrován: 11 črc 2019 23:52

Příspěvek od RayCodeCSC » 09 zář 2019 10:16

Zdravím, mal by som ešte takú otázku (aby som nemusel zakladať nové téma, dám to sem):

Ako vytvorím menu, v ktorom sa zobrazia mena hráčov, a keď napr. zvolím jedného hráča, tak sa mi otvorí ako keby chat, kde keď zadám napr. 5000 (čiastku $) tak sa hráčovi nastaví +5000$? Poprosím o čo najjednoduchší spôsob, nechcem to robiť cez žiadne enumy ani nič podobné :). Niečo na štýl od cruddYaska. Vopred ďakujem.

RayCodeCSC
Příspěvky: 23
Registrován: 11 črc 2019 23:52

Příspěvek od RayCodeCSC » 09 zář 2019 17:30

A ešte potrebujem poradiť s týmto:
Ako mám napr. všetkým hráčom, ktorí sú v tíme T, deagle? Resp. že to dá všetkým hráčom danú zbraň.

Príklad:

Vytvorím si menu, kde budem mať napr. "Deagle"
Po stlačení na "Deagle" to dá všetkým hráčom, ktorí sú v tíme T, Deagle.

Skúšal som to urobiť cez get_players, cez kompilér to síce prešlo, ale na serveri to nefunguje.

Uživatelský avatar
Javierko
Zákaznická podpora
Příspěvky: 57
Registrován: 09 bře 2019 19:24
Bydliště: OnGameFrame()
Kontaktovat uživatele:

Příspěvek od Javierko » 09 zář 2019 18:02

RayCodeCSC píše:
09 zář 2019 17:30
A ešte potrebujem poradiť s týmto:
Ako mám napr. všetkým hráčom, ktorí sú v tíme T, deagle? Resp. že to dá všetkým hráčom danú zbraň.

Príklad:

Vytvorím si menu, kde budem mať napr. "Deagle"
Po stlačení na "Deagle" to dá všetkým hráčom, ktorí sú v tíme T, Deagle.

Skúšal som to urobiť cez get_players, cez kompilér to síce prešlo, ale na serveri to nefunguje.
Pošlete kód, co už máte, když tak Vám jej pomůžeme opravit.
Případně si můžete zkusit debug třeba pomocí testovacích zpráv.
Pawn, SourcePawn, Web development, MySQL, Lua, ...

YouTube: https://www.youtube.com/c/Javierko21
Twitch: https://twitch.tv/javierko

Projects:
https://steamid.cz
https://hexmania.eu/

RayCodeCSC
Příspěvky: 23
Registrován: 11 črc 2019 23:52

Příspěvek od RayCodeCSC » 09 zář 2019 18:09

Kód: Vybrat vše

#include <amxmisc>
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>

new allPlayers = get_players(players, allPlayers, "f")

public plugin_init()
{
	register_plugin("JB Herne Mody", "1.0", "RayCodeCSC")

	register_clcmd("say /herneemody", "herne_mody_menu")
	register_clcmd("say /hm", "herne_mody_menu")
}

public herne_mody_menu(id)
{
	if(cs_get_user_team(id) == CS_TEAM_CT)
	{
		new herne_mody = menu_create("Vyber si herny mod:", "herne_mody_menu_selection")

		menu_additem(herne_mody, "Scout")
		menu_additem(herne_mody, "Prestrelka")
		menu_additem(herne_mody, "Schovavacka")
		menu_additem(herne_mody, "AWP")
		menu_additem(herne_mody, "Zombie")
		menu_additem(herne_mody, "Granaty")
		menu_additem(herne_mody, "Nahanacka")

		menu_display(id, herne_mody)
	}
	else if(cs_get_user_team(id) == CS_TEAM_T)
	{
		client_print(id, print_chat, "[HERNE-MODY] Musis byt CT, aby si mohol dat herny mod!")
	}
}

public herne_mody_menu_selection(id, menu, item, allPlayers)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}

	switch(item)
	{
		case 0: //Scout
		{
			if(cs_get_user_team(allPlayers) == CS_TEAM_T)
			{
				give_item(allPlayers, "weapon_scout")
				cs_set_user_bpammo(allPlayers, CSW_SCOUT, 10)

				client_print(allPlayers, print_chat, "Zacal sa herny mod: Scout !")
			}
			else if(cs_get_user_team(allPlayers) == CS_TEAM_CT)
			{
				strip_user_weapons(allPlayers)
				give_item(allPlayers, "weapon_scout")
				cs_set_user_bpammo(allPlayers, CSW_SCOUT, 10)

				client_print(allPlayers, print_chat, "Zacal sa herny mod: Scout !")
			}
		}

		case 1: //Prestrelka
		{
			if(cs_get_user_team(allPlayers) == CS_TEAM_T)
			{
				give_item(allPlayers, "weapon_m4a1")
				give_item(allPlayers, "weapon_deagle")

				cs_set_user_bpammo(allPlayers, CSW_M4A1, 32)
				cs_set_user_bpammo(allPlayers, CSW_DEAGLE, 10)

				client_print(allPlayers, print_chat, "Zacal sa herny mod: Prestrelka !")
			}
			else if(cs_get_user_team(allPlayers) == CS_TEAM_CT)
			{
				strip_user_weapons(allPlayers)
				give_item(allPlayers, "weapon_m4a1")
				give_item(allPlayers, "weapon_deagle")

				cs_set_user_bpammo(allPlayers, CSW_M4A1, 32)
				cs_set_user_bpammo(allPlayers, CSW_DEAGLE, 10)

				client_print(allPlayers, print_chat, "Zacal sa herny mod: Prestrelka !")
			}
		}
	}
}
Chcem len skrátka spraviť, že po stlačení niečho v menu to dá všetkým hráčom niečo... :). Vopred ďakujem za úpravu. A prosím vás, nedávajte tam žiadne enumy ani nič podobné. Chcem naozaj easy kód. Ďakujem,.

Odpovědět