SA-MP Forums Archive
[Duda] OnVehicleSpawn - 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] OnVehicleSpawn (/showthread.php?tid=239715)



[Duda] OnVehicleSpawn - leaNN! - 14.03.2011

Hola gente!
Bueno, es la primera vez que utilizo esta funcion, antes nunca le habia prestado atencion.
El problema que tengo, es el siguiente.

pawn Код:
public OnVehicleSpawn(vehicleid)
{
    new engine, lights, alarm, doors, pannels, bonnet, boot, objective;
   
    new rand = random(5);
    switch(rand)
    {
        case 0: SetVehicleHealth(vehicleid, 350);
        case 1: SetVehicleHealth(vehicleid, 500);
        case 2: SetVehicleHealth(vehicleid, 700);
        case 3: SetVehicleHealth(vehicleid, 400);
        case 4: SetVehicleHealth(vehicleid, 600);
    }
   
    new rand2 = random(7);
    switch(rand2)
    {
        case 0: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 2);
        case 1: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 1);
        case 2: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 5);
        case 3: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 3);
        case 4: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 4);
        case 5: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 7);
        case 6: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, 0);
    }
   
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    return 1;
}
Este codigo no me esta funcionando. Compila bien, pero sin embargo, cuando entro a un vehiculo, el mismo esta encendido, con 1000 de salud, y las ruedas en perfecto estado.

Si me pueden ayudar con esto, estaria bueno.
PD: No se si tendrб algo que ver, pero en OnGameModeInit estoy usando CreateVehicle.


Re: [Duda] OnVehicleSpawn - MrDeath537 - 14.03.2011

Nota aparte:

pawn Код:
switch (random(5))
    {
        case 0: SetVehicleHealth(vehicleid, 350);
        case 1: SetVehicleHealth(vehicleid, 500);
        case 2: SetVehicleHealth(vehicleid, 700);
        case 3: SetVehicleHealth(vehicleid, 400);
        case 4: SetVehicleHealth(vehicleid, 600);
    }
   
    case 0: UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, random(8));
(Cуdigo mejorado) xD


Por cierto, cuando un vehнculo es creado OnVehicleSpawn no es llamado, tenйs que usar SetVehicleToRespawn.


Respuesta: [Duda] OnVehicleSpawn - leaNN! - 14.03.2011

Osea, primero creo todos los vehiculos con CreateVehicle, y despues hago SetVehicleToRespawn(i)? (i seria la definicion que no me acuerdo como se llama xd)


Respuesta: [Duda] OnVehicleSpawn - leaNN! - 14.03.2011

Perdуn por el doble post!
Bueno, ahora aparecen las ruedas pinchadas y la salud del auto esta deteriorada usando:
pawn Код:
for(new i = 0; i < MAX_VEHICLES; i++)
{
    SetVehicleToRespawn(i))
}
luego de crear los vehiculos.

Peeero, los vehiculos siguen encendidos .

Les dejo el code que estoy usando ahorita:

pawn Код:
public OnVehicleSpawn(vehicleid)
{
    new engine, lights, alarm, doors, pannels, bonnet, boot, objective;
   
    new rand = random(5);
    switch(rand)
    {
        case 0: SetVehicleHealth(vehicleid, 350);
        case 1: SetVehicleHealth(vehicleid, 500);
        case 2: SetVehicleHealth(vehicleid, 700);
        case 3: SetVehicleHealth(vehicleid, 400);
        case 4: SetVehicleHealth(vehicleid, 600);
    }
   
    UpdateVehicleDamageStatus(vehicleid, pannels, doors, lights, random(8));
   
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vehicleid, false, lights, alarm, doors, bonnet, boot, objective);
    return 1;
}
Lo unico que cambia de lo de arriba, es que estoy usando el codigo como dijo MrDeath, que son menos lineas y debe ser mas rapido, supongo.