optimizar esta funciуn.
#1

Buenas, hice algo para que bбsicamente si eres nivel 2 de camionero, o 3 te pague cierta cantidad de dinero como muestra la funciуn dependiendo del nivel їhay alguna forma de hacerla mбs optimizada? уsea que no sea tanto cуdigo, veo que se puede hacer mejor... mi nivel de programaciуn es bajo, y se que se puede hacer mejor mбs no tengo idea como, gracias de antemano y darй reputaciуn.

Код:
	 		else if(GetPVarInt(playerid,"PasoEntrega") == 2)
	 		{
	 		    new Float: VehHP, Percent_damage = floatround(VehHP/10);
				GetVehicleHealth(VehID, VehHP);
				switch(InfoJugador[playerid][jNivelTrabajo])
				{
					case 1:
					{
						new  Dinero_inicial = 1050;
						Dinero_inicial -= (300-(Percent_damage*3));
						GivePlayerMoney(playerid, Dinero_inicial);
						MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1050 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
					case 2:
					{
						new  Dinero_inicial = 1250;
						Dinero_inicial -= (300-(Percent_damage*3));
						GivePlayerMoney(playerid, Dinero_inicial);
						MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1250 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
					case 3:
					{
						new  Dinero_inicial = 1400;
						Dinero_inicial -= (300-(Percent_damage*3));
						GivePlayerMoney(playerid, Dinero_inicial);
						MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1400 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
					case 4:
					{
						new  Dinero_inicial = 1600;
						Dinero_inicial -= (300-(Percent_damage*3));
						GivePlayerMoney(playerid, Dinero_inicial);
						MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1600 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
					case 5:
					{
						new  Dinero_inicial = 1750;
						Dinero_inicial -= (300-(Percent_damage*3));
					    GivePlayerMoney(playerid, Dinero_inicial);
				   	    MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1750 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
					case 6:
					{
						new  Dinero_inicial = 1950;
						Dinero_inicial -= (300-(Percent_damage*3));
						GivePlayerMoney(playerid, Dinero_inicial);
						MensajeF(playerid,C_PAGA,"* Felicidades, se te pagу $1950 y se te descontу $%d por los daсos del camiуn.", (300-(Percent_damage*3)));
					}
				}
Reply
#2

Asi como tienes el codigo esta bien optimizado
Reply
#3

Код:
else if(GetPVarInt(playerid,"PasoEntrega") == 2)
{
	new Float:VehHP, Percent_damage;
	GetVehicleHealth(VehID, VehHP);
	Percent_damage = floatround(VehHP/10); //aquн tenнas un error pon cuidado cuando hagas copy&paste xd
	static const _pay[][] =
	{
		{1050},
		{1250},
		{1400},
		{1600},
		{1750},
		{1950}
	}
	new _money = _pay[InfoJugador[playerid][jNivelTrabajo]-1][0];
	new _desc = (300-(Percent_damage*3));
	_money -= _desc;
	GivePlayerMoney(playerid, _money);
	MesangeF(playerid,C_PAGA,"* Felicidades, se te pagу $%d y se te descontу $%d por los daсos del camiуn.",(_money+_desc),_desc);
}
Asн estб mбs corto... quizбs hay una mejor forma de calcular el pago para no crear la variable pero asн debe ir bien xd
Reply
#4

Quote:
Originally Posted by aoEXE
Посмотреть сообщение
Код:
else if(GetPVarInt(playerid,"PasoEntrega") == 2)
{
	new Float:VehHP, Percent_damage;
	GetVehicleHealth(VehID, VehHP);
	Percent_damage = floatround(VehHP/10); //aquн tenнas un error pon cuidado cuando hagas copy&paste xd
	static const _pay[][] =
	{
		{1050},
		{1250},
		{1400},
		{1600},
		{1750},
		{1950}
	}
	new _money = _pay[InfoJugador[playerid][jNivelTrabajo]-1][0];
	new _desc = (300-(Percent_damage*3));
	_money -= _desc;
	GivePlayerMoney(playerid, _money);
	MesangeF(playerid,C_PAGA,"* Felicidades, se te pagу $%d y se te descontу $%d por los daсos del camiуn.",(_money+_desc),_desc);
}
Asн estб mбs corto... quizбs hay una mejor forma de calcular el pago para no crear la variable pero asн debe ir bien xd
Estб muy bien la verdad, pero es bastante innecesario que uses un array de 2 dimensiones en este caso, lo mejor serнa solo usar 1.
Код:
else if(GetPVarInt(playerid,"PasoEntrega") == 2)
{
	new Float:VehHP, Percent_damage;
	GetVehicleHealth(VehID, VehHP);
	Percent_damage = floatround(VehHP/10); //aquн tenнas un error pon cuidado cuando hagas copy&paste xd

	static const _pay[] = {1050,1250,1400,1600,1750,1950}; // Creo que tampoco hay tanta diferencia

	new _money = _pay[InfoJugador[playerid][jNivelTrabajo]-1];
	new _desc = (300-(Percent_damage*3));
	_money -= _desc;
	GivePlayerMoney(playerid, _money);
	MesangeF(playerid,C_PAGA,"* Felicidades, se te pagу $%d y se te descontу $%d por los daсos del camiуn.",(_money+_desc),_desc);
}
Reply
#5

Gracias a ambos, ya les di la reputaciуn.
Reply
#6

Quote:
Originally Posted by Jastak
Посмотреть сообщение
Estб muy bien la verdad, pero es bastante innecesario que uses un array de 2 dimensiones en este caso, lo mejor serнa solo usar 1.
Код:
else if(GetPVarInt(playerid,"PasoEntrega") == 2)
{
	new Float:VehHP, Percent_damage;
	GetVehicleHealth(VehID, VehHP);
	Percent_damage = floatround(VehHP/10); //aquн tenнas un error pon cuidado cuando hagas copy&paste xd

	static const _pay[] = {1050,1250,1400,1600,1750,1950}; // Creo que tampoco hay tanta diferencia

	new _money = _pay[InfoJugador[playerid][jNivelTrabajo]-1];
	new _desc = (300-(Percent_damage*3));
	_money -= _desc;
	GivePlayerMoney(playerid, _money);
	MesangeF(playerid,C_PAGA,"* Felicidades, se te pagу $%d y se te descontу $%d por los daсos del camiуn.",(_money+_desc),_desc);
}
si, es mejor. Estaba medio dormido xD
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)