Add only Multijump for CT/Admin pls

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

Add only Multijump for CT/Admin pls

Мнение от Infamous2018 » 12 Май 2020, 17:30

Can anyone add the function that only CT Players can use multijump? Admin Only is avaible like i see but need it for CT only. THX

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

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define ADMINACCESS ADMIN_LEVEL_H

new jumpnum[33] = 0
new bool:dojump[33] = false

public plugin_init()
{
	register_plugin("MultiJump","1.1","twistedeuphoria")
	register_cvar("amx_maxjumps","1")
	register_cvar("amx_mjadminonly","1")
}

public client_putinserver(id)
{
	jumpnum[id] = 0
	dojump[id] = false
}

public client_disconnect(id)
{
	jumpnum[id] = 0
	dojump[id] = false
}

public client_PreThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
	new nbut = get_user_button(id)
	new obut = get_user_oldbutton(id)
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
		{
			dojump[id] = true
			jumpnum[id]++
			return PLUGIN_CONTINUE
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
	if(dojump[id] == true)
	{
		new Float:velocity[3]	
		entity_get_vector(id,EV_VEC_velocity,velocity)
		velocity[2] = random_float(265.0,285.0)
		entity_set_vector(id,EV_VEC_velocity,velocity)
		dojump[id] = false
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}	


Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 534
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 120 пъти
Обратна връзка:

Add only Multijump for CT/Admin pls

Мнение от mi0 » 12 Май 2020, 19:49

This should work.

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

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define ADMINACCESS ADMIN_LEVEL_H

new jumpnum[33] = 0
new bool:dojump[33] = false

public plugin_init()
{
	register_plugin("MultiJump","1.1","twistedeuphoria")
	register_cvar("amx_maxjumps","1")
	register_cvar("amx_mjadminonly","1")
}

public client_putinserver(id)
{
	jumpnum[id] = 0
	dojump[id] = false
}

public client_disconnect(id)
{
	jumpnum[id] = 0
	dojump[id] = false
}

public client_PreThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS)) && get_user_team(id) != 2) return PLUGIN_CONTINUE
	new nbut = get_user_button(id)
	new obut = get_user_oldbutton(id)
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
		{
			dojump[id] = true
			jumpnum[id]++
			return PLUGIN_CONTINUE
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS)) && get_user_team(id) != 2) return PLUGIN_CONTINUE
	if(dojump[id] == true)
	{
		new Float:velocity[3]	
		entity_get_vector(id,EV_VEC_velocity,velocity)
		velocity[2] = random_float(265.0,285.0)
		entity_set_vector(id,EV_VEC_velocity,velocity)
		dojump[id] = false
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}	
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

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

Add only Multijump for CT/Admin pls

Мнение от Infamous2018 » 12 Май 2020, 20:07

Nop dont work. Its looking that this plugin dont work. I tested it as VIP = Mulitjump CT + T then i tested as NON VIP = CT Multijump and T = No Multijump. xD

Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 534
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 120 пъти
Обратна връзка:

Add only Multijump for CT/Admin pls

Мнение от mi0 » 12 Май 2020, 20:57

Try this one. You have to have ReAPI in order for the plugin to work.

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

#include <amxmodx>
#include <reapi>

#define ADMIN_ACCESS "b"

new iJumps[33], bool:bGiveMultiJump[33]
new cvar_enable_multijump, cvar_multijumps

public plugin_init()
{
	register_plugin("Multi-Jumps [ReAPI]", "0.1", "Nikolow")
	
	RegisterHookChain(RG_CBasePlayer_Jump, "Fw_PlayerJump_Pre", 0)
	
	cvar_enable_multijump 	= 	register_cvar("mj_give_all_multijump", "1")
	cvar_multijumps 		= 	register_cvar("mj_extra_jumps", "1")
}

public plugin_natives()
{
	register_native("give_user_multijump", "native_give_user_multijump", 1)
	register_native("remove_user_multijump", "native_remove_user_multijump", 1)
}

public native_give_user_multijump(id) bGiveMultiJump[id] = true
public native_remove_user_multijump(id) bGiveMultiJump[id] = false

public Fw_PlayerJump_Pre(id)
{
	if (!is_user_alive(id))
		return HC_SUPERCEDE

	new iFlags = get_entvar(id, var_flags)

	if (iFlags & FL_WATERJUMP || get_entvar(id, var_waterlevel) >= 2 || !(get_member(id, m_afButtonPressed) & IN_JUMP) || (get_member(id, m_iTeam) != 2 && ~get_user_flags(id) & read_flags(ADMIN_ACCESS)))
		return HC_CONTINUE

	if (iFlags & FL_ONGROUND)
	{
		iJumps[id] = 0
		return HC_CONTINUE
	}

	if (get_pcvar_num(cvar_enable_multijump) || bGiveMultiJump[id])
	{
		if (++iJumps[id] <= get_pcvar_num(cvar_multijumps))
		{
			new Float:fVelocity[3]
			get_entvar(id, var_velocity, fVelocity)
			fVelocity[2] = 268.328157
			set_entvar(id, var_velocity, fVelocity)
			
			return HC_SUPERCEDE
		}
	}
	return HC_CONTINUE
}
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

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

Add only Multijump for CT/Admin pls

Мнение от Infamous2018 » 20 Май 2020, 20:08

i dont use reapi at my server i have to much plugins there. :/

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

Add only Multijump for CT/Admin pls

Мнение от OciXCrom » 20 Май 2020, 21:23

You want it only for CT or for both admins AND CT?
The title and description are contradictory.

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

Add only Multijump for CT/Admin pls

Мнение от Infamous2018 » 21 Май 2020, 15:13

i want that its working allways for VIPS FLag T and only when VIPS are CT player.

Добавено преди 4 часа 35 минути 17 секунди:
thread can be closed. here is the solution when anyone need the self plugin with self editions:

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

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define ADMINACCESS ADMIN_LEVEL_H

new jumpnum[33] = 0
new bool:dojump[33] = false

public plugin_init()
{
   register_plugin("MultiJump","1.1","twistedeuphoria")
   register_cvar("amx_maxjumps","1")
   register_cvar("amx_mjadminonly","1")
}

public client_putinserver(id)
{
   jumpnum[id] = 0
   dojump[id] = false
}

public client_disconnect(id)
{
   jumpnum[id] = 0
   dojump[id] = false
}

public client_PreThink(id)
{
   if(!is_user_alive(id) || get_user_team(id) != 2) return PLUGIN_CONTINUE
   if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
   new nbut = get_user_button(id)
   new obut = get_user_oldbutton(id)
   if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
   {
      if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
      {
         dojump[id] = true
         jumpnum[id]++
         return PLUGIN_CONTINUE
      }
   }
   if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
   {
      jumpnum[id] = 0
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
   if(!is_user_alive(id) || get_user_team(id) != 2) return PLUGIN_CONTINUE
   if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
   if(dojump[id] == true)
   {
      new Float:velocity[3]   
      entity_get_vector(id,EV_VEC_velocity,velocity)
      velocity[2] = random_float(265.0,285.0)
      entity_set_vector(id,EV_VEC_velocity,velocity)
      dojump[id] = false
      return PLUGIN_CONTINUE
   }
   return PLUGIN_CONTINUE
}

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

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

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 9 госта