Klasa tylko dla człowieka
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 :
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) } }
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)
}
}
BaleweoO
14.05.2011
Dzięki !
Możesz jeszcze pomóc, znalazłem lepszy plugin ale są błędy, poprawisz ?
Użytkownik BaleweoO edytował ten post 14.05.2011 17:54
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
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
}