SA-MP Forums Archive
Duda sencilla - 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: Duda sencilla (/showthread.php?tid=587109)



Duda sencilla - Colomina37 - 28.08.2015

Soy noob en este aspecto, os comento.

Tengo fijado los vehнculos de cada facciуn por grupos. Si se quiere spawnear vehнculos, se puede hacer uno general o por facciуn. Al igual que evitar que hagan tunning de los vehнculos de facciуn.

Lo que pasa es que veo que es innecesario hacer respawn facciуn por facciуn, asн que busco alguna manera de poner todos los vehнculos de facciones juntas. Algo tipo "FaccVehicles" y que al poner el CMD /spawnfacc sуlo se spawnean esos coches, en vez de ser facciуn por facciуn. Espero que lo entiendan. Ademбs mбs simple a la hora de especificar que no se puede pintar los coches de facciуn.

Un ejemplo...

Код:
if(LSPD_Vehicle(iVeh)||SEC_Vehicle(iVeh)||MTR_Vehicle(iVeh)||FBI_Vehicle(iVeh)||CNN_Vehicle(iVeh)|| IsAPizzabike(iVeh)||SpecialCar(iVeh)||SAEM_Vehicle(iVeh))

{return SendClientMessageEx(playerid, COLOR_GREY, "No puedes pintar vehнculos facciуn.");
Poniendo algo asн....

Код:
if(FaccVehicle(iVeh))

{return SendClientMessageEx(playerid, COLOR_GREY, "No puedes pintar vehнculos facciуn.");
Por otro lado la agrupaciуn de coches estб de este modo... (Por Cada facciуn).

Код:
SEC_Vehicle(carid)
{
for(new v = 0; v < sizeof(SECVehicles); v++)
{
    if(carid == SECVehicles[v]) return 1;
}
return 0;
Dentro de este mismo....

Код:
SECVehicles[0] = AddStaticVehicleEx(416,bla, bla.....
Es algo simple, pero no estoy seguro de como agrupar las ID de los vehнculos de facciones.

Seria algo new CochesFacc = LSPD_Vehicle +SEC_Vehicle....

O CochesFacc = SECVehicles + LSPDVehicles...

Diganme que mejor manera ven para agrupar a todos los vehнculos de facciones, gracias por la ayuda.


Respuesta: Duda sencilla - Tirael - 28.08.2015

pawn Код:
public EsVehiculoFaccion(vehicleid)
{
    if(LSPD_Vehicle(vehicleid)||bla, bla bla )
    {

    }
    return 0;
}



Respuesta: Duda sencilla - Colomina37 - 28.08.2015

Hay que poner algъn Forward? para que sirven los "{ y }" que no tienen funciуn alguna. Gracias por contestar. Hay otras maneras de hacer esto? usando un "case" o algo para ponerlos en conjunto,gracias.


Re: Duda sencilla - Unrea1 - 28.08.2015

Код:
stock EsVehiculoFaccion(vehicleid)
{
	if(LSPD_Vehicle(vehicleid) || etc)
    {

    }
	return 0;
}
Los { } sirven para abrir mбs el cуdigo segъn la condiciуn (if) que coloques antes de las llaves { }, sobre el " case " no sй a que te refieres con eso. Querrбs decir switch....


Respuesta: Duda sencilla - Colomina37 - 29.08.2015

Se puede hacer esto?
que formas ven mejores?

Код:
public EsVehiculoFaccion(vehicleid)
{
	if(LSPD_Vehicle(vehicleid) return 1;
        else if(SEC_Vehicle(vehicleid) {return 1;}
        else if(Bla, bla...

} return 0;



Re: Respuesta: Duda sencilla - Unrea1 - 29.08.2015

Quote:
Originally Posted by Colomina37
Посмотреть сообщение
Se puede hacer esto?
que formas ven mejores?

Код:
public EsVehiculoFaccion(vehicleid)
{
	if(LSPD_Vehicle(vehicleid) return 1;
        else if(SEC_Vehicle(vehicleid) {return 1;}
        else if(Bla, bla...

} return 0;
Ese cуdigo no funciona para nada, dado que estбs dejando por fuera el return 0, falta de parйntesis y eso.

Lo que puedes hacer es asignar ID a todos los vehнculos y asн seleccionarlos con un loop, por ejemplo, si tienes 300 autos y 100 son de facciуn (suponte que estбn todos ordenados de 1 - 100, el 0 no cuenta...) bien con un loop recorres desde el 1 al 100 indicando que son de facciуn y podrнas ejecutar las funciones que quieras dado que si son de la facciуn (aunque para mayor optimizaciуn se utilizarнa switch), ahora, si los tienes salteados, por ejemplo el ID 5 - 37 - 105 - 158 son de facciуn aplicas el switch con la variable general para autos.


Respuesta: Duda sencilla - Colomina37 - 29.08.2015

Es que lo tengo en 2 grupos... primero todos los vehнculos de una facciуn los junto en un grupo "Sec_Vehicle", la ID de cada vehнculo es SecVehicles.

El codo seria este...

Код:
SEC_Vehicle(carid)
{
for(new v = 0; v < sizeof(SECVehicles); v++)
{
    if(carid == SECVehicles[v]) return 1;
}
return 0;

// Por otro lado:

Cуdigo:
SECVehicles[0] = AddStaticVehicleEx(416,bla, bla.....
SECVehicles[1] = AddStaticVehicleEx(416,bla, bla
La duda es si tengo que poner cada ID de coche, osea los "SECVehicles" o tomar el grupo "SEC_Vehicle".
Gracias de nuevo.


Respuesta: Duda sencilla - Zume - 29.08.2015

SEC_Vehicle tienes que tomar, para hacer lo que quieres de una forma mбs ordenada quizб te sirva y_iterator


Respuesta: Duda sencilla - Colomina37 - 31.08.2015

Puse el siguiente cуdigo en la GM y funciona, es vбlido?

Код:
stock VehiculoFaccionLegal(vehicleid)
{
	if(LSPD_Vehicle(carid) || FBI_Vehicle(carid) || SAEM_Vehicle(carid) || SEC_Vehicle(carid))
	return 0;
}
Aunque tambiйn puse de esta otra manera...

Код:
stock VehiculoFaccionLegal(vehicleid)
{
	if(LSPD_Vehicle(carid) || FBI_Vehicle(carid) || SAEM_Vehicle(carid) || SEC_Vehicle(carid))
       {
       return 1;
       }
       return 0;
}
Alguna de estas maneras estaria mal?


Re: Duda sencilla - SickAttack - 31.08.2015

Utiliza la segunda, pero podrias hacerlo que use la etiqueta boolean.