| OptimizeR |
01-30-2010 14:24 |
Re: How to optimize this? (PLEASE)
Quote:
Originally Posted by fysiks
(Post 1072532)
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(id, name, 32) formatex(Items, charsmax(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(Items2, charsmax(Items2), "\w Resetear Mejoras (\r3 puntos\w)") formatex(Items3, charsmax(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 10: menu_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 10: menu_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 10: menu_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 10: menu_additem(Menu, "\w Aumentar Armadura (\yMAX\w)^n^n", "4", 0) } if (g_puntos[id] >= 3) { menu_additem(Menu, Items2, "5", 0) } else { menu_additem(Menu, Items3, "5", 0) } } else { if (g_puntos[id] >= 3) { menu_additem(Menu, Items2, "4", 0) } else { menu_additem(Menu, Items3, "4", 0) } } menu_setprop(Menu, MPROP_EXITNAME, "\ySalir") menu_display(id, Menu, 0) }
public menu_habilidades456(id, Menu, item) { if (item == MENU_EXIT) { menu_destroy(Menu) return PLUGIN_HANDLED } new Data[6], Name[64] new Access, Callback menu_item_getinfo(Menu, item, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback) 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 }
|