[Tutorial] їComo Utilizo ProgressBar?
#1

[] їComo Utilizo ProgressBar?


[] EXPLICACION:
pawn Код:
#include <a_samp>  // (Necesario)
/*
[] Carga las Funciones de SA-MP.
*/
pawn Код:
#include <progress> // (Necesario)
/*
[] Carga las Funciones del Progress.
*/
pawn Код:
new
   Bar:barra[MAX_PLAYERS]
   //[] creada un id unico para el player  asi sera mas facil indentificarlo.
;
pawn Код:
new
   variablebarra[MAX_PLAYERS] = 0
   //[] La Variable La cual Sera el valor de la Barra
;
pawn Код:
new
   ChauTimer[MAX_PLAYERS]
   //[] creada un id unico para el player  asi sera mas facil indentificarlo.
;
pawn Код:
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;
}
pawn Код:
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;
}
pawn Код:
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.
       [] 100: 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;
}
pawn Код:
/*
 [] hare un ejemplo con el que llenare la barra con una variable mediante un timer.
*/

forward ejemplo(playerid);
public ejemplo(playerid) {
    variablebarra[playerid] ++; //suma una variable .
    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 player 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]); //[] cambia el porcentaje actual de la barra , que ahora se loc olocaremos 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 llega al tope de la barra correspondiente.
        */

    }
    return 1;
}
[] FUNCION:
CreateProgressBar(x, y, width, height, color, max) [] Crea la Barra de ProgressBar
DestroyProgressBar(barid) [] Elimina la Barra de ProgressBar
ShowProgressBarForPlayer(playerid, barid) [] Activa la Barra de ProgressBar al Player Correspondiente (invididual)
HideProgressBarForPlayer(playerid, barid) [] Desactiva la Barra de ProgressBar al Player Correspondiente(invididual)
ShowProgressBarForAll(barid) [] Activa la Barra de ProgressBar a Todos Los Player (Globla)
HideProgressBarForAll(barid) [] Desactiva la Barra de ProgressBar a Todos Los Player (Globla)
SetProgressBarValue(barid, value) [] Cambia el porcentaje actual de la barra de progreso determinada
GetProgressBarValue(barid) [] Chequea el porcentaje actual de la barra de progreso determinada
SetProgressBarMaxValue(barid, max) [] Determina el porcentaje Maximo de la barra de progreso
SetProgressBarColor(barid, color) [] Cambia el color de la barra de progreso
UpdateProgressBar(barid, playerid=INVALID_PLAYER_ID) [] Actualiza el porcentaje de la barra de progreso

[] TEST:
http://paste2.org/p/2821841

[] CREDITOS:
OTACON
Toribio
Mi Amigo Fiel
Reply
#2

Yo antes tenнa el problema de que la barra se me hacнa negra cuando yo ya le habнa fijado un color buen tuto
Reply
#3

Muy bueno, gracias por cumplir el pedido man. Es una include que me gusta mucho y no sabia como usarlo. Lo leerй y vere que tal . Desde ya +REP
Reply
#4

Muy bueno bytytus...
Reply
#5

Buena explicaciуn de cada funciуn. REP 1+
Reply
#6

Es mejor la versiуn que no utiliza PlayerTextdraws, ya que con esa no necesitas usar array (con una sola progress bar basta) y se consume mucho menos memoria.
Reply
#7

Muy bueno amigo. buen tutorial..
Reply
#8

Buenisimo el tuto, ahora podre crear bien y sin incomvenientes los sistemas que tengo pensado.
Gracias.
Reply
#9

Quote:
Originally Posted by CaptainMactavish
Посмотреть сообщение
Es mejor la versiуn que no utiliza PlayerTextdraws, ya que con esa no necesitas usar array (con una sola progress bar basta) y se consume mucho menos memoria.
WFT? es con el comun, y se utiliza con array justamente por el tema ya mensionado en un tema ke irinel creo sobre los textdraw .

un ProgressBar son Textdraw xD
Reply
#10

Quote:
Originally Posted by bytytus
Посмотреть сообщение
WFT? es con el comun, y se utiliza con array justamente por el tema ya mensionado en un tema ke irinel creo sobre los textdraw .

un ProgressBar son Textdraw xD
No entendiste, no importa olvidalo, era una forma de hacer que coma menos memoria al no usar array. Sй sobre el tema de irinel, igual se pueden seguir usando los playertextdraw sin array, sin mezclarse informaciуn, cosa que irinel y ****** lo contradicen. Hay formas y mбs formas de hacer las cosas.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)