Raised This Month: $ Target: $400
 0% 

How to optimize this? (PLEASE)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
OptimizeR
BANNED
Join Date: Jan 2010
Old 01-30-2010 , 00:54   How to optimize this? (PLEASE)
Reply With Quote #1

PHP Code:
public menu_puntos(id)
{
    static 
Items[99999]
    static 
Items2[99999]
    static 
Items3[99999]
    new 
name[33]
    
get_user_name(idname32)
    
formatex(Itemscharsmax(Items),"\yMenu de mejoras humanas^n^nTienes \w%d\y puntos para gastar^nTienes \w%d\y puntos gastados^nGanaras tu proximo punto al matar un\r Nemesis"g_puntos[id], g_gastados[id])
    new 
Menu menu_create(Items"menu_habilidades456")
    
    
formatex(Items2charsmax(Items2), "\w Resetear Mejoras (\r3 puntos\w)")
    
formatex(Items3charsmax(Items3), "\d Resetear Mejoras (\r3 puntos\w)")
    
    
    
// OPCION 1
    
    
if (g_banco[id] == 0)
    {
        if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Daño (1) (\r1 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (1) (\r1 puntos\d)""1"0)
    }
    if (
g_banco[id] == 1)
    {
        if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Daño (2) (\r3 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (2) (\r3 puntos\d)""1"0)
    }
    if (
g_banco[id] == 2)
    {
        if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Daño (3) (\r5 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (3) (\r5 puntos\d)""1"0)
    }
    if (
g_banco[id] == 3)
    {
        if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Daño (4) (\r9 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (4) (\r9 puntos\d)""1"0)
    }
    if (
g_banco[id] == 4)
    {
        if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Daño (5) (\r12 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (5) (\r12 puntos\d)""1"0)
    }
    if (
g_banco[id] == 5)
    {
        if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Daño (6) (\r 15 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (6) (\r 15 puntos\d)""1"0)
    }
    if (
g_banco[id] == 6)
    {
        if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Daño (7) (\r 20 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (7) (\r 20 puntos\d)""1"0)
    }
    if (
g_banco[id] == 7)
    {
        if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Daño (8) (\r 24 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (8) (\r 24 puntos\d)""1"0)
    }
    if (
g_banco[id] == 8)
    {
        if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Daño (9) (\r 32 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (9) (\r 32 puntos\d)""1"0)
    }
    if (
g_banco[id] == 9)
    {
        if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Daño (10) (\r 42 puntos\w)""1"0)
        else
            
menu_additem(Menu"\d Aumentar Daño (10) (\r 42 puntos\d)""1"0)
    }
    
    if (
g_banco[id] == 10)
    {
        
menu_additem(Menu"\w Aumentar Daño (\yMAX\w)""1"0)
    }
    
    
// OPCION 2
    
    
if (g_banco1[id] == 0)
    {
        if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Vida (1) (\r1 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (1) (\r1 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 1)
    {
        if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Vida (2) (\r3 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (2) (\r3 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 2)
    {
        if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Vida (3) (\r5 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (3) (\r5 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 3)
    {
        if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Vida (4) (\r9 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (4) (\r9 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 4)
    {
        if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Vida (5) (\r12 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (5) (\r12 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 5)
    {
        if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Vida (6) (\r15 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (6) (\r15 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 6)
    {
        if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Vida (7) (\r20 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (7) (\r20 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 7)
    {
        if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Vida (8) (\r24 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (8) (\r24 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 8)
    {
        if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Vida (9) (\r32 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (9) (\r32 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 9)
    {
        if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Vida (10) (\r42 puntos\w)""2"0)
        else
            
menu_additem(Menu"\d Aumentar Vida (10) (\r42 puntos\d)""2"0)
    }
    if (
g_banco1[id] == 10)
    {
        
menu_additem(Menu"\w Aumentar Vida (\yMAX\w)""2"0)
    }
    
    
// OPCION 3
    
    
if (g_banco2[id] == 0)
    {
        if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Velocidad (1) (\r1 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (1) (\r1 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 1)
    {
        if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Velocidad (2) (\r3 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (2) (\r3 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 2)
    {
        if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Velocidad (3) (\r5 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (3) (\r5 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 3)
    {
        if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Velocidad (4) (\r9 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (4) (\r9 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 4)
    {
        if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Velocidad (5) (\r12 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (5) (\r12 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 5)
    {
        if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Velocidad (6) (\r15 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (6) (\r15 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 6)
    {
        if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Velocidad (7) (\r20 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (7) (\r20 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 7)
    {
        if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Velocidad (8) (\r24 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (8) (\r24 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 8)
    {
        if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Velocidad (9) (\r32 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (9) (\r32 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 9)
    {
        if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Velocidad (10) (\r42 puntos\w)^n^n""3"0)
        else
            
menu_additem(Menu"\d Aumentar Velocidad (10) (\r42 puntos\d)^n^n""3"0)
    }
    if (
g_banco2[id] == 10)
    {
        
menu_additem(Menu"\w Aumentar Velocidad (\yMAX\w)""3"0)
    }
    
    
// OPCION 4
    
    
if (g_banco[id] >= 10 || g_banco1[id] >= 10 || g_banco2[id] >= 10)
    {
        if (
g_banco4[id] == 0)
        {
            if (
g_puntos[id] >= 1)
                
menu_additem(Menu"\w Aumentar Armadura (1) (\r1 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (1) (\r1 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 1)
        {
            if (
g_puntos[id] >= 3)
                
menu_additem(Menu"\w Aumentar Armadura (2) (\r3 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (2) (\r3 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 2)
        {
            if (
g_puntos[id] >= 5)
                
menu_additem(Menu"\w Aumentar Armadura (3) (\r5 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (3) (\r5 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 3)
        {
            if (
g_puntos[id] >= 9)
                
menu_additem(Menu"\w Aumentar Armadura (4) (\r9 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (4) (\r9 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 4)
        {
            if (
g_puntos[id] >= 12)
                
menu_additem(Menu"\w Aumentar Armadura (5) (\r12 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (5) (\r12 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 5)
        {
            if (
g_puntos[id] >= 15)
                
menu_additem(Menu"\w Aumentar Armadura (6) (\r15 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (6) (\r15 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 6)
        {
            if (
g_puntos[id] >= 20)
                
menu_additem(Menu"\w Aumentar Armadura (7) (\r20 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (7) (\r20 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 7)
        {
            if (
g_puntos[id] >= 24)
                
menu_additem(Menu"\w Aumentar Armadura (8) (\r24 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (8) (\r24 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 8)
        {
            if (
g_puntos[id] >= 32)
                
menu_additem(Menu"\w Aumentar Armadura (9) (\r32 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (9) (\r32 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 9)
        {
            if (
g_puntos[id] >= 42)
                
menu_additem(Menu"\w Aumentar Armadura (10) (\r42 puntos\w)^n^n""4"0)
            else
                
menu_additem(Menu"\d Aumentar Armadura (10) (\r42 puntos\d)^n^n""4"0)
        }
        if (
g_banco4[id] == 10)
        {
            
menu_additem(Menu"\w Aumentar Armadura (\yMAX\w)^n^n""4"0)
        }
        if (
g_puntos[id] >= 3)
        {
            
menu_additem(MenuItems2"5"0)
        }
        else
        {
            
menu_additem(MenuItems3"5"0)
        }
    }
    else
    {
        if (
g_puntos[id] >= 3)
        {
            
menu_additem(MenuItems2"4"0)
        }
        else
        {
            
menu_additem(MenuItems3"4"0)
        }
    }
    
    
menu_setprop(MenuMPROP_EXITNAME"\ySalir")
    
menu_display(idMenu0)
}

public 
menu_habilidades456(idMenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(Menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    menu_item_getinfo
(MenuitemAccessDatasizeof(Data)-1Namesizeof(Name)-1Callback)
    
    new 
Key str_to_num(Data)
    
    switch (
Key)
    {
        case 
1:
        {
            if (
g_banco[id] == 9)
            {
                if (
g_puntos[id] >= 42)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 42
                    g_gastados
[id] += 42
                
}
            }
            if (
g_banco[id] == 8)
            {
                if (
g_puntos[id] >= 32)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 32
                    g_gastados
[id] += 32
                
}
            }
            if (
g_banco[id] == 7)
            {
                if (
g_puntos[id] >= 24)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 24
                    g_gastados
[id] += 24
                
}
            }
            if (
g_banco[id] == 6)
            {
                if (
g_puntos[id] >= 20)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 20
                    g_gastados
[id] += 20
                
}
            }
            if (
g_banco[id] == 5)
            {
                if (
g_puntos[id] >= 15)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 15
                    g_gastados
[id] += 15
                
}
            }
            if (
g_banco[id] == 4)
            {
                if (
g_puntos[id] >= 12)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 12
                    g_gastados
[id] += 12
                
}
            }
            if (
g_banco[id] == 3)
            {
                if (
g_puntos[id] >= 9)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 9
                    g_gastados
[id] += 9
                
}
            }
            if (
g_banco[id] == 2)
            {
                if (
g_puntos[id] >= 5)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 5
                    g_gastados
[id] += 5
                
}
            }
            if (
g_banco[id] == 1)
            {
                if (
g_puntos[id] >= 3)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 3
                    g_gastados
[id] += 3
                
}
            }
            if (
g_banco[id] == 0)
            {
                if (
g_puntos[id] >= 1)
                {
                    
g_banco[id]++
                    
g_puntos[id] -= 1
                    g_gastados
[id]++
                }
            }
            
menu_puntos(id)
        }
        case 
2:
        {
            if (
g_banco1[id] == 9)
            {
                if (
g_puntos[id] >= 42)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 42
                    g_gastados
[id] += 42
                
}
            }
            if (
g_banco1[id] == 8)
            {
                if (
g_puntos[id] >= 32)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 32
                    g_gastados
[id] += 32
                
}
            }
            if (
g_banco1[id] == 7)
            {
                if (
g_puntos[id] >= 24)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 24
                    g_gastados
[id] += 24
                
}
            }
            if (
g_banco1[id] == 6)
            {
                if (
g_puntos[id] >= 20)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 20
                    g_gastados
[id] += 20
                
}
            }
            if (
g_banco1[id] == 5)
            {
                if (
g_puntos[id] >= 15)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 15
                    g_gastados
[id] += 15
                
}
            }
            if (
g_banco1[id] == 4)
            {
                if (
g_puntos[id] >= 12)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 12
                    g_gastados
[id] += 12
                
}
            }
            if (
g_banco1[id] == 3)
            {
                if (
g_puntos[id] >= 9)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 9
                    g_gastados
[id] += 9
                
}
            }
            if (
g_banco1[id] == 2)
            {
                if (
g_puntos[id] >= 5)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 5
                    g_gastados
[id] += 5
                    
                
}
            }
            if (
g_banco1[id] == 1)
            {
                if (
g_puntos[id] >= 3)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 3
                    g_gastados
[id] += 3
                
}
            }
            if (
g_banco1[id] == 0)
            {
                if (
g_puntos[id] >= 1)
                {
                    
g_banco1[id]++
                    
g_puntos[id] -= 1
                    g_gastados
[id] += 1
                
}
            }
            
menu_puntos(id)
        }
        
        case 
3:
        {
            if (
g_banco2[id] == 9)
            {
                if (
g_puntos[id] >= 42)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 42
                    g_gastados
[id] += 42
                
}
            }
            if (
g_banco2[id] == 8)
            {
                if (
g_puntos[id] >= 32)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 32
                    g_gastados
[id] += 32
                
}
            }
            if (
g_banco2[id] == 7)
            {
                if (
g_puntos[id] >= 24)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 24
                    g_gastados
[id] += 24
                
}
            }
            if (
g_banco2[id] == 6)
            {
                if (
g_puntos[id] >= 20)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 20
                    g_gastados
[id] += 20
                
}
            }
            if (
g_banco2[id] == 5)
            {
                if (
g_puntos[id] >= 15)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 15
                    g_gastados
[id] += 15
                
}
            }
            if (
g_banco2[id] == 4)
            {
                if (
g_puntos[id] >= 12)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 12
                    g_gastados
[id] += 12
                
}
            }
            if (
g_banco2[id] == 3)
            {
                if (
g_puntos[id] >= 9)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 9
                    g_gastados
[id] += 9
                
}
            }
            if (
g_banco2[id] == 2)
            {
                if (
g_puntos[id] >= 5)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 5
                    g_gastados
[id] += 5
                
}
            }
            if (
g_banco2[id] == 1)
            {
                if (
g_puntos[id] >= 3)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 3
                    g_gastados
[id] += 3
                
}
            }
            if (
g_banco2[id] == 0)
            {
                if (
g_puntos[id] >= 1)
                {
                    
g_banco2[id]++
                    
g_puntos[id] -= 1
                    g_gastados
[id] += 1
                
}
            }
            
menu_puntos(id)
        }
        
        case 
4:
        {
            if (
g_banco[id] >= 10 || g_banco1[id] >= 10 || g_banco2[id] >= 10)
            {
                if (
g_banco4[id] == 9)
                {
                    if (
g_puntos[id] >= 42)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 42
                        g_gastados
[id] += 42
                    
}
                }
                if (
g_banco4[id] == 8)
                {
                    if (
g_puntos[id] >= 32)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 32
                        g_gastados
[id] += 32
                    
}
                }
                if (
g_banco4[id] == 7)
                {
                    if (
g_puntos[id] >= 24)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 24
                        g_gastados
[id] += 24
                    
}
                }
                if (
g_banco4[id] == 6)
                {
                    if (
g_puntos[id] >= 20)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 20
                        g_gastados
[id] += 20
                    
}
                }
                if (
g_banco4[id] == 5)
                {
                    if (
g_puntos[id] >= 15)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 15
                        g_gastados
[id] += 15
                    
}
                }
                if (
g_banco4[id] == 4)
                {
                    if (
g_puntos[id] >= 12)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 12
                        g_gastados
[id] += 12
                    
}
                }
                if (
g_banco4[id] == 3)
                {
                    if (
g_puntos[id] >= 9)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 9
                        g_gastados
[id] += 9
                    
}
                }
                if (
g_banco4[id] == 2)
                {
                    if (
g_puntos[id] >= 5)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 5
                        g_gastados
[id] += 5
                    
}
                }
                if (
g_banco4[id] == 1)
                {
                    if (
g_puntos[id] >= 3)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 3
                        g_gastados
[id] += 3
                    
}
                }
                if (
g_banco4[id] == 0)
                {
                    if (
g_puntos[id] >= 1)
                    {
                        
g_banco4[id]++
                        
g_puntos[id] -= 1
                        g_gastados
[id]++
                    }
                }
                
menu_puntos(id)
                return 
PLUGIN_HANDLED
            
}
            if (
g_puntos[id] >= 3)
            {
                
g_banco[id] = 0
                g_banco1
[id] = 0
                g_banco2
[id] = 0
                g_banco4
[id] = 0
                g_puntos
[id] -= 3
                g_puntos
[id] += g_gastados[id]
                
zp_colored_print(id"^x04[ZA]^x01 Puntos devueltos:^x04 %d^x01 Puntos actuales:^x04 %d"g_gastados[id], g_puntos[id])
                
g_gastados[id] = 0
            
}
            
menu_puntos(id)
        }
        case 
5:
        {
            if (
g_puntos[id] >= 3)
            {
                
g_banco[id] = 0
                g_banco1
[id] = 0
                g_banco2
[id] = 0
                g_puntos
[id] -= 3
                g_puntos
[id] += g_gastados[id]
                
zp_colored_print(id"^x04[ZA]^x01 Puntos devueltos:^x04 %d^x01 Puntos actuales:^x04 %d"g_gastados[id], g_puntos[id])
                
g_gastados[id] = 0
            
}
            
menu_puntos(id)
        }
    }
    
menu_destroy(Menu)
    
SaveExp(id)
    return 
PLUGIN_HANDLED


Last edited by OptimizeR; 01-30-2010 at 01:20.
OptimizeR is offline
Old 01-30-2010, 01:34
OptimizeR
This message has been deleted by OptimizeR. Reason: Sorry
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 01-30-2010 , 04:01   Re: How to optimize this? (PLEASE)
Reply With Quote #2

Use switches in instead of if() if() if() if() if() if(). One for ever "option"
__________________
fysiks is offline
OptimizeR
BANNED
Join Date: Jan 2010
Old 01-30-2010 , 14:24   Re: How to optimize this? (PLEASE)
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
Use switches in instead of if() if() if() if() if() if(). One for ever "option"
Look this, is ok?

PHP Code:
public menu_puntos(id)
{
    static 
Items[999], Items2[999], Items3[999]
    new 
name[33], Menu
    get_user_name
(idname32)
    
formatex(Itemscharsmax(Items),"\yMenu de mejoras humanas^n^nTienes \w%d\y puntos para gastar^nTienes \w%d\y puntos gastados^nGanaras tu proximo punto al matar un\r Nemesis"g_puntos[id], g_gastados[id])
    
Menu menu_create(Items"menu_habilidades456")
    
    
formatex(Items2charsmax(Items2), "\w Resetear Mejoras (\r3 puntos\w)")
    
formatex(Items3charsmax(Items3), "\d Resetear Mejoras (\r3 puntos\w)")
    
    
    
// OPCION 1
    
static banco1
    banco1 
g_banco[id]
    switch(
banco1)
    {
        case 
0:
        {
            if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Daño (1) (\r1 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (1) (\r1 puntos\d)""1"0)
        }
        case 
1:
        {
            if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Daño (2) (\r3 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (2) (\r3 puntos\d)""1"0)
        }
        case 
2:
        {
            if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Daño (3) (\r5 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (3) (\r5 puntos\d)""1"0)
        }
        case 
3:
        {
            if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Daño (4) (\r9 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (4) (\r9 puntos\d)""1"0)
        }
        case 
4:
        {
            if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Daño (5) (\r12 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (5) (\r12 puntos\d)""1"0)
        }
        case 
5:
        {
            if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Daño (6) (\r 15 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (6) (\r 15 puntos\d)""1"0)
        }
        case 
6:
        {
            if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Daño (7) (\r 20 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (7) (\r 20 puntos\d)""1"0)
        }
        case 
7:
        {
            if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Daño (8) (\r 24 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (8) (\r 24 puntos\d)""1"0)
        }
        case 
8:
        {
            if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Daño (9) (\r 32 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (9) (\r 32 puntos\d)""1"0)
        }
        case 
9:
        {
            if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Daño (10) (\r 42 puntos\w)""1"0)
            else
            
menu_additem(Menu"\d Aumentar Daño (10) (\r 42 puntos\d)""1"0)
        }
        case 
10menu_additem(Menu"\w Aumentar Daño (\yMAX\w)""1"0)
    }
    
    static 
banco2
    banco2 
g_banco1[id]

    switch(
banco2)
    {
        case 
0:
        {
            if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Vida (1) (\r1 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (1) (\r1 puntos\d)""2"0)
        }
        case 
1:
        {
            if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Vida (2) (\r3 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (2) (\r3 puntos\d)""2"0)
        }
        case 
2:
        {
            if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Vida (3) (\r5 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (3) (\r5 puntos\d)""2"0)
        }
        case 
3:
        {
            if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Vida (4) (\r9 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (4) (\r9 puntos\d)""2"0)
        }
        case 
4:
        {
            if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Vida (5) (\r12 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (5) (\r12 puntos\d)""2"0)
        }
        case 
5:
        {
            if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Vida (6) (\r15 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (6) (\r15 puntos\d)""2"0)
        }
        case 
6:
        {
            if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Vida (7) (\r20 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (7) (\r20 puntos\d)""2"0)
        }
        case 
7:
        {
            if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Vida (8) (\r24 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (8) (\r24 puntos\d)""2"0)
        }
        case 
8:
        {
            if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Vida (9) (\r32 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (9) (\r32 puntos\d)""2"0)
        }
        case 
9:
        {
            if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Vida (10) (\r42 puntos\w)""2"0)
            else
            
menu_additem(Menu"\d Aumentar Vida (10) (\r42 puntos\d)""2"0)
        }
        case 
10menu_additem(Menu"\w Aumentar Vida (\yMAX\w)""2"0)
    }
    
    static 
banco3
    banco3 
g_banco2[id]
    
    switch(
banco3)
    {
        case 
0:
        {
            if (
g_puntos[id] >= 1)
            
menu_additem(Menu"\w Aumentar Velocidad (1) (\r1 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (1) (\r1 puntos\d)^n^n""3"0)
        }
        case 
1:
        {
            if (
g_puntos[id] >= 3)
            
menu_additem(Menu"\w Aumentar Velocidad (2) (\r3 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (2) (\r3 puntos\d)^n^n""3"0)
        }
        case 
2:
        {
            if (
g_puntos[id] >= 5)
            
menu_additem(Menu"\w Aumentar Velocidad (3) (\r5 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (3) (\r5 puntos\d)^n^n""3"0)
        }
        case 
3:
        {
            if (
g_puntos[id] >= 9)
            
menu_additem(Menu"\w Aumentar Velocidad (4) (\r9 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (4) (\r9 puntos\d)^n^n""3"0)
        }
        case 
4:
        {
            if (
g_puntos[id] >= 12)
            
menu_additem(Menu"\w Aumentar Velocidad (5) (\r12 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (5) (\r12 puntos\d)^n^n""3"0)
        }
        case 
5:
        {
            if (
g_puntos[id] >= 15)
            
menu_additem(Menu"\w Aumentar Velocidad (6) (\r15 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (6) (\r15 puntos\d)^n^n""3"0)
        }
        case 
6:
        {
            if (
g_puntos[id] >= 20)
            
menu_additem(Menu"\w Aumentar Velocidad (7) (\r20 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (7) (\r20 puntos\d)^n^n""3"0)
        }
        case 
7:
        {
            if (
g_puntos[id] >= 24)
            
menu_additem(Menu"\w Aumentar Velocidad (8) (\r24 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (8) (\r24 puntos\d)^n^n""3"0)
        }
        case 
8:
        {
            if (
g_puntos[id] >= 32)
            
menu_additem(Menu"\w Aumentar Velocidad (9) (\r32 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (9) (\r32 puntos\d)^n^n""3"0)
        }
        case 
9:
        {
            if (
g_puntos[id] >= 42)
            
menu_additem(Menu"\w Aumentar Velocidad (10) (\r42 puntos\w)^n^n""3"0)
            else
            
menu_additem(Menu"\d Aumentar Velocidad (10) (\r42 puntos\d)^n^n""3"0)
        }
        case 
10menu_additem(Menu"\w Aumentar Velocidad (\yMAX\w)""3"0)
    }
    if (
g_banco[id] >= 10 || g_banco1[id] >= 10 || g_banco2[id] >= 10)
    {
        static 
banco4
        banco4 
g_banco4[id]
        
        switch(
banco4)
        {
            case 
0:
            {
                if (
g_puntos[id] >= 1)
                
menu_additem(Menu"\w Aumentar Armadura (1) (\r1 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (1) (\r1 puntos\d)^n^n""4"0)
            }
            case 
1:
            {
                if (
g_puntos[id] >= 3)
                
menu_additem(Menu"\w Aumentar Armadura (2) (\r3 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (2) (\r3 puntos\d)^n^n""4"0)
            }
            case 
2:
            {
                if (
g_puntos[id] >= 5)
                
menu_additem(Menu"\w Aumentar Armadura (3) (\r5 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (3) (\r5 puntos\d)^n^n""4"0)
            }
            case 
3:
            {
                if (
g_puntos[id] >= 9)
                
menu_additem(Menu"\w Aumentar Armadura (4) (\r9 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (4) (\r9 puntos\d)^n^n""4"0)
            }
            case 
4:
            {
                if (
g_puntos[id] >= 12)
                
menu_additem(Menu"\w Aumentar Armadura (5) (\r12 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (5) (\r12 puntos\d)^n^n""4"0)
            }
            case 
5:
            {
                if (
g_puntos[id] >= 15)
                
menu_additem(Menu"\w Aumentar Armadura (6) (\r15 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (6) (\r15 puntos\d)^n^n""4"0)
            }
            case 
6:
            {
                if (
g_puntos[id] >= 20)
                
menu_additem(Menu"\w Aumentar Armadura (7) (\r20 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (7) (\r20 puntos\d)^n^n""4"0)
            }
            case 
7:
            {
                if (
g_puntos[id] >= 24)
                
menu_additem(Menu"\w Aumentar Armadura (8) (\r24 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (8) (\r24 puntos\d)^n^n""4"0)
            }
            case 
8:
            {
                if (
g_puntos[id] >= 32)
                
menu_additem(Menu"\w Aumentar Armadura (9) (\r32 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (9) (\r32 puntos\d)^n^n""4"0)
            }
            case 
9:
            {
                if (
g_puntos[id] >= 42)
                
menu_additem(Menu"\w Aumentar Armadura (10) (\r42 puntos\w)^n^n""4"0)
                else
                
menu_additem(Menu"\d Aumentar Armadura (10) (\r42 puntos\d)^n^n""4"0)
            }
            case 
10menu_additem(Menu"\w Aumentar Armadura (\yMAX\w)^n^n""4"0)
        }
        if (
g_puntos[id] >= 3)
        {
            
menu_additem(MenuItems2"5"0)
        }
        else
        {
            
menu_additem(MenuItems3"5"0)
        }
    }
    else
    {
        if (
g_puntos[id] >= 3)
        {
            
menu_additem(MenuItems2"4"0)
        }
        else
        {
            
menu_additem(MenuItems3"4"0)
        }
    }
    
    
menu_setprop(MenuMPROP_EXITNAME"\ySalir")
    
menu_display(idMenu0)
}

public 
menu_habilidades456(idMenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(Menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    menu_item_getinfo
(MenuitemAccessDatasizeof(Data)-1Namesizeof(Name)-1Callback)
    
    new 
Key str_to_num(Data)
    
    switch (
Key)
    {
        case 
1:
        {
            static 
banco1
            banco1 
g_banco[id]
            
            switch(
banco1)
            {
                case 
9:
                {
                    if (
g_puntos[id] >= 42)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 42
                        g_gastados
[id] += 42
                    
}
                }
                case 
8:
                {
                    if (
g_puntos[id] >= 32)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 32
                        g_gastados
[id] += 32
                    
}
                }
                case 
7:
                {
                    if (
g_puntos[id] >= 24)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 24
                        g_gastados
[id] += 24
                    
}
                }
                case 
6:
                {
                    if (
g_puntos[id] >= 20)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 20
                        g_gastados
[id] += 20
                    
}
                }
                case 
5:
                {
                    if (
g_puntos[id] >= 15)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 15
                        g_gastados
[id] += 15
                    
}
                }
                case 
4:
                {
                    if (
g_puntos[id] >= 12)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 12
                        g_gastados
[id] += 12
                    
}
                }
                case 
3:
                {
                    if (
g_puntos[id] >= 9)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 9
                        g_gastados
[id] += 9
                    
}
                }
                case 
2:
                {
                    if (
g_puntos[id] >= 5)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 5
                        g_gastados
[id] += 5
                    
}
                }
                case 
1:
                {
                    if (
g_puntos[id] >= 3)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 3
                        g_gastados
[id] += 3
                    
}
                }
                case 
0:
                {
                    if (
g_puntos[id] >= 1)
                    {
                        
g_banco[id]++
                        
g_puntos[id] -= 1
                        g_gastados
[id]++
                    }
                }
            }
            
menu_puntos(id)
        }
        case 
2:
        {
            static 
banco2
            banco2 
g_banco1[id]
            
            switch(
banco2)
            {
                case 
9:
                {
                    if (
g_puntos[id] >= 42)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 42
                        g_gastados
[id] += 42
                    
}
                }
                case 
8:
                {
                    if (
g_puntos[id] >= 32)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 32
                        g_gastados
[id] += 32
                    
}
                }
                case 
7:
                {
                    if (
g_puntos[id] >= 24)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 24
                        g_gastados
[id] += 24
                    
}
                }
                case 
6:
                {
                    if (
g_puntos[id] >= 20)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 20
                        g_gastados
[id] += 20
                    
}
                }
                case 
5:
                {
                    if (
g_puntos[id] >= 15)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 15
                        g_gastados
[id] += 15
                    
}
                }
                case 
4:
                {
                    if (
g_puntos[id] >= 12)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 12
                        g_gastados
[id] += 12
                    
}
                }
                case 
3:
                {
                    if (
g_puntos[id] >= 9)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 9
                        g_gastados
[id] += 9
                    
}
                }
                case 
2:
                {
                    if (
g_puntos[id] >= 5)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 5
                        g_gastados
[id] += 5
                        
                    
}
                }
                case 
1:
                {
                    if (
g_puntos[id] >= 3)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 3
                        g_gastados
[id] += 3
                    
}
                }
                case 
0:
                {
                    if (
g_puntos[id] >= 1)
                    {
                        
g_banco1[id]++
                        
g_puntos[id] -= 1
                        g_gastados
[id] += 1
                    
}
                }
            }
            
menu_puntos(id)
        }
        
        case 
3:
        {
            static 
banco3
            banco3 
g_banco2[id]
            
            switch(
banco3)
            {
                case 
9:
                {
                    if (
g_puntos[id] >= 42)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 42
                        g_gastados
[id] += 42
                    
}
                }
                case 
8:
                {
                    if (
g_puntos[id] >= 32)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 32
                        g_gastados
[id] += 32
                    
}
                }
                case 
7:
                {
                    if (
g_puntos[id] >= 24)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 24
                        g_gastados
[id] += 24
                    
}
                }
                case 
6:
                {
                    if (
g_puntos[id] >= 20)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 20
                        g_gastados
[id] += 20
                    
}
                }
                case 
5:
                {
                    if (
g_puntos[id] >= 15)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 15
                        g_gastados
[id] += 15
                    
}
                }
                case 
4:
                {
                    if (
g_puntos[id] >= 12)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 12
                        g_gastados
[id] += 12
                    
}
                }
                case 
3:
                {
                    if (
g_puntos[id] >= 9)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 9
                        g_gastados
[id] += 9
                    
}
                }
                case 
2:
                {
                    if (
g_puntos[id] >= 5)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 5
                        g_gastados
[id] += 5
                    
}
                }
                case 
1:
                {
                    if (
g_puntos[id] >= 3)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 3
                        g_gastados
[id] += 3
                    
}
                }
                case 
0:
                {
                    if (
g_puntos[id] >= 1)
                    {
                        
g_banco2[id]++
                        
g_puntos[id] -= 1
                        g_gastados
[id] += 1
                    
}
                }
            }
            
menu_puntos(id)
        }
        
        case 
4:
        {
            if (
g_banco[id] >= 10 || g_banco1[id] >= 10 || g_banco2[id] >= 10)
            {
                static 
banco4
                banco4 
g_banco4[id]
                
                switch(
banco4)
                {
                    case 
9:
                    {
                        if (
g_puntos[id] >= 42)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 42
                            g_gastados
[id] += 42
                        
}
                    }
                    case 
8:
                    {
                        if (
g_puntos[id] >= 32)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 32
                            g_gastados
[id] += 32
                        
}
                    }
                    case 
7:
                    {
                        if (
g_puntos[id] >= 24)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 24
                            g_gastados
[id] += 24
                        
}
                    }
                    case 
6:
                    {
                        if (
g_puntos[id] >= 20)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 20
                            g_gastados
[id] += 20
                        
}
                    }
                    case 
5:
                    {
                        if (
g_puntos[id] >= 15)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 15
                            g_gastados
[id] += 15
                        
}
                    }
                    case 
4:
                    {
                        if (
g_puntos[id] >= 12)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 12
                            g_gastados
[id] += 12
                        
}
                    }
                    case 
3:
                    {
                        if (
g_puntos[id] >= 9)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 9
                            g_gastados
[id] += 9
                        
}
                    }
                    case 
2:
                    {
                        if (
g_puntos[id] >= 5)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 5
                            g_gastados
[id] += 5
                        
}
                    }
                    case 
1:
                    {
                        if (
g_puntos[id] >= 3)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 3
                            g_gastados
[id] += 3
                        
}
                    }
                    case 
0:
                    {
                        if (
g_puntos[id] >= 1)
                        {
                            
g_banco4[id]++
                            
g_puntos[id] -= 1
                            g_gastados
[id]++
                        }
                    }
                }
                
menu_puntos(id)
                return 
PLUGIN_HANDLED
            
}
            if (
g_puntos[id] >= 3)
            {
                
g_banco[id] = 0
                g_banco1
[id] = 0
                g_banco2
[id] = 0
                g_banco4
[id] = 0
                g_puntos
[id] -= 3
                g_puntos
[id] += g_gastados[id]
                
zp_colored_print(id"^x04[ZA]^x01 Puntos devueltos:^x04 %d^x01 Puntos actuales:^x04 %d"g_gastados[id], g_puntos[id])
                
g_gastados[id] = 0
            
}
            
menu_puntos(id)
        }
        case 
5:
        {
            if (
g_puntos[id] >= 3)
            {
                
g_banco[id] = 0
                g_banco1
[id] = 0
                g_banco2
[id] = 0
                g_puntos
[id] -= 3
                g_puntos
[id] += g_gastados[id]
                
zp_colored_print(id"^x04[ZA]^x01 Puntos devueltos:^x04 %d^x01 Puntos actuales:^x04 %d"g_gastados[id], g_puntos[id])
                
g_gastados[id] = 0
            
}
            
menu_puntos(id)
        }
    }
    
menu_destroy(Menu)
    
SaveExp(id)
    return 
PLUGIN_HANDLED

OptimizeR is offline
Sylwester
Veteran Member
Join Date: Oct 2006
Location: Poland
Old 01-30-2010 , 16:37   Re: How to optimize this? (PLEASE)
Reply With Quote #4

Quote:
Originally Posted by fysiks View Post
Use switches in instead of if() if() if() if() if() if(). One for ever "option"
lol, like it would fix the main problem...

Quote:
Originally Posted by OptimizeR View Post
Look this, is ok?
It looks as bad as before. You should use loop. I can't help you much with this because it's not coded in english and I don't know how is it supposed to work.

Example menu + handler from one of my plugins (it's using old menu system, but it doesn't matter):
PHP Code:
public menu_buy_upg(idpage){
    static 
ikeysposupgpricemaxcache[1024]
    
pos 0
    keys 
0
    
if(page*8>=g_enabled_upgs)
        
page 0
    g_p_menu_page
[id] = page

    max 
= (g_enabled_upgs-1)/8+1
    
if(max<1)
        
max=1
    pos 
+= format(cache[pos], 1023-pos"\yRPG mod \d[#.1]\wBuy menu^n\d[%d/%d]\w[Credits: \y%d\w]^n\wn. \d[ \wlvl\d ][\wprice\d]\wupgrade^n^n"page+1maxg_p_credits[id])
    
max g_enabled_upgs page*8
    
if(max>8)
        
max=8
    
for(i=0i<8i++){
        if(
i>=max){
            
pos += formatex(cache[pos], 1023-pos"\d%d.^n"i+1)
            continue
        }
        
upg g_enabled_list[i+page*8]
        
price g_upg_sp[upg] + g_upg_ip[upg]*g_p_upg[id][upg]
        if(
g_p_upg[id][upg] >= g_upg_maxlvl[upg]){
            
pos += formatex(cache[pos], 1023-pos"\d%d. [\rmax\d][-----]%s^n"i+1g_upg_name[upg])
        }else if(
price g_p_credits[id]){
            
pos += formatex(cache[pos], 1023-pos"\d%d. [%4d ][\r%5d \d]%s^n"i+1g_p_upg[id][upg]+1priceg_upg_name[upg])
        }else{
            
pos += formatex(cache[pos], 1023-pos"\w%d. \d[\w%4d \d][\y%5d \d]\w%s^n"i+1g_p_upg[id][upg]+1priceg_upg_name[upg])
            
keys keys|(1<<i)
        }
    }

    
pos += formatex(cache[pos], 1023-pos"^n%s9. More...^n"g_enabled_upgs>"\w" "\d")
    
keys keys|(1<<8)|(1<<9)
    
pos += formatex(cache[pos], 1023-pos"\w0. Back^n")
    
show_menuidkeyscache, -1)
    return 
PLUGIN_HANDLED
}


public 
hnd_menu_buy_upg(id,key){
    static 
upg

    
if(key<8){
        
upg g_enabled_list[g_p_menu_page[id]*8+key]
        
g_p_credits[id] -= g_upg_sp[upg] + g_upg_ip[upg]*g_p_upg[id][upg]
        
g_p_upg[id][upg]++
        
upgrade_change(idupg)
        
menu_buy_upg(idg_p_menu_page[id])
    }else if(
key==8){
        
menu_buy_upg(idg_p_menu_page[id]+1)
    }else{
        
menu_main(id)
    }

    return 
PLUGIN_HANDLED

You can probably change your menu code into something as short as this too.
__________________
Impossible is Nothing
Sylwester is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 01-30-2010 , 17:26   Re: How to optimize this? (PLEASE)
Reply With Quote #5

Quote:
Originally Posted by Sylwester View Post
Quote:
Originally Posted by fysiks View Post
Use switches in instead of if() if() if() if() if() if(). One for ever "option"
lol, like it would fix the main problem...
It's still an optimization of his original code . I wasn't willing to offer much more because it's not in English.
__________________
fysiks is offline
Seta00
The Seta00 user has crashed.
Join Date: Jan 2010
Location: Berlin
Old 01-31-2010 , 06:55   Re: How to optimize this? (PLEASE)
Reply With Quote #6

To minimally optimize this code you have to rewrite it from scratch. You're using non-english code, magic numbers everywhere and lots and lots of unnecessary ifs.
Seta00 is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 01-31-2010 , 09:56   Re: How to optimize this? (PLEASE)
Reply With Quote #7

90% of that code is redundant.

Like so:

PHP Code:
switch ( val )
{
    case 
90CallFunc"something 90" );
    case 
55callfunc"something 55" );

May as well just do:

PHP Code:
CallFunc"something %d" val ); 
Not all of the numbers match like that but you can create an array for those that don't or use multiplication if possible.
__________________
Bugsy is offline
Owyn
Veteran Member
Join Date: Nov 2007
Old 01-31-2010 , 10:26   Re: How to optimize this? (PLEASE)
Reply With Quote #8

Quote:
Use switches in instead of if() if() if() if() if() if()
why? switch+case is pretty same as if+else if

i think it's a matter of code look only
__________________
☜ Free Mozy ☂backup\҉sync user
Quote:
Американский форум - Задаёшь вопрос, потом тебе отвечают.
Израильский форум - Задаёшь вопрос, потом тебе задают вопрос.
Русский форум - Задаёшь вопрос, потом тебе долго рассказывают, какой ты мудак.
Owyn is offline
Send a message via ICQ to Owyn
Sylwester
Veteran Member
Join Date: Oct 2006
Location: Poland
Old 01-31-2010 , 11:09   Re: How to optimize this? (PLEASE)
Reply With Quote #9

You are wrong.
http://wiki.amxmodx.org/Optimizing_P..._instead_of_If
__________________
Impossible is Nothing
Sylwester is offline
01101101
BANNED
Join Date: Nov 2009
Location: 9`su 09`n0n7e`r0f76a
Old 01-31-2010 , 11:19   Re: How to optimize this? (PLEASE)
Reply With Quote #10

Using either switch or if in this case suck hard. Look at Bugsy comment.

Quote:
Originally Posted by Bugsy View Post
90% of that code is redundant.

Like so:

PHP Code:
switch ( val )
{
    case 
90CallFunc"something 90" );
    case 
55callfunc"something 55" );

May as well just do:

PHP Code:
CallFunc"something %d" val ); 
Not all of the numbers match like that but you can create an array for those that don't or use multiplication if possible.

By the way this plugins looks very similar to this one

http://forums.alliedmods.net/showthread.php?t=107698

More precisely http://forums.alliedmods.net/showpos...6&postcount=11
01101101 is offline
Reply



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 07:28.


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