[Ajuda] Auto-reparo -
Delete_ - 22.04.2011
Eu criei um auto reparo
mais depois de uns 2 minutos no server ele para de reparar
nao sei oque й isso
aqui o cуdigo:
forward ArrumarVeiculo(playerid);
SetTimer("ArrumarVeiculo",1000,1);
public ArrumarVeiculo(playerid)
{
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
Re: [AJUDA] Auto-reparo -
pGibson - 22.04.2011
fundo da pбgina:
PHP код:
forward autoRepair();
public autoRepair()
{
new i;
while( i < MAX_PLAYERS )
{
RepairVehicle(GetPlayerVehicleID(i));
}
}
No OnGameModeInit
PHP код:
SetTimer("autoRepair",10000,1);
}
Re: [AJUDA] Auto-reparo -
Zina - 22.04.2011
Acho que neste caso seria SetTimerEx nгo й?
Re: [AJUDA] Auto-reparo -
Delete_ - 22.04.2011
Coloquei com SetTimer
depois com SetTimerEx
ambas nгo funcionaram
ao contrario, o servidor nem ligou
Re: [AJUDA] Auto-reparo -
pGibson - 22.04.2011
Quote:
Originally Posted by Zina
Acho que neste caso seria SetTimerEx nгo й?
|
Nгo. Entenda o cуdigo primeiro.
Re: [AJUDA] Auto-reparo -
Diogo_Bras - 22.04.2011
delete, eu tinha aqui um algures no meu pastebin que nem lembro como nem quando foi feito, mas espero que sirva:
pawn Код:
#include <a_samp>
new rAtiv[MAX_PLAYERS], Jogador[MAX_PLAYER_NAME], sStr[128];
new rAtivTemp;
forward rAuto(playerid);
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/rAtivar", true))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFF000AA, "Sу administradores logados na RCON podem usar este comando!");
if(rAtiv[playerid] == 1)
{
GetPlayerName(playerid, Jogador, sizeof(Jogador));
format(sStr, sizeof(sStr), "O administrador %s ativou o auto reparo de veiculos", Jogador);
SendClientMessageToAll(0xFFF000AA, sStr);
rAtivTemp = SetTimerEx("rAuto", 500, true, "i", playerid);
rAtiv[playerid]=0;
return SendClientMessage(playerid, 0xFFF000AA, "Modo auto-reparo ativado!");
}
else return SendClientMessage(playerid, 0xFFF000AA, "Auto-reparo jб estava ativado!");
}
if(!strcmp(cmdtext, "/rDesativar", true))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFF000AA, "Sу administradores logados na RCON podem usar este comando!");
if(rAtiv[playerid] == 0)
{
GetPlayerName(playerid, Jogador, sizeof(Jogador));
format(sStr, sizeof(sStr), "O administrador %s desativou o auto reparo de veiculos", Jogador);
SendClientMessageToAll(0xFFF000AA);
KillTimer(rAtivTemp);
rAitv[playerid]=0;
}
else return SendClientMessage(playerid, 0xFFF000AA, "Auto-reparo jб estava desativado!");
}
return false;
}
public rAuto(playerid)
{
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerInAnyVehicle(i))
{
new veiculo;
veiculo = GetPlayerVehicleID(i);
RepairVehicle(veiculo);
}
}
return true;
}
Nгo testei, script antigo jб.
Re: [AJUDA] Auto-reparo -
Delete_ - 22.04.2011
quero um sem comando mano
Re: [AJUDA] Auto-reparo -
LuxurioN™ - 22.04.2011
Quote:
Originally Posted by delete
quero um sem comando mano
|
Hб outra maneira, mais simples e sem temporizador:
Код:
public OnVehicleDamageStatusUpdate( vehicleid, playerid )
{
new Float:Vida;
GetVehicleHealth( vehicleid, Vida );
if( Vida < 1000 && GetVehicleModel( vehicleid ) == ID ) //Id do veнculo.
return RepairVehicle( vehicleid );
return 1;
}
Remova a parte da condicional "&& GetVehicleModel( vehicleid ) == ID" se quiser que funcione em todos os veнculos:
Код:
public OnVehicleDamageStatusUpdate( vehicleid, playerid )
{
new Float:Vida;
if(GetVehicleHealth( vehicleid, Vida ) < 1000 )
return RepairVehicle( vehicleid );
return 1;
}
Re: [Ajuda] Auto-reparo -
Delete_ - 22.04.2011
Valeu Luxuriun funcionou direitinho