hey guys.
I have a problem concerning the for-loops in my plugin.
the for-loop does only work for 2 persons. Maybee you can find the error.
Code:
/* Mod Template generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#define PLUGIN "Day-Menu"
#define VERSION "1.0"
#define AUTHOR "SmoKeY><"
#define OFFSET_PRIMARYWEAPON 116
#define IsPlayer(%1) (1<=%1<=g_max_clients)
/*================================================================================
Booleans
=================================================================================*/
new bool: day_active = false;
new bool: can_have_gun[33]
new bool: day_scout = false;
new bool: got_name = false;
/*================================================================================
New's
=================================================================================*/
new name[33]
new g_max_clients
new timer
new g_ct;
new g_t;
/*================================================================================
Constants
=================================================================================*/
new const PREFIX[] = "[H.S.C]:"
/*================================================================================
Stocks
=================================================================================*/
stock strip_weapons(index)
{
strip_user_weapons(index)
set_pdata_int(index, OFFSET_PRIMARYWEAPON, 0)
give_item(index, "weapon_knife")
}
/*================================================================================
Init
=================================================================================*/
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /day", "check_team")
register_clcmd("/day", "check_team")
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
RegisterHam(Ham_Spawn, "player", "Event_Playerspawn", 1)
register_logevent("Event_Roundstart", 2, "1=Round_Start")
g_max_clients=get_maxplayers()
}
/*================================================================================
Events: Event_CurWeapon(id)
=================================================================================*/
public Event_CurWeapon(id)
{
new weaponID = read_data(2)
if(can_have_gun[id])
return PLUGIN_CONTINUE
if(weaponID != CSW_KNIFE)
client_cmd(id, "weapon_knife")
return PLUGIN_CONTINUE
}
/*================================================================================
Events: Event_Playerspawn(id)
=================================================================================*/
public Event_Playerspawn(id)
{
can_have_gun[id]=true
}
/*================================================================================
Events: Event_Roundstart()
=================================================================================*/
public Event_Roundstart()
{
day_active = false
server_cmd("mp_friendlyfire 0")
if (day_scout == true)
{
server_cmd("sv_gravity 800")
}
}
/*================================================================================
Team-Abfrage
=================================================================================*/
public check_team(id)
{
if (IsPlayer(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
daymenu(id)
}
}
/*================================================================================
Counter
=================================================================================*/
public Counter()
{
for (new i = 1; i <= g_max_clients; i++)
{
if (!is_user_alive(i))
{
continue;
}
switch (cs_get_user_team(i))
{
case CS_TEAM_T:
{
g_t++;
}
case CS_TEAM_CT:
{
g_ct++;
}
}
}
}
/*================================================================================
Daymenu
=================================================================================*/
public daymenu(id)
{
if(!IsPlayer(id))
return PLUGIN_HANDLED
new specialmenu = menu_create("[H.S.C]: Waehle das Spiel fuer heute:", "sub_day_menu")
menu_additem(specialmenu, "Spartaday", "1", 0);
menu_additem(specialmenu, "Zombieday", "2", 0);
menu_additem(specialmenu, "Scoutday", "3", 0);
menu_additem(specialmenu, "Awp-Masaker", "4", 0);
menu_additem(specialmenu, "Masakerday", "5", 0);
menu_additem(specialmenu, "Hide n' Seek", "6", 0);
menu_setprop(specialmenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, specialmenu, 0);
return PLUGIN_HANDLED
}
public sub_day_menu(id, specialmenu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(specialmenu);
return PLUGIN_HANDLED;
}
new Data[7], Name[64];
new Access, Callback;
menu_item_getinfo(specialmenu, item, Access, Data,5, Name, 63, Callback);
new Key = str_to_num(Data);
switch (Key)
{
case 1:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "Heute ist Spartaday!")
spartaday(id)
}
}
case 2:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "Heute ist Zombieday!")
zombieday(id)
}
}
case 3:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
day_scout = true
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "Heute ist Scoutday!")
scoutday(id)
}
}
case 4:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "Heute ist Awp-Massaker!")
awpmasaker(id)
}
}
case 5:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(id, "Heute ist Massakerday!")
justmasaker(id)
}
}
case 6:
{
if (day_active == true)
{
client_print(id, print_chat, " %s Es wurde bereits ein Spiel aktiviert", PREFIX)
}
else
{
day_active = true
countdown(id)
}
}
}
menu_destroy(specialmenu);
return PLUGIN_HANDLED;
}
/*================================================================================
Daymenu: Spartaday
=================================================================================*/
public spartaday(id)
{
for(new i = 0; i < g_max_clients; i++)
{
if(IsPlayer(i) && is_user_alive(i))
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
strip_weapons(i)
give_item(i, "weapon_shield")
give_item(i, "weapon_knife")
set_user_health(i, 400)
}
case CS_TEAM_CT:
{
give_item(i, "weapon_deagle")
give_item(i, "weapon_m4a1")
cs_set_user_bpammo(i, CSW_DEAGLE, 35)
cs_set_user_bpammo(i, CSW_M4A1, 120)
}
}
}
}
}
/*================================================================================
Daymenu: Zombieday
=================================================================================*/
public zombieday(id)
{
for(new i = 0; i < g_max_clients; i++)
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
strip_user_weapons(i)
give_item((i), "weapon_knife")
give_item((i), "weapon_m249")
cs_set_user_bpammo((i), CSW_M249, 200)
}
case CS_TEAM_CT:
{
g_ct = 0
g_t = 0
Counter()
new a = g_t * 100
new b = g_ct
new health_1 = a / b
new health = health_1 * 20
set_user_health(i, health)
strip_user_weapons(i)
give_item((i), "weapon_knife")
can_have_gun[i] = false
}
}
}
}
/*================================================================================
Daymenu: Scoutday
=================================================================================*/
public scoutday(id)
{
server_cmd("sv_gravity 200")
for(new i = 0; i < g_max_clients; i++)
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
strip_user_weapons(i)
give_item(i, "weapon_knife")
give_item(i, "weapon_scout")
cs_set_user_bpammo(i, CSW_SCOUT, 90)
}
case CS_TEAM_CT:
{
set_user_health(i, 200)
strip_user_weapons(i)
give_item(i, "weapon_knife")
give_item(i, "weapon_scout")
cs_set_user_bpammo(i, CSW_SCOUT, 90)
}
}
}
return PLUGIN_HANDLED
}
/*================================================================================
Daymenu: Awp-Masakerday
=================================================================================*/
public awpmasaker(id)
{
for(new i = 0; i < g_max_clients; i++)
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
strip_user_weapons(i)
give_item(i, "weapon_knife")
give_item(i, "weapon_awp")
cs_set_user_bpammo(i, CSW_AWP, 90)
}
case CS_TEAM_CT:
{
g_ct = 0
g_t = 0
Counter()
new a = g_t * 100
new b = g_ct
new health_1 = a / b
new healt = health_1 * 10
set_user_health(i, healt)
strip_user_weapons(i)
give_item(i, "weapon_knife")
give_item(i, "weapon_awp")
cs_set_user_bpammo(i, CSW_AWP, 90)
}
}
}
return PLUGIN_HANDLED
}
/*================================================================================
Daymenu: Masakerday
=================================================================================*/
public justmasaker(id)
{
server_cmd("mp_friendlyfire 1")
for(new i = 0; i < g_max_clients; i++)
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
can_have_gun[i] = false
}
}
}
}
/*================================================================================
Daymenu: Hide n' Seek
=================================================================================*/
public countdown(id)
{
new countdowne = menu_create("Countdown:", "menu_handler")
menu_additem(countdowne, "30 Sekunden", "1", 0)
menu_additem(countdowne, "60 Sekunden", "2", 0)
menu_additem(countdowne, "100 Sekunden", "3", 0)
menu_setprop(countdowne, MPROP_EXIT, MEXIT_ALL)
menu_display(id, countdowne, 0)
return PLUGIN_HANDLED
}
public menu_handler(id, countdowne, item)
{
if(item == MENU_EXIT)
{
menu_destroy(countdowne)
return PLUGIN_HANDLED
}
new Data[7], Name[64]
new Access, Callback
menu_item_getinfo(countdowne, item, Access, Data,5, Name, 63, Callback)
new Key = str_to_num(Data)
switch(Key)
{
case 1:
{
timer = 30
set_hudmessage(255, 255, 255, -1.0, 0.86, 0, 6.0, 10.0)
show_hudmessage(0, "Heute spielen wir verstecken!")
}
case 2:
{
timer = 60
set_hudmessage(255, 255, 255, -1.0, 0.86, 0, 6.0, 10.0)
show_hudmessage(0, "Heute spielen wir verstecken!")
}
case 3:
{
timer = 100
set_hudmessage(255, 255, 255, -1.0, 0.86, 0, 6.0, 10.0)
show_hudmessage(0, "Heute spielen wir verstecken!")
}
}
got_name = false
countdownv(id)
menu_destroy(countdowne)
return PLUGIN_HANDLED
}
public countdownv(id)
{
if(!got_name)
get_user_name(id, name, 32)
switch(timer)
{
case 0:
{
set_hudmessage( 0, 255, 0, -1.0, 0.50, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "Wir hoffen, ihr habt euch gut versteckt!")
stop_t_from_moving(id)
}
case 1:
{
set_task(1.0, "countdownv", 0)
}
case 2:
{
set_task(1.0, "countdownv", 0)
}
case 3:
{
set_task(1.0, "countdownv", 0)
}
case 4:
{
set_task(1.0, "countdownv", 0)
}
case 5:
{
set_task(1.0, "countdownv", 0)
}
case 6:
{
set_task(1.0, "countdownv", 0)
}
case 7:
{
set_task(1.0, "countdownv", 0)
}
case 8:
{
set_task(1.0, "countdownv", 0)
}
case 9:
{
set_task(1.0, "countdownv", 0)
}
case 10:
{
set_task(1.0, "countdownv", 0)
}
case 11:
{
set_task(1.0, "countdownv", 0)
}
case 12:
{
set_task(1.0, "countdownv", 0)
}
case 13:
{
set_task(1.0, "countdownv", 0)
}
case 14:
{
set_task(1.0, "countdownv", 0)
}
case 15:
{
set_task(1.0, "countdownv", 0)
}
case 16:
{
set_task(1.0, "countdownv", 0)
}
case 17:
{
set_task(1.0, "countdownv", 0)
}
case 18:
{
set_task(1.0, "countdownv", 0)
}
case 19:
{
set_task(1.0, "countdownv", 0)
}
case 20:
{
set_task(1.0, "countdownv", 0)
}
case 21:
{
set_task(1.0, "countdownv", 0)
}
case 22:
{
set_task(1.0, "countdownv", 0)
}
case 23:
{
set_task(1.0, "countdownv", 0)
}
case 24:
{
set_task(1.0, "countdownv", 0)
}
case 25:
{
set_task(1.0, "countdownv", 0)
}
case 26:
{
set_task(1.0, "countdownv", 0)
}
case 27:
{
set_task(1.0, "countdownv", 0)
}
case 28:
{
set_task(1.0, "countdownv", 0)
}
case 29:
{
set_task(1.0, "countdownv", 0)
}
case 30:
{
set_task(1.0, "countdownv", 0)
}
case 31:
{
set_task(1.0, "countdownv", 0)
}
case 32:
{
set_task(1.0, "countdownv", 0)
}
case 33:
{
set_task(1.0, "countdownv", 0)
}
case 34:
{
set_task(1.0, "countdownv", 0)
}
case 35:
{
set_task(1.0, "countdownv", 0)
}
case 36:
{
set_task(1.0, "countdownv", 0)
}
case 37:
{
set_task(1.0, "countdownv", 0)
}
case 38:
{
set_task(1.0, "countdownv", 0)
}
case 39:
{
set_task(1.0, "countdownv", 0)
}
case 40:
{
set_task(1.0, "countdownv", 0)
}
case 41:
{
set_task(1.0, "countdownv", 0)
}
case 42:
{
set_task(1.0, "countdownv", 0)
}
case 43:
{
set_task(1.0, "countdownv", 0)
}
case 44:
{
set_task(1.0, "countdownv", 0)
}
case 45:
{
set_task(1.0, "countdownv", 0)
}
case 46:
{
set_task(1.0, "countdownv", 0)
}
case 47:
{
set_task(1.0, "countdownv", 0)
}
case 48:
{
set_task(1.0, "countdownv", 0)
}
case 49:
{
set_task(1.0, "countdownv", 0)
}
case 50:
{
set_task(1.0, "countdownv", 0)
}
case 51:
{
set_task(1.0, "countdownv", 0)
}
case 52:
{
set_task(1.0, "countdownv", 0)
}
case 53:
{
set_task(1.0, "countdownv", 0)
}
case 54:
{
set_task(1.0, "countdownv", 0)
}
case 55:
{
set_task(1.0, "countdownv", 0)
}
case 56:
{
set_task(1.0, "countdownv", 0)
}
case 57:
{
set_task(1.0, "countdownv", 0)
}
case 58:
{
set_task(1.0, "countdownv", 0)
}
case 59:
{
set_task(1.0, "countdownv", 0)
}
case 60:
{
set_task(1.0, "countdownv", 0)
}
case 61:
{
set_task(1.0, "countdownv", 0)
}
case 62:
{
set_task(1.0, "countdownv", 0)
}
case 63:
{
set_task(1.0, "countdownv", 0)
}
case 64:
{
set_task(1.0, "countdownv", 0)
}
case 65:
{
set_task(1.0, "countdownv", 0)
}
case 66:
{
set_task(1.0, "countdownv", 0)
}
case 67:
{
set_task(1.0, "countdownv", 0)
}
case 68:
{
set_task(1.0, "countdownv", 0)
}
case 69:
{
set_task(1.0, "countdownv", 0)
}
case 70:
{
set_task(1.0, "countdownv", 0)
}
case 71:
{
set_task(1.0, "countdownv", 0)
}
case 72:
{
set_task(1.0, "countdownv", 0)
}
case 73:
{
set_task(1.0, "countdownv", 0)
}
case 74:
{
set_task(1.0, "countdownv", 0)
}
case 75:
{
set_task(1.0, "countdownv", 0)
}
case 76:
{
set_task(1.0, "countdownv", 0)
}
case 77:
{
set_task(1.0, "countdownv", 0)
}
case 78:
{
set_task(1.0, "countdownv", 0)
}
case 79:
{
set_task(1.0, "countdownv", 0)
}
case 80:
{
set_task(1.0, "countdownv", 0)
}
case 81:
{
set_task(1.0, "countdownv", 0)
}
case 82:
{
set_task(1.0, "countdownv", 0)
}
case 83:
{
set_task(1.0, "countdownv", 0)
}
case 84:
{
set_task(1.0, "countdownv", 0)
}
case 85:
{
set_task(1.0, "countdownv", 0)
}
case 86:
{
set_task(1.0, "countdownv", 0)
}
case 87:
{
set_task(1.0, "countdownv", 0)
}
case 88:
{
set_task(1.0, "countdownv", 0)
}
case 89:
{
set_task(1.0, "countdownv", 0)
}
case 90:
{
set_task(1.0, "countdownv", 0)
}
case 91:
{
set_task(1.0, "countdownv", 0)
}
case 92:
{
set_task(1.0, "countdownv", 0)
}
case 93:
{
set_task(1.0, "countdownv", 0)
}
case 94:
{
set_task(1.0, "countdownv", 0)
}
case 95:
{
set_task(1.0, "countdownv", 0)
}
case 96:
{
set_task(1.0, "countdownv", 0)
}
case 97:
{
set_task(1.0, "countdownv", 0)
}
case 98:
{
set_task(1.0, "countdownv", 0)
}
case 99:
{
set_task(1.0, "countdownv", 0)
}
case 100:
{
set_task(1.0, "countdownv", 0)
}
}
if(timer != 0)
{
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%s startete einen Countdown.^nZeit bis die CT's kommen: %i", name, timer)
timer--
}
got_name = true
}
public stop_t_from_moving(id)
{
for(new i = 0; i < g_max_clients; i++)
{
switch(cs_get_user_team(i))
{
case CS_TEAM_T:
{
set_user_maxspeed(i, 0.1)
}
}
}
}