Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

slavo - zdjęcie

slavo

Rejestracja: 07.02.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.06.2013 15:00
-----

Moje tematy

TEAM MENU

10.03.2013 19:59

Siema proszę o przerobenie pluginu TEAM MENU..
Plugin dziala tylko dla TT..
TT napisze /klon i pokazuje lista gracze CT... wybranego gracza przeniesie do TT..
dzięki ALL

#include <amxmodx>
#include <cstrike>
#include <amxmisc>
new g_menuOption[33]
new g_menuPosition[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new g_CSTeamNames[3][] = {
"TERRORIST",
"CT",
"SPECTATOR"
}
new g_CSTeamNumbers[3][] = {
"1",
"2",
"6"
}
new g_CSTeamiNumbers[3] = {
1,
2,
6
}
new g_cstrike = 0
new g_coloredMenus
public plugin_init()
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	register_clcmd("amx_teammenu", "cmdTeamMenu", ADMIN_LEVEL_H, "- displays team menu")
	register_clcmd("say /klon", "actionTeamMenu");
	register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")
}
/* Team menu */
public actionTeamMenu(id, key)
{
switch (key)
{
  case 7:
  {
   g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike ? 3 : 2);
   displayTeamMenu(id, g_menuPosition[id])
  }
  case 8: displayTeamMenu(id, ++g_menuPosition[id])
  case 9: displayTeamMenu(id, --g_menuPosition[id])
  default:
  {
   new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
   new authid[32], authid2[32], name[32], name2[32]
   get_user_name(player, name2, 31)
   get_user_authid(id, authid, 31)
   get_user_authid(player, authid2, 31)
   get_user_name(id, name, 31)
  
   log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")
   show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);
   if (g_cstrike)
   {
	if (is_user_alive(player))
	{
	 new deaths = cs_get_user_deaths(player)
	 user_kill(player, 1)
	 cs_set_user_deaths(player, deaths)
	}
	// This modulo math just aligns the option to the CsTeams-corresponding number
	cs_set_user_team(player, (g_menuOption[id] % 3) + 1)
	cs_reset_user_model(player)
   } else {
	new limit_setting = get_cvar_num("mp_limitteams")
  
	set_cvar_num("mp_limitteams", 0)
	engclient_cmd(player, "jointeam", g_CSTeamNumbers[g_menuOption[id] % 2])
	engclient_cmd(player, "joinclass", "1")
	set_cvar_num("mp_limitteams", limit_setting)
   }
   displayTeamMenu(id, g_menuPosition[id])
  }
}

return PLUGIN_HANDLED
}
displayTeamMenu(id, pos)
{
if (pos < 0)
  return
get_players(g_menuPlayers[id], g_menuPlayersNum[id])
new menuBody[512]
new b = 0
new i, iteam
new name[32], team[4]
new start = pos * 7
if (start >= g_menuPlayersNum[id])
  start = pos = g_menuPosition[id] = 0
new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "\yTEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
new end = start + 7
new keys = MENU_KEY_0|MENU_KEY_8
if (end > g_menuPlayersNum[id])
  end = g_menuPlayersNum[id]
for (new a = start; a < end; ++a)
{
  i = g_menuPlayers[id][a]
  get_user_name(i, name, 31)

  if (g_cstrike)
  {
   iteam = _:cs_get_user_team(i)
  
   if (iteam == 1)
   {
	copy(team, 3, "TE")
   }
   else if (iteam == 2)
   {
	copy(team, 3, "CT")
   }
   else if (iteam == 3)
   {
	copy(team, 3, "SPE");
	iteam = 6;
   } else {
	iteam = get_user_team(i, team, 3)
   }
  } else {
   iteam = get_user_team(i, team, 3)
  }
  if ((iteam == g_CSTeamiNumbers[g_menuOption[id] % (g_cstrike ? 3 : 2)]) || (access(i, ADMIN_IMMUNITY) && i != id))
  {
   ++b
  
   if (g_coloredMenus)
	len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)
   else
	len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)
  } else {
   keys |= (1<< B)
  
   if (is_user_admin(i))
	len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)
   else
	len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)
  }
}
len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_CSTeamNames[g_menuOption[id] % (g_cstrike ? 3 : 2)])
if (end != g_menuPlayersNum[id])
{
  format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
  keys |= MENU_KEY_9
}
else
  format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
show_menu(id, keys, menuBody, -1, "Team Menu")
}
public cmdTeamMenu(id, level, cid)
{
if (!cmd_access(id, level, cid, 1))
  return PLUGIN_HANDLED
g_menuOption[id] = 0
displayTeamMenu(id, g_menuPosition[id] = 0)
return PLUGIN_HANDLED
}

Prosze o przerobenie pluginu

05.03.2013 18:09

Witam, proszę o przerobenie pluginu screen shake...chcialem by że kiedy napisem /tras zaczyna trzesenie dla 10 s dzięki

#include <amxmodx>
#include <amxmisc>
public plugin_init()
{
   register_plugin("Shake It baby!","1.0","ThantiK")
   register_clcmd("amx_shake","amx_shake",ADMIN_LEVEL_A,"<name or id>")
   return PLUGIN_CONTINUE
}
public amx_shake(id,level,cid){
   if (!cmd_access(id,level,cid,2))
	  return PLUGIN_HANDLED
   new target[32]
   read_argv(1,target,31)
  
   if (target[0]=='@') {
	  new team[32], team_num
	  get_players(team,team_num,"ae",target[1])
	  if (!team_num) {
		 console_print(id,"[AMX] No clients found on provided team. (@CT or @TERRORIST)")
		 return   PLUGIN_HANDLED
	  }
	  for (new i=0;i<team_num;i++) {
	  new gmsgShake = get_user_msgid("ScreenShake")
	  message_begin(MSG_ONE, gmsgShake, {0,0,0}, team[i])
	  write_short(255<< 14 ) //ammount
	  write_short(10 << 14) //lasts this long
	  write_short(255<< 14) //frequency
	  message_end()
	  }
   }
   else if (target[0]=='*') {
	  new all[32], all_num
	  get_players(all,all_num,"a")
	  for (new i=0;i<all_num;i++) {
	  new gmsgShake = get_user_msgid("ScreenShake")
	  message_begin(MSG_ONE, gmsgShake, {0,0,0}, all[i])
	  write_short(255<< 14 ) //ammount
	  write_short(10 << 14) //lasts this long
	  write_short(255<< 14) //frequency
	  message_end()
	  }
}
   else {
	  new player = cmd_target(id, target,31)
	  new gmsgShake = get_user_msgid("ScreenShake")
	  if(is_user_alive(player)){
	  message_begin(MSG_ONE, gmsgShake, {0,0,0}, player)
	  write_short(255<< 14 ) //ammount
	  write_short(10 << 14) //lasts this long
	  write_short(255<< 14) //frequency
	  message_end()
	  }
}
   return PLUGIN_HANDLED   
}

shop walhang

03.03.2013 17:08

Siema, chce do sklepu wstawić WALHANG
dzięki
SHOP SMA

Spoiler


WALHANG CODE


Spoiler

Class BATMAN

01.03.2013 23:23

Witam, proszę o class BATMAN na deathrun mod.
Gracz wybiera klasę batman i naciśnij V i oślepiony cely TT team dzięki wiele
KOD SMA:


#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#define AUTHOR "Matlaku"
#define PLUGIN "DR MENU"
#define EDIT "Chron"
#define VIP ADMIN_LEVEL_A
#define MAX_PLAYERS 32
#define SMOKE_SCALE 30
#define SMOKE_FRAMERATE 12
#define SMOKE_GROUND_OFFSET 6
static const DR[ ] = "^1[CS-FORCE]"
new HellBoyKnife[33] = 0
new Rychlost[33] = 0
new NeviditelnostHraca[33] = 0
new g_MaxClients
new g_player_class[33]
new player_bh[33]
new g_spriteid_steam1
new g_eventid_createsmoke
new const g_Sound[] = "sound/misc/spiderman.mp3"
new const c_Sound[] = "sound/misc/AliG.mp3"
new const b_Sound[] = "sound/misc/hellbo.mp3"
new const e_Sound[] = "sound/misc/jab.mp3"
new const r_Sound[] = "sound/misc/rikku1.mp3"
new const h_Sound[] = "sound/misc/robot1.mp3"
new const g_sound_explosion[] = "weapons/sg_explode.wav"
new const g_classname_grenade[] = "grenade"
new const Float:g_sign[4][2] = {{1.0, 1.0}, {1.0, -1.0}, {-1.0, -1.0}, {-1.0, 1.0}}
public plugin_init()
{
   register_plugin("DR MENU", "1.3.5", "Matlaku")
   register_forward(FM_EmitSound, "forward_emitsound")
   register_forward(FM_PlaybackEvent, "forward_playbackevent")
   RegisterHam(Ham_Spawn,"player","player_spawn" ,1);
   register_forward(FM_PlayerPreThink, "bunnyhop");
   RegisterHam(Ham_Spawn,   "player", "Spawn",   1);
   RegisterHam(Ham_TakeDamage,   "player", "DMG", false);
   new iEnt = create_entity("info_target")
   entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1)
   register_event("CurWeapon",	"Speed", "be", "1=1")
   g_MaxClients = get_maxplayers()
   g_spriteid_steam1 = engfunc(EngFunc_PrecacheModel, "sprites/steam1.spr")
   g_eventid_createsmoke = engfunc(EngFunc_PrecacheEvent, 1, "events/createsmoke.sc")
}
public player_spawn(id)
{
   player_bh[id] = 0
   if( is_user_alive(id) && cs_get_user_team(id) & CS_TEAM_CT )
	  set_task(0.1,"human_menu",id);
}
public plugin_precache()
{
   precache_model("models/ProGame/hb.mdl")
   precache_model("models/ProGame/spiderman.mdl")
   precache_model("models/ProGame/jabjab.mdl")
   precache_model("models/ProGame/alig.mdl")
   precache_model("models/ProGame/Rikku.mdl")
   precache_model("models/ProGame/robocop.mdl")
   precache_generic(g_Sound)
   precache_generic(c_Sound)
   precache_generic(b_Sound)
   precache_generic(e_Sound)
   precache_generic(r_Sound)
   precache_generic(h_Sound)
}
public human_menu(id)
{
   new menu = menu_create("\yVyber si postavu ", "human_menu_handler")
   menu_additem(menu, "HellBoy \r(Velmi silny)", "1", 0)
   menu_additem(menu, "Spiderman \r(super skoky)", "2", 0)
   menu_additem(menu, "Jab Jab \r(Rychlost)", "3", 0)
   menu_additem(menu, "Ali-G \r(BunnyHop)", "4", 0)
   menu_additem(menu, "Riku \r(Neviditelnost) \y[VIP]", "5", 0)
   menu_additem(menu, "Robocop \r(Teleport) \y[VIP]", "6", 0)
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL, MPROP_NUMBER_COLOR, "\r" )
   menu_display(id, menu, 0)
}
public human_menu_handler(id, menu, item)
{
   if( item == MENU_EXIT )
   {
	  menu_destroy(menu)
	  return PLUGIN_HANDLED
   }
   new data[6], iName[64]
   new access, callback
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   new key = str_to_num(data)
   switch(key)
   {
	  case 1:
	  {
		 if(is_user_alive(id))
		 {
			{
			   HellBoyKnife[id] = 1
			   g_player_class[id] = 1
			   cs_set_user_model(id,"hb")
			   set_user_health(id, 300)
			   set_user_armor(id, 300)
			   set_user_gravity(id, 1.00)
			   ChatColor(id, "%s !gVybral si si postavu: !tHelBoy", DR);
			   client_cmd(id,"mp3 play %s",b_Sound)
			}
		 }
		 else
		 {
			ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
		 }
	  }
	  case 2:
	  {
		 if(is_user_alive(id))
		 {
			{
			   g_player_class[id] = 2
			   cs_set_user_model(id,"spiderman")
			   set_user_health(id, 100)
			   set_user_armor(id, 100)
			   set_user_gravity(id, 0.50)
			   ChatColor(id, "%s !gVybral si si postavu: !tSpiderman", DR);
			   client_cmd(id,"mp3 play %s",g_Sound)
			}
		 }
		 else
		 {
			ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
		 }
	  }
	  case 3:
	  {
		 if(is_user_alive(id))
		 {
			{
			   Rychlost[id] = 1
			   g_player_class[id] = 3
			   cs_set_user_model(id,"jabjab")
			   set_user_health(id, 100)
			   set_user_armor(id, 100)
			   set_user_gravity(id, 1.00)
			   set_user_maxspeed(id, 500.0)
			   ChatColor(id, "%s !gVybral si si postavu: !tJab Jab", DR);
			   client_cmd(id,"mp3 play %s",e_Sound)
			}
		 }
		 else
		 {
			ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
		 }
	  }
	  case 4:
	  {
		 if(is_user_alive(id))
		 {
			{
			   player_bh[id] = 1
			   cs_set_user_model(id,"alig")
			   set_user_health(id, 100)
			   set_user_armor(id, 100)
			   set_user_gravity(id, 1.00)
			   ChatColor(id, "%s !gVybral si si postavu: !tAli-G", DR);
			   client_cmd(id,"mp3 play %s",c_Sound)
			}
		 }
		 else
		 {
			ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
		 }
	  }
	  case 5:
	  {
		 if(get_user_flags(id) && VIP)
		 {
			if(is_user_alive(id))
			{
			   {
				  g_player_class[id] = 5
				  cs_set_user_model(id,"Rikku")
				  set_user_health(id, 150)
				  set_user_armor(id, 150)
				  set_user_gravity(id, 1.00)
				  set_task(0.1,"Neviditelnost",id)
				  ChatColor(id, "%s !gVybral si si postavu !tRikku", DR);
				  client_cmd(id,"mp3 play %s",r_Sound)
			   }
			}
			else
			{
			   ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
			}
		 }
		 else
		 {
			ChatColor(id, "%s Tato postava je len pre !gVIP !thracov!y!", DR);
		 }
	  }
	  case 6:
	  {
		 if(get_user_flags(id) && VIP)
		 {
			if(is_user_alive(id))
			{
			   {
				  g_player_class[id] = 6
				  cs_set_user_model(id,"robocop")
				  set_user_health(id, 10)
				  set_user_armor(id, 10)
				  set_user_gravity(id, 1.00)
  give_item(id, "weapon_smokegrenade")
				  ChatColor(id, "%s !gVybral si si postavu !tRobocop", DR);
				  client_cmd(id,"mp3 play %s",h_Sound)
			   }
			}
			else
			{
			   ChatColor(id, "%s !gMusis !ybyt !tnazive", DR);
			}
		 }
		 else
		 {
			ChatColor(id, "%s Tato postava je len pre !gEXTRAVIP !thracov!y!", DR);
		 }
	  }
   }
   menu_destroy(menu)
   return PLUGIN_HANDLED
}
public Neviditelnost( iEnt )
{
	entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.1)
	new iPlayers[MAX_PLAYERS], iNum, id, Float:fVecVelocity[3], iSpeed
	get_players(iPlayers, iNum, "ae", "CT")
	new iInvisibility
	for(new i; i<iNum; i++)
	{
		id = iPlayers[i]
		if( get_user_weapon(id) == CSW_KNIFE )
		{
			entity_get_vector(id, EV_VEC_velocity, fVecVelocity)
			iSpeed = floatround( vector_length(fVecVelocity) )
			if( iSpeed < 250 )
			{
				iInvisibility = iSpeed - (250 - iSpeed) / 3
				if( iInvisibility < 0 )
				{
					iInvisibility = 0
				}
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, iInvisibility)
			}
			else
			{
				set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
			}
		}
		else
		{
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		}
	}
}
public forward_emitsound(ent, channel, const sound[]) {
if (!equal(sound, g_sound_explosion) || !is_grenade(ent))
  return FMRES_IGNORED
static id, Float:origin[3]
id = pev(ent, pev_owner)
pev(ent, pev_origin, origin)
engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON, g_sound_explosion, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
engfunc(EngFunc_RemoveEntity, ent)
origin[2] += SMOKE_GROUND_OFFSET
create_smoke(origin)
if (is_user_alive(id)) {
  static Float:mins[3], hull
  pev(id, pev_mins, mins)
  origin[2] -= mins[2] + SMOKE_GROUND_OFFSET
  hull = pev(id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN
  if (is_hull_vacant(origin, hull))
   engfunc(EngFunc_SetOrigin, id, origin)
  else { // close to a solid object, trying to find a vacant spot
   static Float:vec[3]
   vec[2] = origin[2]
   for (new i; i < sizeof g_sign; ++i) {
	vec[0] = origin[0] - mins[0] * g_sign[i][0]
	vec[1] = origin[1] - mins[1] * g_sign[i][1]
	if (is_hull_vacant(vec, hull)) {
	 engfunc(EngFunc_SetOrigin, id, vec)
	 break
	}
   }
  }
}
return FMRES_SUPERCEDE
}
public forward_playbackevent(flags, invoker, eventindex) {
// we do not need a large amount of smoke
if (eventindex == g_eventid_createsmoke)
  return FMRES_SUPERCEDE
return FMRES_IGNORED
}
bool:is_grenade(ent) {
if (!pev_valid(ent))
  return false
static classname[sizeof g_classname_grenade + 1]
pev(ent, pev_classname, classname, sizeof g_classname_grenade)
if (equal(classname, g_classname_grenade))
  return true
return false
}
create_smoke(const Float:origin[3]) {
// engfunc because origin are float
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
write_byte(TE_SMOKE)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
write_short(g_spriteid_steam1)
write_byte(SMOKE_SCALE)
write_byte(SMOKE_FRAMERATE)
message_end()
}
stock bool:is_hull_vacant(const Float:origin[3], hull) {
new tr = 0
engfunc(EngFunc_TraceHull, origin, origin, 0, hull, 0, tr)
if (!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
  return true

return false
}
public bunnyhop(id)
{
   if(!player_bh[id])
	  return PLUGIN_CONTINUE
  
   if (pev(id, pev_button) & IN_JUMP) {
	  new flags = pev(id, pev_flags)
	
	  if (flags & FL_WATERJUMP)
		 return FMRES_IGNORED;
	  if ( pev(id, pev_waterlevel) >= 2 )
		 return FMRES_IGNORED;
	  if ( !(flags & FL_ONGROUND) )
		 return FMRES_IGNORED;
	
	  new Float:velocity[3];
	  pev(id, pev_velocity, velocity);
	  velocity[2] += 250.0;
	  set_pev(id, pev_velocity, velocity);
	
	  set_pev(id, pev_gaitsequence, 6);
	
   }
   return FMRES_IGNORED;
}
public Spawn(id)
{
   if (is_user_alive(id))
   {
	  HellBoyKnife[id] = 0
	  Rychlost[id] = 0
	
	  if(!NeviditelnostHraca[id])
	  {
		 if( cs_get_user_team(id) == CS_TEAM_CT )
		 {
			set_user_gravity(id, 1.00)
			set_user_footsteps(id, 0)
		 }
		 else
		 {
			set_user_footsteps(id, 0)
		 }
		 set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
	  }
   }
}
public Speed(id)
{  
   if(Rychlost[id])
   {
	  set_user_maxspeed(id, 350.0)
   }
}
public DMG(id, iInflictor, iAttacker, Float:flDamage, iBits)
{
	if( !(iBits & DMG_FALL) )
	{
		if( 1 <= iAttacker <= g_MaxClients )
		{
			if( id != iAttacker )
			{
	  if( get_user_weapon(iAttacker) == CSW_KNIFE && HellBoyKnife[iAttacker] && cs_get_user_team(iAttacker) == CS_TEAM_CT)
	  {
		 SetHamParamFloat(4, (flDamage * 2));
	  }
			}
		}
	}
}
stock ChatColor(const id, const input[], any:...) {
   new count = 1, players[ 32 ]
   static msg[ 191 ]
   vformat( msg, 190, input, 3 )
  
   replace_all( msg, 190, "!g", "^4" )
   replace_all( msg, 190, "!y", "^1" )
   replace_all( msg, 190, "!t", "^3" )
  
  
   if(id) players[ 0 ] = id; else get_players( players, count, "ch" )
   {
	  for(new i = 0; i < count; i++)
	  {
		 if( is_user_connected( players[ i ] ) )
		 {
			message_begin( MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[ i ] )
			write_byte( players[ i ] )
			write_string( msg )
			message_end( )
		 }
	  }
   }
}

[ROZWIĄZANE] knife mod

01.03.2013 17:35

Witam mam knife moda ale dziala dla wsickych
Chcialem by :
add(menuBody, 511, "1.\wKnife1^n\d-(Pouze pro Anti-Furien)")DLA CT TEAMU
add(menuBody, 511, "2.\wKnife2^n\d-(Pouze pro Anti-Furien)")DLA CT TEAMU
add(menuBody, 511, "3.\wKnife3^n\d-(Pouze pro Anti-Furien)")DLA CT TEAMU
add(menuBody, 511, "4.\rKnife4^n\d-(Pouze pro Furien)")DLA T TEAMU
add(menuBody, 511, "5.\rKnife5^n\d-(Pouze pro Furien)")DLA T TEAMU
tu jest kod SMA
dzięki wiele

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>
#pragma semicolon 0
#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"
new knife_model[33]
new g_Menu
public plugin_init() {
	   
	    register_plugin(PLUGIN, VERSION, AUTHOR)
	   
	    register_event("CurWeapon","CurWeapon","be","1=1")
	   
	    g_Menu = register_menuid("Knife Mod")
	    register_menucmd(g_Menu, 1023, "knifemenu")
	   
	    register_clcmd("say /knife", "display_knife")
	   
	    set_task(480.0, "kmodmsg", 0, _, _, "b")
}
public plugin_precache() {
	    precache_model("models/knife-mod/v_antifuriennoz1.mdl")
	    precache_model("models/knife-mod/v_antifuriennoz2.mdl")
	    precache_model("models/knife-mod/v_antifuriennoz3.mdl")
	    precache_model("models/knife-mod/v_furiennoz1.mdl")
	    precache_model("models/knife-mod/v_furiennoz2.mdl")
}

public display_knife(id) {
	    new menuBody[512]
	    add(menuBody, 511, "\rKnife Mod\w^n^n")
	    add(menuBody, 511, "1.\wKnife1^n\d-(Pouze pro Anti-Furien)")
	    add(menuBody, 511, "2.\wKnife2^n\d-(Pouze pro Anti-Furien)")
	    add(menuBody, 511, "3.\wKnife3^n\d-(Pouze pro Anti-Furien)")
	    add(menuBody, 511, "4.\rKnife4^n\d-(Pouze pro Furien)")
	    add(menuBody, 511, "5.\rKnife5^n\d-(Pouze pro Furien)")
	    add(menuBody, 511, "0.Exit^n")
	   
	    new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	    show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	    switch(key)
	    {
			    case 0: SetKnife(id , 4)
			    case 1: SetKnife(id , 2)
			    case 2: SetKnife(id , 3)
			    case 3: SetKnife(id , 1)
			    case 4: SetKnife(id , 0)
			    default: return PLUGIN_HANDLED
	    }
	    SaveData(id)
	    return PLUGIN_HANDLED
}
public SetKnife(id , Knife) {
	    knife_model[id] = Knife
	   
	    new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
	    if ( Weapon != CSW_KNIFE )
			    return PLUGIN_HANDLED
	   
	    new vModel[56]
	   
	    switch(Knife)
	    {
			    case 0: {
					    format(vModel,55,"models/knife-mod/v_furiennoz2.mdl")
			    }
			    case 1: {
					    format(vModel,55,"models/knife-mod/v_furiennoz1.mdl")
			    }
			    case 2: {
					    format(vModel,55,"models/knife-mod/v_antifuriennoz2.mdl")
			    }
			    case 3: {
					    format(vModel,55,"models/knife-mod/v_antifuriennoz3.mdl")
			    }
			    case 4: {
					    format(vModel,55,"models/knife-mod/v_antifuriennoz1.mdl")
			    }
	    }
	   
	    entity_set_string(id, EV_SZ_viewmodel, vModel)
	   
	    return PLUGIN_HANDLED; 
}
public CurWeapon(id){
	    SetKnife(id, knife_model[id])		  
}

public kmodmsg() {
	   
	    client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")
} 
public client_authorized(id){
	    LoadData(id)
}
SaveData(id)
{
	   
	    new authid[32]
	    get_user_authid(id, authid, 31)
	   
	    new vaultkey[64]
	    new vaultdata[64]
	   
	    format(vaultkey, 63, "KMOD_%s", authid)
	    format(vaultdata, 63, "%d", knife_model[id])
	    set_vaultdata(vaultkey, vaultdata)
}
LoadData(id)
{
	    new authid[32]
	    get_user_authid(id,authid,31)
	   
	    new vaultkey[64], vaultdata[64]
	   
	    format(vaultkey, 63, "KMOD_%s", authid)
	    get_vaultdata(vaultkey, vaultdata, 63)
	    knife_model[id] = str_to_num(vaultdata)
	   
}