GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Driftk1d - 2012. március 11. - 21:33:58

Cím: auto javito script
Írta: Driftk1d - 2012. március 11. - 21:33:58
Hello még kezdõ vagyok. Na a kérésem hogy pl neki megyek a  falnak akkor egybõl megjavítja a kocsimat vagyis másodpercenként javítja a kocsim. Elõre is köszönöm
Cím: auto javito script
Írta: CANNONN - 2012. március 11. - 21:50:17
forward autojavit(playerid);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
javitas[playerid] = SetTimerEx(\"autojavit\", 3000, true, \"i\", playerid);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
KillTimer(javitas[playerid]);
return 1;
}
public autojavit(playerid)
{
        new Float:Elet;
        GetVehicleHealth(GetPlayerVehicleID(playerid), Elet);
if(elet < 1000) return RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
Cím: auto javito script
Írta: lackos888 - 2012. március 11. - 22:01:45
Ez sokat foglal Cannonn fõleg h nem killezed ki a timerét mikor disconnectelsz!
Ez jobblesz:
 

forward javit();
public javit()
{
    for(new i; i++<MAX_PLAYERS;)
    {
        if(IsPlayerConnected(i)&&IsPlayerInAnyVehicle(i))
        {
            RepairVehicle(GetPlayerVehicleID(i));
        }
    }
}
public OnFilterScriptInit()
{
    SetTimer(\"javit\",1000,1);
}
Cím: auto javito script
Írta: CANNONN - 2012. március 11. - 22:04:27

forward javit();
public javit()
{
    for(new i; i++<MAX_PLAYERS;)
    {
        if(IsPlayerConnected(i)&&IsPlayerInAnyVehicle(i))
        {
            RepairVehicle(GetPlayerVehicleID(i));
        }
    }
}
public OnFilterScriptInit()
{
    SetTimer(\"javit\",1000,1);
}
 
[/quote]
Na ez minek? \" for(new i; i++<MAX_PLAYERS;)\"
Minek fusson le az összes személy számára aki kocsiban van? Fölösleges.
Amúgy te sem kapcsoltad ki az idõzítõt, attól, hogy ha nincs csatlakozva nem fut le. Alapból ha nincs csatlakozva, akkor nem fut le.
Kicsit takarékosabban.
Mód elejére.
new javitas[MAX_PLAYERS];
 
forward autojavit(playerid);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
javitas[playerid] = SetTimerEx(\"autojavit\", 3000, true, \"i\", playerid);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
KillTimer(javitas[playerid]);
return 1;
}
public autojavit(playerid)
{
        new Float:Elet;
        GetVehicleHealth(GetPlayerVehicleID(playerid), Elet);
if(elet < 1000) return RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}