04/11/2014, 07:49 PM (Última modificación: 01/12/2014, 12:55 AM por GrimmZ04.)
Hola a todos mi nombre es GrimmZ04, este es mi primer tutorial y espero que lo entiendan, ademas de que es muy sencillo, si hay algun error en lo que explique me avisan para arreglarlo, el plugin esta testeado y no tienen ningun error pero si ustedes consideran algo mal me lo dicen.
PD: El plugin es adaptable a cualquier modo.
Version 2.0
Código PHP:
#include <amxmodx> // Registramos el include Amxmodx por que es fundamental para cada plugin.
new g_Rangos[33], g_level[33] // Registramos la variable de Rangos y de Niveles. new const Niveles[][] = { 1, 2, 3, 4, 5 } // Registramos los Niveles necesarios para los Rangos. new Rangos[][] = { // Registramos los Nombres de los Rangos correspondiente al Nivel. "Rango (1/5)", // Nombre del Rango número 1. "Rango (2/5)", // Nombre del Rango número 2. "Rango (3/5)", // Nombre del Rango número 3. "Rango (4/5)", // Nombre del Rango número 4. "Rango (5/5)" // Nombre del Rango número 5. } public plugin_init() { // Registramos contendidos del Plugin. register_plugin("Sistema De Rangos", "2.0", ":: GrimmZ04 ::") // Registramos el plugin. register_clcmd("say /rango", "cmdRango") // Registramos el comando con el que se ejecutara la Función "cmdRango". } public client_putinserver(id) { // Registramos cuando se conecta al Servidor. check_rango(id) // Checkeamos los Rangos que tiene. } public cmdRango(id) { // Registramos el mensaje del Rango que tiene según su Nivel. client_print(id, 3, "[AMXX] - Eres Rango: %s.", Rangos[g_Rangos[id]]) // Enviamos un mensaje con sus Rangos. } public check_rango(id) { // Registramos la función en la cual checkeamos el Rango que tiene según su Nivel. if (g_level[id] >= Niveles[id][g_Rangos[id]]) // Verificamos si el Rango corresponde con el Nivel. { g_Rangos[id]++ // Si no es el mismo, aumentamos al Rango correspondiente. } set_task(0.1, "check_rango", id) // Repetimos la función para que se checkeen los Rangos constantemente. return PLUGIN_HANDLED }
Si no saben agregar Rangos se los explico:
Código PHP:
new const Niveles[][] = { 1, 2, 3, 4, 5, 6} // Aquí agregas el Nivel que quieras para el Rango número 6. new Rangos[][] = { "Rango (1/5)", "Rango (2/5)", "Rango (3/5)", "Rango (4/5)", "Rango (5/5)", // Agregamos una coma y agregamos lo siguiente. "Rango Nuevo" // Esta el siguiente Rango y se le deja sin coma por que no hay más después de este. }
Para agregar los Rangos a un HUD, ponen lo siguiente:
Código PHP:
"Rango: %s", Rangos[g_Rangos[id]]
Para los que no se les setea el rango al resetear nivel pueden agregar el siguiente if en "check_rango(id)
#include <amxmodx> // En Esta Parte Registramos El Include Amxmodx Por Que Es Fundamental Para Cada Plugin. new g_Rangos[33] enum _:Info_Rangos { RangosName[33], RangosNivel}
new const Rangos[][Info_Rangos] = { // Registramos El Rango Y El Nivel { "Rango 1", 1}, // Rango Numero 1 { "Rango 2", 2}, // Rango Numero 2 { "Rango 3", 3}, // Rango Numero 3 { "Rango 4", 4}, // Rango Numero 4 { "Rango 5", 5} // Rango Numero 5 } public plugin_init() { // Aqui Registramos Contendidos Del Plugin register_plugin("Sistema De Rangos", "1.0", ":: GrimmZ04 ::") // Aqui Registramos El Plugin. register_clcmd("say /rango", "cmdRango") // Aqui Registramos El Comando Con El Que Se Ejecutara La Función "cmdRango". } public client_putinserver(id) { // Aqui Registramos Cuando Se Conecta Al Servidor. check_rango(id) // Aqui Le Checkeamos Los Rangos Que Tiene. } public cmdRango(id) { // Aqui Registramos El Mensaje Del Rango Que Tiene Segun Su Nivel. client_print(id, 3, "[AMXX] - Eres Rango: %s.", Rangos[g_Rangos[id]][RangosName]) } check_rango(id) { // Registramos La Función En La Cual Checkeamos El Rango Que Tiene Segun Su Nivel. if (g_level[id] >= Rangos[g_Rangos[id] + 1][RangosNivel] && g_Rangos[id] < 9) // Verificamos Si El Rango Corresponde Con El Nivel. { g_Rangos[id]++ // Si No Es El Mismo, Aumentamos Al Rango Correspondiente. } return PLUGIN_HANDLED }
=================================================================
Archivo Adjunto - Codigo Versión 2.0 Por GrimmZ04
Los Programadores Del Mañana Son Los Magos Del Futuro.
04/11/2014, 10:19 PM (Última modificación: 04/11/2014, 10:48 PM por Bazuka.)
La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo , Estaria mejor que expliques donde va cada code no?
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo , Estaria mejor que expliques donde va cada code no?
Que Quieres Que Explique Especificamente?.
Los Programadores Del Mañana Son Los Magos Del Futuro.
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo , Estaria mejor que expliques donde va cada code no?
Que Quieres Que Explique Especificamente?.
Si porque si esta mas explicado es mas facil de hacerlo (Para los que comienzan) explicalo mejor
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo , Estaria mejor que expliques donde va cada code no?
Que Quieres Que Explique Especificamente?.
Si porque si esta mas explicado es mas facil de hacerlo (Para los que comienzan) explicalo mejor
No es un codigo para iniciados.
Los Programadores Del Mañana Son Los Magos Del Futuro.
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Los Programadores Del Mañana Son Los Magos Del Futuro.
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?
Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.
Los Programadores Del Mañana Son Los Magos Del Futuro.
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?
Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.
La cosa es explicar bien para que entiendan y sepan algo de amxmod
PDT: Explica bien hasta casi yo no entiendo,
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
05/11/2014, 08:31 PM (Última modificación: 05/11/2014, 08:31 PM por GrimmZ04.)
(05/11/2014, 08:12 PM)Bazuka escribió:
(05/11/2014, 08:09 PM)GrimmZ04 escribió:
(05/11/2014, 08:01 PM)Bazuka escribió:
(05/11/2014, 07:54 PM)GrimmZ04 escribió:
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?
Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.
La cosa es explicar bien para que entiendan y sepan algo de amxmod
06/11/2014, 01:25 AM (Última modificación: 06/11/2014, 01:27 AM por -|[H]eri[B]ert[O]|-.)
muy buen tutorial
pero podrias cambiar esto
Cita:stock print_color(const id,const input[], any:...) { // Aqui Registramo El Stock De Los Mensajes En Say Con Colores Personalizables.
new msg[191], players[32], count = 1;
vformat(msg,190,input,3);
replace_all(msg,190,"!g","^4") // Letra "!g" Es El Color Verde
replace_all(msg,190,"!y","^1") // Letra "!y" Es El Color Default Del Cliente
replace_all(msg,190,"!t","^3") // Letra "!t" Es El Color Del Equipo
if (id) players[0] = id; else get_players(players,count,"ch");
for (new i=0;i<count;i++)
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
write_byte(players[i]);
write_string(msg);
message_end();}}
replace_all(msg, 190, "!g", "^4") // Color Verde replace_all(msg, 190, "!y", "^1") // Color Default del CS replace_all(msg, 190, "!team", "^3") // Color del equipo
if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } }