Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Vos si vas a hacer un Sistema de Rangos (Como ejemplo, ya que usamos varios recursos). Usamos un enum para guardar los datos en una constante.
Por ejemplo esto
Código PHP: enum _:DATA_RANGOS { NOMBRE_RANGOS[32], // Dato que guarda valores de string con un máximo de 32 caracteres. COSTO_RANGOS, // Datos que guardará valores enteros };
DATA_RANGOS: Es el nombre para poder utilizar los datos en nuestra constante de esta forma
Código PHP: new const szRangos[][DATA_RANGOS] = { { "Rango 1", 50 }, // Lugar 1 { "Rango 2", 150 }, // Lugar 2 { "Rango 3", 500 } // Lugar 3 };
Verás que en la primera matriz (Si se dice así), no tiene nada, lo que lleva el LUGAR o posición de cada rango. Y en el segundo pondremos los datos que contiene el enum. Así la constante lee que "Rango 1" Pertenece a NOMBRE_RANGOS y 50 pertenece a COSTO_RANGOS
Es una pavada eso. Y te ahorras muchas constantes.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
28/08/2014, 01:14 AM
(Última modificación: 28/08/2014, 01:17 AM por totopizza.)
ok ahora para chekear el rango? cuando ba a subir como le ago?
porque yo lo ago asi
Código PHP: while(g_frags[id] >= szRangos[id][COSTO_RANGO] { g_rango[id]++ client_print(id, print_chat, "Subistes al rango: %s", szRangos[id][NOMBRE_RANGOS] }
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
28/08/2014, 01:18 AM
(Última modificación: 28/08/2014, 01:21 AM por CSAxel.)
Si vas a chequear el rango, es simplemente con la variable ( g_rango, o como la tengas declarada), al igual que aumentarla.
Después para aumentar el rango (O sea chequear)
Código PHP: if /** o while **/ (g_rango[id] >= szRangos[g_nivel[id]][COSTO_RANGOS]])
Lo demás es una pavada.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
Haber si te entendi vengo yo y ago esto
Código PHP: #include <amxmodx> #include <amxmisc> #include <hamsandwich>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author"
new g_rango[33], g_general[33]
enum _:DATA_RANGO { NOMBRE[16], GENERAL } new const Rangos[][DATA_RANGO] = { /*Rango General*/ {"Nuevo", 0}, {"Nobato", 4}, {"Principiante", 8}, {"Intermedio", 16}, {"Super", 30}, {"Pro", 50} };
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Killed, "player", "HamKilled", 1) register_clcmd("say /rango", "mostrar_rango") } public HamKilled(attacker, victim) { if(!is_user_connected(attacker)) { return HAM_IGNORED; } g_general[attacker]++ checkrango(attacker); return HAM_IGNORED; } checkrango(id) { if(g_general[id] >= Rangos[g_rango[id]][GENERAL]) //while(g_general[id] >= Rangos[g_rango[id]][GENERAL]) { g_rango[id]++ client_print(id, print_chat, "Has subido al rango %s",Rangos[g_rango[id]][NOMBRE]) } }
public mostrar_rango(id) { client_print(id, print_chat, "Tu rango es %s", Rangos[g_rango[id]][NOMBRE]) }
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
while en el check
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
(28/08/2014, 04:49 PM)kikizon2 escribió: while en el check
Cual esl a diferencia entre el while y el if?
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 1,011
Temas: 17
Registro en: Jul 2014
Reputación:
34
28/08/2014, 05:10 PM
(Última modificación: 28/08/2014, 05:16 PM por Side^^.)
if es para condicionar y while es igual solo que lo hara siempre que la condicion se repita
Código: if ("lo que sea")
{
hace x cosa;
}
while("lo que sea")
{
hace x cosa;
e informas para que rompa la condicion
si no sera continuo
};
Espero que haya sido claro :S
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
While es un ciclo infinito en cambio el If no, solamente chequeas x variantes.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
Puede ser un bucle infinito. Así:
Pero no es si o si infinito.
Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Me habían enseñado que el ciclo while es infinito, hasta chequear para poder detener su ciclo infinito.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
29/08/2014, 02:23 PM
(Última modificación: 29/08/2014, 02:33 PM por totopizza.)
:o Oye @CSAxel, se puede dar glow por switch?
porque yo lo tengo asi
Código PHP: public Player_Spawn_Post(id) { if(!is_user_connected(id)) { return PLUGIN_HANDLED } else if(equal(RANGOS[g_rango[id]], "Nuevo")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Nobato")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Principiante")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Intermedio")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Pro")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Super")) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Comandante")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Comandante II")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Comandante III")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Capitan")) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Capitan II")) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Capitan III")) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Jefe")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Jefe II")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Jefe III")) { set_user_rendering(id, kRenderFxGlowShell, 0, 255, 255, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Mayor")) { set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Mayor II")) { set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Mayor III")) { set_user_rendering(id, kRenderFxGlowShell, 255, 255, 0, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Vip")) { set_user_rendering(id, kRenderFxGlowShell, 192, 192, 192, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Gold")) { set_user_rendering(id, kRenderFxGlowShell, 250, 180, 30, kRenderNormal)
} else if(equal(RANGOS[g_rango[id]], "Platinum")) { set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10) } set_task(10.0, "remove_glow", id) return PLUGIN_HANDLED
} public remove_glow(id) { if(!is_user_connected(id)) { return PLUGIN_HANDLED } set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal) set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255) return PLUGIN_HANDLED }
PD: no se si asi es la forma correcta de hacerlo, ya que este seria mi primer plugin de ese nivel
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Código PHP: public Player_Spawn_Post(id) { if(!is_user_connected(id)) return PLUGIN_HANDLED switch (g_rango[id]) { case 1: set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal) // nuevo case 2: set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal) case 3: set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal) case 4: set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal) } //Etc etc }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
ahi ese es el numero de rango?
osea el Pro es el numero 5 en la lista, tendria que poner case 5: para que me de el glow de color que yo quiera ? te entendi
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
si es depende de como tengas el sistema
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
ok gracias
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
|