Primero Creditos ya que no es 100% mio
Desarrollo del tutorial: DYL4NBR0
Explicación y Demás: -|ARG|-PaGlia'
Bueno ahora si empezemos
1-Vamos a empezar definiendo nuestro textdraw:
2-Luego vamos al public OnPlayerSpawn(playerid) y colocaremos lo que colocare a continuación:
3-Ahora nos vamos al public OnPlayerDisconnect(playerid, reason) y colocamos lo siguiente:
4-Bueno ya tenemos para que se muestre/oculte pero falta lo más importante el textdraw en su GameModeInit presta atención es muy importante que lo coloquen así al final del OnGameModeInit:
5- Ahora lo ultimoo seria que se actualize cada vez el dinero del banco, nos iremos al public BancoA() deberia salirles algo como esto:
Dejenlo asi para que les funciones:
6-Ahora si nos iremos al public SaveAccounts() deberian tenerlo así:
Tienen que dejarlo asi:
7- Ahora solo es cambir su cmd strcmp de /subirnivel a este:
Aqui termina el tutorial espero les aaya servido y espero que ayan aprendido a hacerlo y que sus sv's sean de lo mejor...
PD: Sigo esperando a ver si me dan la oportunidad de Trabajar en el gm de MC-GAMERZ debe estar buenisimo
(Que coños le haces???)xDDD
"Ola k ase" productions presento el primer tutorial de DYL4NBR0
Desarrollo del tutorial: DYL4NBR0
Explicación y Demás: -|ARG|-PaGlia'
Bueno ahora si empezemos
1-Vamos a empezar definiendo nuestro textdraw:
- Código:
new Text:STATS[MAX_PLAYERS];
2-Luego vamos al public OnPlayerSpawn(playerid) y colocaremos lo que colocare a continuación:
- Código:
TextDrawShowForPlayer(playerid, STATS[playerid] );
format(string, sizeof(string), "~p~Nivel: ~w~%d~n~~p~Exp:~w~ %d/%d~n~~p~Banco: ~g~$~w~%d~n~~p~Skin: ~w~%d~n~~p~Edad: ~w~%d", PlayerInfo[playerid][pNivel], PlayerInfo[playerid][pExp], (PlayerInfo[playerid][pNivel]+1)*(levelexp), PlayerInfo[playerid][pAccount],PlayerInfo[playerid][pChar], PlayerInfo[playerid][pAge]);
TextDrawSetString(STATS[playerid], string);
3-Ahora nos vamos al public OnPlayerDisconnect(playerid, reason) y colocamos lo siguiente:
- Código:
TextDrawHideForPlayer(playerid, STATS[playerid] );
4-Bueno ya tenemos para que se muestre/oculte pero falta lo más importante el textdraw en su GameModeInit presta atención es muy importante que lo coloquen así al final del OnGameModeInit:
- Código:
STATS[playerid] = TextDrawCreate(501.000000, 104.000000, "~p~Nivel: ~w~100~n~~p~Exp:~w~ 10/10~n~~p~Banco: ~w~99999999~n~~p~Skin: ~w~299~n~~p~Sexo: ~w~Masculino");
TextDrawBackgroundColor(STATS[playerid], 255);//el color del fondo
TextDrawFont(STATS[playerid], 3);//tipo de letra n.n
TextDrawLetterSize(STATS[playerid], 0.200000, 1.000000);//cuanto ocupara el espacio de las letras
TextDrawColor(STATS[playerid], -1);
TextDrawSetOutline(STATS[playerid], 1);
TextDrawSetProportional(STATS[playerid], 1);
TextDrawUseBox(STATS[playerid], 1);//si usa box o no( creo)
TextDrawBoxColor(STATS[playerid], 0x00000066);/color
TextDrawTextSize(STATS[playerid], 605.000000, 0.000000);//dimension del texto
}
return 1;
}
5- Ahora lo ultimoo seria que se actualize cada vez el dinero del banco, nos iremos al public BancoA() deberia salirles algo como esto:
- Código:
public BancoA()
{
for(new i; i < MAX_PLAYERS; i++)
{
//-----
}
}
Dejenlo asi para que les funciones:
- Código:
public BancoA()
{
for(new i; i < MAX_PLAYERS; i++)
{
new string[256];
format(string, sizeof(string), "~p~Nivel: ~w~%d~n~~p~Exp:~w~ %d/%d~n~~p~Banco: ~g~$~w~%d~n~~p~Skin: ~w~%d~n~~p~Edad: ~w~%d", PlayerInfo[i][pNivel], PlayerInfo[i][pExp], (PlayerInfo[i][pNivel]+1)*(levelexp), PlayerInfo[i][pAccount], PlayerInfo[i][pChar], PlayerInfo[i][pAge]);
TextDrawSetString(STATS[i], string);
}
}
6-Ahora si nos iremos al public SaveAccounts() deberian tenerlo así:
- Código:
public SaveAccounts()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerUpdate(i);
if(PlayerInfo[i][pTrabajo] > 0)
{
if(PlayerInfo[i][pContractTime] < 25)
{
PlayerInfo[i][pContractTime] ++;
}
}
}
}
}
Tienen que dejarlo asi:
- Código:
public SaveAccounts()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[256];
OnPlayerUpdate(i);
format(string, sizeof(string), "~p~Nivel: ~w~%d~n~~p~Exp:~w~ %d/%d~n~~p~Banco: ~g~$~w~%d~n~~p~ Skin: ~w~%d~n~~p~Edad: ~w~%d", PlayerInfo[i][pNivel], PlayerInfo[i][pExp], (PlayerInfo[i][pNivel]+1)*(levelexp), PlayerInfo[i][pAccount],PlayerInfo[i][pChar], PlayerInfo[i][pAge]);
TextDrawSetString(STATS[i], string);
if(PlayerInfo[i][pTrabajo] > 0)
{
if(PlayerInfo[i][pContractTime] < 25)
{
PlayerInfo[i][pContractTime] ++;
}
}
}
}
}
7- Ahora solo es cambir su cmd strcmp de /subirnivel a este:
- Código:
if (strcmp(cmd, "/subirnivel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
/*PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);*/
if(PlayerInfo[playerid][pNivel] >= 0)
{
new nxtlevel = PlayerInfo[playerid][pNivel]+1;
/*new costlevel = nxtlevel*levelcost;//10k for testing purposes*/
new expamount = nxtlevel*levelexp;
new infostring[256];
/*if(GetPlayerMoney(playerid) < costlevel)
{
format(infostring, 256, " You do not have enough Cash ($%d)!",costlevel);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
return 1;
}*/
if (PlayerInfo[playerid][pExp] < expamount)
{
format(infostring, 256, " Nesesita %d Puntos de respeto, y solo tiene [%d] !",expamount,PlayerInfo[playerid][pExp]);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
return 1;
}
else
{
format(string, sizeof(string), "~g~Subio de Nivel~n~~w~Ahora eres Nivel: %d", nxtlevel);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerPlayMusic(playerid);
/*SafeGivePlayerMoney(playerid, (-costlevel));*/
PlayerInfo[playerid][pNivel]++;
if(PlayerInfo[playerid][pPremium] > 0)
{
PlayerInfo[playerid][pExp] -= expamount;
new total = PlayerInfo[playerid][pExp];
if(total > 0)
{
PlayerInfo[playerid][pExp] = total;
}
else
{
PlayerInfo[playerid][pExp] = 0;
}
}
else
{
PlayerInfo[playerid][pExp] = 0;
}
PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
GameTextForPlayer(playerid, string, 5000, 1);
format(infostring, 256, " Ahora eres Nivel: %d Escriba /upgrade", nxtlevel);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
format(infostring, 256, " Le dio %d puntos de upgrade",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_GRAD2, infostring);
format(string, sizeof(string), "~p~Nivel: ~w~%d~n~~p~Exp:~w~ %d/%d~n~~p~Banco: ~g~$~w~%d~n~~p~Skin: ~w~%d~n~~p~Edad: ~w~%d", PlayerInfo[playerid][pNivel], PlayerInfo[playerid][pExp], (PlayerInfo[playerid][pNivel]+1)*(levelexp), PlayerInfo[playerid][pAccount],PlayerInfo[playerid][pChar], PlayerInfo[playerid][pAge]);
TextDrawSetString(STATS[playerid], string);
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " No Estas Logeado!");
}
}
return 1;
}
Aqui termina el tutorial espero les aaya servido y espero que ayan aprendido a hacerlo y que sus sv's sean de lo mejor...
PD: Sigo esperando a ver si me dan la oportunidad de Trabajar en el gm de MC-GAMERZ debe estar buenisimo
(Que coños le haces???)xDDD
"Ola k ase" productions presento el primer tutorial de DYL4NBR0