- #include <a_samp> // (Necesario)
- /*
- [] Carga las Funciones de SA-MP.
- */
- #include <progress> // (Necesario)
- /*
- [] Carga las Funciones del Progress.
- */
- new
- Bar:barra[MAX_PLAYERS]
- //[] creada un id unico para el player asi sera mas facil indentificarlo.
- ;
- new
- variablebarra[MAX_PLAYERS] = 0
- //[] La Variable La cual Sera el valor de la Barra
- ;
- new
- ChauTimer[MAX_PLAYERS]
- //[] creada un id unico para el player asi sera mas facil indentificarlo.
- ;
- public OnPlayerConnect(playerid) {
- barra[playerid] = CreateProgressBar(500.00, 107.00, 106.50, 19.20, -1, 100.0);
- /*
- [] variable[playerid] = CreateProgressBar (x, y, ancho, altura, color, max)
- [] Crea una barra de progreso (casi lo mismo que TextDrawCreate).[*] x and y: los valores son la posición de la barra en la pantalla;[*] ancho y la altura: son el tamaño de la barra (que tienen valores por defecto, sólo _ poner como parámetro);[*] color: es el color de la barra, obviamente;[*] max: es el porcentaje máximo de la barra puede llegar (por defecto 100).[*] variable[playerid]: creada un id unico para el player asi sera mas facil indentificarlo.
- */
- SetProgressBarMaxValue(barra[playerid], 100.0);
- /*
- [] El valor máximo es dinámica, puede cambiar cuando lo desee, y va a actualizar por sí mismo (el valor actual de la barra de progreso siendo el mismo, la diferencia que se ve en el bar).
- */
- SetProgressBarValue(barra[playerid], 0);
- /*
- [] Cambia el porcentaje actual de la barra de progreso determinada (es punto flotante). Recuerde que el valor máximo es el valor que se le dio a ella en CreateProgressBar.
- [-] Sera el Valor que iniciara la barra
- */
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason) {
- HideProgressBarForPlayer(playerid, barra[playerid]);
- /*
- [] Oculta la barra de progreso de un determinado jugador.
- */
- DestroyProgressBar(barra[playerid]);
- /*
- [] Destruye un bar creado.
- */
- KillTimer(ChauTimer[playerid]);
- /*
- [] Detiene el SetTimerEx correspondiente.
- */
- return 1;
- }
- public OnPlayerSpawn(playerid) {
- ShowProgressBarForPlayer(playerid, barra[playerid]);
- /*
- [] Simplemente muestra la barra de progreso para un jugador dado.
- */
- ChauTimer[playerid] = SetTimerEx("ejemplo", 100, true, "i", playerid);
- /*
- [] ChauTimer[playerid]: creada un id unico para el player asi sera mas facil indentificarlo.
- [] SetTimerEx: Establece un temporizador para llamar a una función después de algún tiempo. Esta variante puede pasar parámetros a la función.
- [] ejemplo: Nombre de la Funcion (public) Cargada el SetTimerEx.
- [] 1000: Tiempo en milisegundos que Cargada la Funcion (public) del SetTimerEx.
- [] true: Cargada infinitamente el SetTimerEx segun los milisegundos que halla colocado, hasta ke se elimine con KillTimer
- [] "i": Formato específico que indique los tipos de valores que el temporizador Cargada, que en este caso son enteros = playerid (id del player correspondiente)
- */
- return 1;
- }
- /*
- [] hare un ejemplo con el que llenare la barra con una variable mediante un timer.
- */
- forward ejemplo(playerid);
- public ejemplo(playerid) {
- variablebarra[playerid] ++; //pone a 1 la variable correspondiente.
- SetProgressBarValue(barra[playerid], variablebarra[playerid]); //[] chequeara el porcentaje actual de la barra , que ahora sel ocolocaremos con la variable. (variablebarra[playerid])
- UpdateProgressBar(barra[playerid], playerid); //[] Actualiza la barra al player correspondiente.
- if(variablebarra[playerid] == 100) //[] Chequea si el payer correspondiente tiene la variable co nel valor igual a 100 (Sera el maximo para que de la funcion corespondiente), y dara la funcion correspondiente al player.
- {
- variablebarra[playerid] = 0; //pone a 0 la variable correspondiente.
- SetProgressBarValue(barra[playerid], variablebarra[playerid]); //[] chequeara el porcentaje actual de la barra , que ahora sel ocolocaremos con la variable. (variablebarra[playerid])
- UpdateProgressBar(barra[playerid], playerid); //[] Actualiza la barra al player correspondiente.
- /*
- [] o colocan cualquier otra funcion que quieran que haga al llegal al tope de la barra correspondiente.
- */
- }
- return 1;
- }
TUTORIAL = [] ¿Como Utilizo ProgressBar? By Otacon