←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Klasa tylko dla człowieka

Zablokowany

  • +
  • -
BaleweoO - zdjęcie BaleweoO 14.05.2011

Cześć, mam zombie moda i wgrałem plugin wyboru postaci jednak on działa zarówno gdy jesteśmy na zombie i gdy jesteśmy Człowiekiem;x
Chciałbym aby działało tylko na człowieka :
SMA :
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define RAZ 1

new zakaz[33];
new ustaw_szybkosc[33]

public plugin_init()
{
	register_plugin("[ZP]Klasa_Ludzi", "1.0", "[H]ARDBO[T]")
	
	register_clcmd ("say /postac", "Wybor_ludzi")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0");
	register_event("CurWeapon","Szybkosc_Postaci","be", "1=1")
	
	server_cmd("sv_maxspeed 900")
}
public client_putinserver(id)
{
	zakaz[id] = false;
}
public Nowa_Runda()
{
	for(new i=1;i<33;i++)
		zakaz[i] = 0;
}
public Wybor_ludzi(id)
{
	if(zakaz[id] >= RAZ)
	{
		client_print(id, print_chat, "[ZP] Postac mozna wybrac raz na runde");
		return PLUGIN_HANDLED;
	}
	if(cs_get_user_team(id) && CS_TEAM_CT)
	{
		new menu = menu_create("Wybierz klase:","Wybierz_postac")
		
		menu_additem(menu,"Skoczek", "1",0)
		menu_additem(menu,"Rambo", "2",0)
		menu_additem(menu,"Sprinter", "3",0)
		menu_additem(menu,"Kolo", "4",0)
		
		menu_setprop(menu,MPROP_EXITNAME,"Wyjscie")
		menu_display(id,menu,0)
	}
	zakaz[id]++;
	return PLUGIN_CONTINUE
}
public Wybierz_postac(id, menu, item)
{
	if(cs_get_user_team(id) && CS_TEAM_CT)
	{
		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 2:
			{
				set_user_health(id, 250)
			}
			case 1:
			{
				set_user_gravity(id, 0.4)
			}
			case 4:
			{
				set_user_armor(id, 600)
			}
			case 3:
			{
				ustaw_szybkosc[id] = true
			}
			
		}
	}
	return PLUGIN_HANDLED
}
public Szybkosc_Postaci(id)
{
	if(ustaw_szybkosc[id])
	{
		set_user_maxspeed(id, get_user_maxspeed(id) + 5.0)
	}
}
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 14.05.2011

Zobacz.
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define RAZ 1

new zakaz[33];
new ustaw_szybkosc[33]

public plugin_init()
{
register_plugin("[ZP]Klasa_Ludzi", "1.0", "[H]ARDBO[T]")

register_clcmd ("say /postac", "Wybor_ludzi")
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0");
register_event("CurWeapon","Szybkosc_Postaci","be", "1=1")

server_cmd("sv_maxspeed 900")
}
public client_putinserver(id)
{
zakaz[id] = false;
}
public Nowa_Runda()
{
for(new i=1;i<33;i++)
zakaz[i] = 0;
}
public Wybor_ludzi(id)
{
if(zakaz[id] >= RAZ)
{
client_print(id, print_chat, "[ZP] Postac mozna wybrac raz na runde");
return PLUGIN_HANDLED;
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new menu = menu_create("Wybierz klase:","Wybierz_postac")

menu_additem(menu,"Skoczek", "1",0)
menu_additem(menu,"Rambo", "2",0)
menu_additem(menu,"Sprinter", "3",0)
menu_additem(menu,"Kolo", "4",0)

menu_setprop(menu,MPROP_EXITNAME,"Wyjscie")
menu_display(id,menu,0)
}
zakaz[id]++;
return PLUGIN_CONTINUE
}
public Wybierz_postac(id, menu, item)
{
if(cs_get_user_team(id) && CS_TEAM_CT)
{
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 2:
{
set_user_health(id, 250)
}
case 1:
{
set_user_gravity(id, 0.4)
}
case 4:
{
set_user_armor(id, 600)
}
case 3:
{
ustaw_szybkosc[id] = true
}

}
}
return PLUGIN_HANDLED
}
public Szybkosc_Postaci(id)
{
if(ustaw_szybkosc[id])
{
set_user_maxspeed(id, get_user_maxspeed(id) + 5.0)
}
}
Odpowiedz

  • +
  • -
BaleweoO - zdjęcie BaleweoO 14.05.2011

Dzięki !
Możesz jeszcze pomóc, znalazłem lepszy plugin ale są błędy, poprawisz ?

/* 
Human Classes for zombie plague, menu for classes automatically invoked 8 seconds after player spawn
This plug is far from complete, please help with further development of it since it may have some undesired
results on gameplay. You can edit this plug however it fit your needs.

Here is TO DO list:

1. Make B key invoke human class menu
2. Make user choose class only once per round (could be limited with round timer or some other method) - done
3. Make user choice remember thru whole map time, just like it was done for zombies
4. Changing of models is not implemented yet due to numerous bugs and uncertain effects
5. For now, there are 7 classes only. If you have idea for more classes, make a request
6. Make classes buyable for ammo packs
7. Bots support
*/

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


new g_player_class[33]

public plugin_init()
{
register_plugin("[ZP] Addon: Human Classes", "1.1", "fiendshard")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}

public fwHamPlayerSpawnPost(id)

{
set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}

public ClCmdSelectModel(id, menuid)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
return PLUGIN_HANDLED;
}

else if(!is_user_alive(id))
{
return PLUGIN_HANDLED;
}
else
{
human_menu(id)
}
return PLUGIN_CONTINUE;
}

public human_menu(id)
{
new menu = menu_create("\rChoose Your Human Class:", "human_menu_handler")
menu_additem(menu, "\wWysoki Czlowiek (300 HP)", "1", 0)
menu_additem(menu, "\wSkoczek (Grawitacja ++)", "2", 0)
menu_additem(menu, "\wLodowy Czlowiek(5x Flash)", "3", 0)
menu_additem(menu, "\wOgnik (5x HE)", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
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(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 1
set_user_health(id, 300)
set_user_armor(id, 0)
set_user_gravity(id, 1.00)
client_print(id, print_chat,"[ZP] Twoja klasa to Wysoki Czlowiek");
}
case 2:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 2
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 0)
set_user_gravity(id, 0.50)
client_print(id, print_chat,"[ZP] Twoja Klasa to Skoczek");
}
case 3:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 3
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 30)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_FLASHBANG, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Lodowy Czlowiek");
}
case 4:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 4
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 40)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Ognik")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

Użytkownik BaleweoO edytował ten post 14.05.2011 17:54
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 14.05.2011

/* 
Human Classes for zombie plague, menu for classes automatically invoked 8 seconds after player spawn
This plug is far from complete, please help with further development of it since it may have some undesired
results on gameplay. You can edit this plug however it fit your needs.

Here is TO DO list:

1. Make B key invoke human class menu
2. Make user choose class only once per round (could be limited with round timer or some other method) - done
3. Make user choice remember thru whole map time, just like it was done for zombies
4. Changing of models is not implemented yet due to numerous bugs and uncertain effects
5. For now, there are 7 classes only. If you have idea for more classes, make a request
6. Make classes buyable for ammo packs
7. Bots support
*/

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


new g_player_class[33]

public plugin_init()
{
register_plugin("[ZP] Addon: Human Classes", "1.1", "fiendshard")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}

public fwHamPlayerSpawnPost(id)

{
set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}

public ClCmdSelectModel(id, menuid)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
return PLUGIN_HANDLED;
}

else if(!is_user_alive(id))
{
return PLUGIN_HANDLED;
}
else
{
human_menu(id)
}
return PLUGIN_CONTINUE;
}

public human_menu(id)
{
new menu = menu_create("\rChoose Your Human Class:", "human_menu_handler")
menu_additem(menu, "\wWysoki Czlowiek (300 HP)", "1", 0)
menu_additem(menu, "\wSkoczek (Grawitacja ++)", "2", 0)
menu_additem(menu, "\wLodowy Czlowiek(5x Flash)", "3", 0)
menu_additem(menu, "\wOgnik (5x HE)", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
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(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 1
set_user_health(id, 300)
set_user_armor(id, 0)
set_user_gravity(id, 1.00)
client_print(id, print_chat,"[ZP] Twoja klasa to Wysoki Czlowiek");
}
case 2:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 2
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 0)
set_user_gravity(id, 0.50)
client_print(id, print_chat,"[ZP] Twoja Klasa to Skoczek");
}
case 3:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 3
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 30)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_FLASHBANG, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Lodowy Czlowiek");
}
case 4:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 4
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 40)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Ognik")
}
}

menu_destroy(menu)
return PLUGIN_HANDLED
}
Odpowiedz
Zablokowany