Taigi pradzioje scripto parasome:
Kodas: Pasirinkti visus
enum Kuras
{
benzas[MAX_VEHICLES],
dizelis[MAX_VEHICLES],
dujos[MAX_VEHICLES],
bool:usedizelis[MAX_VEHICLES],
bool:usebenzas[MAX_VEHICLES],
bool:usedujos[MAX_VEHICLES],
bool:yradujos[MAX_VEHICLES],
bool:pilam
};
new vKuras[MAX_VEHICLES][Kuras];
new dujumontavimas;
new degaline;i OnGameModeInit sukuriame duju montavimo pickupa ir deglines pickupa:
Kodas: Pasirinkti visus
dujumontavimas = CreatePickup( model, type, Float:X, Float:Y, Float:Z, Virtualworld );
degaline = CreatePickup( model, type, Float:X, Float:Y, Float:Z, Virtualworld );bei timeri:
Kodas: Pasirinkti visus
SetTimer("mazeja",15000,1);tada susirandam OnPlayerPickUpPickup ir irasom kas bus kai uzeis ant degalines is montavimo pickupu:
Kodas: Pasirinkti visus
if(dujumontavimas)
{
if(IsPlayerInAnyVehicle(playerid))
{
new VehicleID = GetPlayerVehicleID(playerid);
{
vKuras[VehicleID][yradujos] = true;
}
}
}
if(degaline)
{
if(IsPlayerInAnyVehicle(playerid))
{
new VehicleID = GetPlayerVehicleID(playerid);
new iSeat = GetPlayerVehicleSeat(playerid);
if(iSeat == 0)
{
vPilam(VehicleID);
vKuras[VehicleID][pilam] = true;
}
}
}Padarom kad kuras mazetu:
Kodas: Pasirinkti visus
forward mazeja(vehicleid);
public mazeja(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInAnyVehicle(i))
{
if(vKuras[vehicleid][benzas] <1 || vKuras[vehicleid][dizelis] <1 || vKuras[vehicleid][dujos] <1)
{
TogglePlayerControllable(vehicleid,0);
return 1;
}
if(vKuras[vehicleid][usedizelis])
{
vKuras[vehicleid][dizelis][GetPlayerVehicleID(i)] -=5;
}else if(vKuras[vehicleid][usebenzas]){
vKuras[vehicleid][benzas][GetPlayerVehicleID(i)] -=5;
} else if(vKuras[vehicleid][usedujos]){
vKuras[vehicleid][dujos][GetPlayerVehicleID(i)] -=5;
}
rodom(vehicleid);
}
}
}
return 1;
}padarom kad rodytu:
Kodas: Pasirinkti visus
forward rodom(vehicleid);
public rodom(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && GetPlayerState(i) == 2)
{
new info[128];
if(vKuras[vehicleid][usedizelis])
{
format(info,sizeof(info),"Dizelis: %d",vKuras[vehicleid][dizelis][GetPlayerVehicleID(i)]);
}else if(vKuras[vehicleid][usebenzas])
{
format(info,sizeof(info),"Benzinas: %d",vKuras[vehicleid][benzas][GetPlayerVehicleID(i)]);
}else if(vKuras[vehicleid][usedujos])
{
format(info,sizeof(info),"Dujos: %d",vKuras[vehicleid][dujos][GetPlayerVehicleID(i)]);
}
SendClientMessage(i,0xFFFFFFF,info);
}
}
}ir dabar du degalines callbackai:
Kodas: Pasirinkti visus
forward vPilam(vehicleid);
public vPilam(vehicleid)
{
if(vKuras[vehicleid][pilam] == true)
{
SetTimer("pilti",1000,false);
}
}
forward pilti(playerid, vehicleid);
public pilti(playerid, vehicleid)
{
new vid = GetPlayerVehicleID(playerid);
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(vKuras[vehicleid][benzas] < 100 || vKuras[vehicleid][dizelis] < 100 || vKuras[vehicleid][dujos] < 100 )
{
if(vKuras[vehicleid][usedizelis])
{
vKuras[vehicleid][dizelis][vid] +=1;
SendClientMessage(playerid,0xFFFFFFF,"Ipiltas 1 litras.");
}else if(vKuras[vehicleid][usebenzas]){
vKuras[vehicleid][benzas][vid] +=1;
SendClientMessage(playerid,0xFFFFFFF,"Ipiltas 1 litras.");
} else if(vKuras[vehicleid][usedujos]){
vKuras[vehicleid][dujos][vid] +=1;
SendClientMessage(playerid,0xFFFFFFF,"Ipiltas 1 litras.");
}
}else{
vKuras[vehicleid][pilam] = false;
}
vPilam(vehicleid);
}
}
}Ir padarom komanda kad nelauktu kol pripils pilna baka:
Kodas: Pasirinkti visus
CMD:nebepilti(playerid,params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
vKuras[vehicleid][pilam] = false;
GameTextForPlayer(playerid,"~W~Degalu pilimas nutrauktas",5000,5);
}Dekui Stuneriui uz pagalba
Compiliavau ir jokiu erroru nerode.
Jei bus kokiu nors nesuprantamu dalyku ar siaip klausymu - rasykit.










As visada galiu pakurt pamokas kurias pats moku. Tuo labiau kad cia mastyt net nereikejo.





