Esta mal? - 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: Esta mal? (
/showthread.php?tid=476135)
Esta mal? -
benjas09 - 16.11.2013
Buenas, como andan?
Yo, con un problema con este codigo
pawn Код:
forward vidavehiculo(playerid);
public vidavehiculo(playerid)
{
new Float:health, veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
for(new i; i<MAX_PLAYERS; i++)
if(IsPlayerInAnyVehicle(i)){
if(health < 375.0)
{
SetPlayerPos(i,-1443.9011,-311.5011,1051.6735);
SendClientMessage(i, -1, "Has sido descalificado por destruir el vehiculo.");
DestroyVehicle(veh);
KillTimer(vidavehiculoromper[i]);
}
}else {
SendClientMessage(i, -1, "No te encuentras en el vehiculo, volve a el.");
}
return 1;
}
Que lo inicio con este timer
pawn Код:
vidavehiculoromper[i] = SetTimerEx("vidavehiculo", 1000, true, "i", i);
Y de esta forma tengo definido a "vidavehiculoromper"
pawn Код:
new vidavehiculoromper[MAX_PLAYERS];
Lo que pasa, es que al uno averiar el vehiculo los echa a todos
Respuesta: Esta mal? -
Swedky - 16.11.2013
Es por que no usas la variable para detectar si un jugador estб en la carrera...
Respuesta: Esta mal? -
benjas09 - 16.11.2013
a que te refieres?
Respuesta: Esta mal? -
DesingMyCry - 16.11.2013
A que debes verificar la vida del vehнculo, dentro del bucle.
Respuesta: Esta mal? -
adri1 - 16.11.2013
vidavehiculoromper[i] = SetTimerEx("vidavehiculo", 1000, true, "i",
i);
Usas dos bucles, en vez de usar solo uno.
Respuesta: Esta mal? -
benjas09 - 16.11.2013
Como dentro del bucle?
Respuesta: Esta mal? -
Swedky - 17.11.2013
pawn Код:
// Este es el Timer:
vidavehiculoromper[i] = SetTimerEx("vidavehiculo", 1000, true, "d", playerid);
// Este es el code.
forward vidavehiculo(playerid);
public vidavehiculo(playerid)
{
new Float:health, veh;
veh = GetPlayerVehicleID(playerid);
GetVehicleHealth(veh, health);
for(new i; i < GetMaxPlayers(); i++)
{
if(IsPlayerInAnyVehicle(i))
{
if(health < 375.0)
{
SetPlayerPos(i,-1443.9011,-311.5011,1051.6735);
SendClientMessage(i, -1, "Has sido descalificado por destruir el vehiculo.");
DestroyVehicle(veh);
KillTimer(vidavehiculoromper[i]);
}
}
else
{
SendClientMessage(i, -1, "No te encuentras en el vehiculo, volve a el.");
}
}
return 1;
}
Respuesta: Esta mal? -
DesingMyCry - 17.11.2013
O mai gosh... utilizar un timer por jugador es demaciado.
Respuesta: Esta mal? -
Swedky - 17.11.2013
Quote:
Originally Posted by DesingMyCry
O mai gosh... utilizar un timer por jugador es demaciado.
|
Tal no es mi servidor...
Respuesta: Esta mal? -
Parka - 17.11.2013
Quote:
Originally Posted by EnzoMetlc
Tal no es mi servidor...
|
"Dime como scripteas y te dirй que clase de script eres..."
Recuerda esto no es P**** S******** aquн si nos preocupados y discutimos tanto por la optimizaciуn como la forma de emplear un cуdigo y que el usuario logre entender..
pawn Код:
public OnGameModeInit(){
SetTimer("ObtenerVerificacion",1000,true);
}
forward ObtenerVerificacion();
public ObtenerVerificacion(){
for(new i,t=GetMaxPlayers();i<t;i++){
//if(Si el jugador esta en carrera variable){
new Float:health,carid;
carid = GetPlayerVehicleID(i);
GetVehicleHealth(carid,health);
if(IsPlayerInAnyVehicle(i)){
if(health <= 350.0){
SetPlayerPos(i,-1443.9011,-311.5011,1051.6735);
SendClientMessage(i, -1, "Has sido descalificado por destruir el vehiculo.");
DestroyVehicle(carid);
}
}
//}
}
return 1;
}