Raised This Month: $ Target: $400
 0% 

Problem with for-loops


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
reetry
Junior Member
Join Date: Dec 2010
Old 04-03-2011 , 12:37   Problem with for-loops
Reply With Quote #1

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)
            }
        }
    }
}
The following functions have this problem:

justmasaker(id)
scoutday(id)
zombieday(id)
spartaday(id)
awpmasaker(id)

hope you can help me =)

Last edited by reetry; 04-03-2011 at 12:47. Reason: forgot function :P
reetry is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode