Auto-Repair won't stop! - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Auto-Repair won't stop! (
/showthread.php?tid=454973)
Auto-Repair won't stop! -
Drift032 - 31.07.2013
Ok, so I scripted an auto-repair using timers and It works, but the command to turn it off doesn't.
(The most of the code for this)
new repairtimer;
pawn Код:
CMD:godmode(playerid, params[])
{
SetPlayerHealth(playerid,100000);
SendClientMessage(playerid,-1,"Godmode: {0000FF}ON");
SendClientMessage(playerid,COLOR_RED,"Your vehicle cannot be destroyed.");
repairtimer = SetTimerEx("repairme", 500, false, "i", playerid);
return 1;
}
CMD:godmodeoff(playerid, params[])
{
SetPlayerHealth(playerid,100);
SendClientMessage(playerid,-1,"Godmode: {FF0000}OFF");
SendClientMessage(playerid,COLOR_RED,"Your vehicle can be destroyed.");
KillTimer(repairtimer);
return 1;
}
pawn Код:
forward repairme(playerid);
public repairme(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:health,vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid,health);
if(health <1000)
{
RepairVehicle(vehicleid);
repairtimer = SetTimerEx("repairme", 1000, false, "i", playerid);
}
repairtimer = SetTimerEx("repairme", 1000, false, "i", playerid);
}
}
I realize this may be poorly done, but I've not had much experience using timers.
Anyone know what I did wrong or maybe even a better way to handle this?
Re: Auto-Repair won't stop! -
verlaj - 31.07.2013
try not to use timer or just Kill it by using KillTimer
Re: Auto-Repair won't stop! -
ReV. - 31.07.2013
Very poorly done indeed!
Код:
new pAutoFix[MAX_PLAYERS];
// OnGameModeInit
SetTimer("autoRepair", 400, true);
CMD:godmode(playerid, params[])
{
if(pAutoFix[playerid] == 0)
{
SetPlayerHealth(playerid, 1000000);
SendClientMessage(playerid,-1,"Godmode: {0000FF}ON");
SendClientMessage(playerid,COLOR_RED,"Your vehicle cannot be destroyed.");
pAutoFix[playerid] = 1;
}
else
{
SetPlayerHealth(playerid,100);
SendClientMessage(playerid,-1,"Godmode: {FF0000}OFF");
SendClientMessage(playerid,COLOR_RED,"Your vehicle can be destroyed.");
pAutoFix[playerid] = 0;
}
return 1;
}
forward autoRepair()
public autoRepair()
{
for(new ii = 0; ii < MAX_PLAYERS; ii++)
{
new vID = GetPlayerVehicleID(ii);
if(vID != 0)
{
if(pAutoFix[ii] == 1) RepairVehicle(vID);
}
}
return true;
}
This should do it.
Re: Auto-Repair won't stop! -
Drift032 - 31.07.2013
Thanks for the help [Hunter]

+rep'd