SA-MP Forums Archive
Modificación de este comando. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Modificación de este comando. (/showthread.php?tid=611538)



Modificación de este comando. - Fagrinht - 07.07.2016

Tengo este comando para comprar casa y funciona genial, pero le quiero hacer cierta modificación... quiero que si tienes la variable de InformacionJugador_[playerid][pCasa][0] en 0 osea que no tiene casa y la compras se te ponga la ID de la casa, bien, eso funciona, acá toca el tema, quiero que si tienes esa variable una casa y pongas el comando si tienes premium InformacionJugador_[playerid][pPremium] en 1 se guarde en la variable InformacionJugador_[playerid][pCasa][1] que es la 2 casa del jugador, si no tienes premium que te diga que necesitas premium para tener 2 casas.

Код:
CMD:comprarcasa(playerid, params[])
{
	for(new c = 0; c < sizeof(InformacionCasa_); c++)
	{
		if(IsPlayerInRangeOfPoint(playerid, 2.0, InformacionCasa_[c][cPosX], InformacionCasa_[c][cPosY], InformacionCasa_[c][cPosZ]))
		{
			if(InformacionCasa_[c][cEstado] == 1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya esta propiedad tiene dueño.");
		    if(InformacionJugador_[playerid][pCasa][0] != -1 && InformacionJugador_[playerid][pCasa][1] != -1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya tienes 2 propiedades, si quieres tener más compra membresía Premium.");
			if(GetPlayerMoney(playerid) < InformacionCasa_[c][cPrecio]){SendClientMessage(playerid, COLOR_ROJO, "* No tienes dinero suficiente para comprar esta propiedad."); return 1;}
		    if(InformacionJugador_[playerid][pNivel] < InformacionCasa_[c][cNivel]) return SendClientMessage(playerid, COLOR_ROJO,"* No tienes el nivel para comprar esta propiedad.");

			QuitarDineroPlayer_(playerid, InformacionCasa_[c][cPrecio]), InformacionCasa_[c][cEstado] = 1;
			strmid(InformacionCasa_[c][cPropietario], NombreJugador(playerid), 0, strlen(NombreJugador(playerid)), 255);

            InformacionCasa_[c][cMapIco] = CreateDynamicMapIcon(InformacionCasa_[c][cPosX], InformacionCasa_[c][cPosY], InformacionCasa_[c][cPosZ], 32, 0, -1, -1, c, 50.0);

            if(InformacionJugador_[playerid][pCasa][0] != 0)
            {
			   InformacionJugador_[playerid][pCasa][0] = InformacionCasa_[c][cSQLID];
            }
            else if(InformacionJugador_[playerid][pCasa][1] != 0)
            {
				InformacionJugador_[playerid][pCasa][1] = InformacionCasa_[c][cSQLID];
            }
			
			new
			    Query[90];
			format(Query, 90, "UPDATE casas SET cPropietario = '%s' WHERE cSQLID = %d", InformacionCasa_[c][cPropietario], InformacionCasa_[c][cSQLID]);
			mysql_function_query(MySQL, Query, false, "OnQueryFinish", "ii", 0, playerid), GameTextForPlayer(playerid, "~g~Comprada", 1000, 1);
			
			SendClientMessage(playerid, COLOR_AMARILLO, "* ¡Felicidades!"#CBLANCO" ahora tienes una propiedad, para más información /ayuda casas.");
			GuardarJugador_(playerid), GuardarCasa_©, InformacionCasa_[c][cPickup] = CreateDynamicPickup(19522, 1, InformacionCasa_[c][cPosX], InformacionCasa_[c][cPosY], InformacionCasa_[c][cPosZ]);
			ActualizarTextoCasa©;
			return 1;
		}
	}
	SendClientMessage(playerid, COLOR_ROJO, "* No estás cerca de ninguna propiedad.");
	return 1;
}



Respuesta: Modificaciуn de este comando. - Unrea1 - 07.07.2016

Con lo que dices serнa mбs o menos asн:

Код:
if(InformacionJugador_[playerid][pPremium] == 0 && InformacionJugador_[playerid][pCasa][0] != -1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya tienes una propiedad, si quieres tener mбs compra membresнa Premium.");
if(InformacionJugador_[playerid][pPremium] == 1 && InformacionJugador_[playerid][pCasa][0] != -1 && InformacionJugador_[playerid][pCasa][1] != -1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya tienes 2 propiedades, si quieres tener mбs compra membresнa Premium.");



Re: Respuesta: Modificaciуn de este comando. - Fagrinht - 07.07.2016

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Con lo que dices serнa mбs o menos asн:

Код:
if(InformacionJugador_[playerid][pPremium] == 0 && InformacionJugador_[playerid][pCasa][0] != -1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya tienes una propiedad, si quieres tener mбs compra membresнa Premium.");
if(InformacionJugador_[playerid][pPremium] == 1 && InformacionJugador_[playerid][pCasa][0] != -1 && InformacionJugador_[playerid][pCasa][1] != -1) return SendClientMessage(playerid, COLOR_ROJO, "* Ya tienes 2 propiedades, si quieres tener mбs compra membresнa Premium.");
Bien, y si tiene membresía premium y puede comprar 2 casas, como hago para asignarle a la cuenta la ID de la casa en el slot 2 en vez del 1 otra vez, lo había hecho así y no funciona.

if(InformacionJugador_[playerid][pCasa][0] != 0)
{
InformacionJugador_[playerid][pCasa][0] = InformacionCasa_[c][cSQLID];
}
else if(InformacionJugador_[playerid][pCasa][1] != 0)
{
InformacionJugador_[playerid][pCasa][1] = InformacionCasa_[c][cSQLID];
}


Respuesta: Modificaciуn de este comando. - Unrea1 - 07.07.2016

Код:
if(InformacionJugador_[playerid][pCasa][0] == 0)
{
InformacionJugador_[playerid][pCasa][0] = InformacionCasa_[c][cSQLID];
}
else if(InformacionJugador_[playerid][pCasa][1] == 0)
{
InformacionJugador_[playerid][pCasa][1] = InformacionCasa_[c][cSQLID];
}
!= si no es igual quй.
== igual quй.


Re: Respuesta: Modificaciуn de este comando. - Fagrinht - 08.07.2016

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Код:
if(InformacionJugador_[playerid][pCasa][0] == 0)
{
InformacionJugador_[playerid][pCasa][0] = InformacionCasa_[c][cSQLID];
}
else if(InformacionJugador_[playerid][pCasa][1] == 0)
{
InformacionJugador_[playerid][pCasa][1] = InformacionCasa_[c][cSQLID];
}
!= si no es igual quй.
== igual quй.
Muchísimas gracias, +REP.