Skripta koju koristim:FS
Detaljan opis problema: ne ocitava mi kilometre
Dio skripte:
enum cInfo
{
cKilometer,
cMeter,
};
speedometre[i][Kilometre] = TextDrawCreate(540.000000, 430.000000, "_");
TextDrawBackgroundColor(speedometre[i][Kilometre], 255);
TextDrawFont(speedometre[i][Kilometre], 2);
TextDrawLetterSize(speedometre[i][Kilometre], 0.270000, 1.000000);
TextDrawColor(speedometre[i][Kilometre], -1);
TextDrawSetOutline(speedometre[i][Kilometre], 1);
TextDrawSetProportional(speedometre[i][Kilometre], 1);
forward CarUpdate(i);
public CarUpdate(i)
{
new vid = GetPlayerVehicleID(i);
CarInfo[vid][cMeter] += (speed[i]*10)/36;
if(CarInfo[vid][cMeter] > 999)
{
CarInfo[vid][cKilometer] += 1;
CarInfo[vid][cMeter] = 0;
}
if(IsASportCar(vid))
{
if(speed[vid] == 0)
{
Gas[vid]-=10;
}
else if(speed[vid] > 0 && speed[vid] <= 60)
{
Gas[vid]-=20;
}
else if(speed[vid] > 60 && speed[vid] <= 120)
{
Gas[vid]-=30;
}
else if(speed[vid] > 120 && speed[vid] <= 400)
{
Gas[vid]-=45;
}
}
else
{
if(speed[vid] == 0)
{
Gas[vid]-=5;
}
else if(speed[vid] > 0 && speed[vid] <= 60)
{
Gas[vid]-=10;
}
else if(speed[vid] > 60 && speed[vid] <= 120)
{
Gas[vid]-=15;
}
else if(speed[vid] > 120 && speed[vid] <= 400)
{
Gas[vid]-=25;
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new Float:fPos[3],vehicleid,Sspeed[256],string[256],kilo[256];
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
speed[playerid] = GetVehicleSpeed(vehicleid);
if( speed[playerid] <= SPEED_1 )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else if(speed[playerid] <= SPEED_2 )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else if(speed[playerid] <= MAX_SPEED )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else
{
format(Sspeed,sizeof(Sspeed),"~R~Too much");
}
new carid=GetPlayerVehicleID(playerid);
if(arrlen(CarInfo[vehicleid][cKilometer]) == 1)
{
format(kilo,sizeof(kilo),"00000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 2)
{
format(kilo,sizeof(kilo),"0000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 3)
{
format(kilo,sizeof(kilo),"000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 4)
{
format(kilo,sizeof(kilo),"00%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 5)
{
format(kilo,sizeof(kilo),"0%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 6)
{
format(kilo,sizeof(kilo),"%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/100);
}
format(string,sizeof(string),"%s",kilo);
TextDrawSetString(speedometre[playerid][Kilometre], string);
format(string,sizeof(string),"%s",Sspeed);
TextDrawSetString(speedometre1[playerid][Vitesse], string);
format(string,sizeof(string),"%s",VehiclesName[GetVehicleModel(carid)-400]);
TextDrawSetString(speedometre3[playerid][Vehicule], string);
}
return 1;
}
Na koji nacin si sredio da ti se ovi metri povecavaju ?
Citat: â–... â–† â–ˆ Alon â–ˆ â–† â–... poslato Mart 18, 2014, 12:12:46 POSLE PODNE
Na koji nacin si sredio da ti se ovi metri povecavaju ?
nez to sam naso pa me zanimalo zas ne ocitava
// Speedometer By Shawn Miller Thanks for use. Please leave the credits !
#include <a_samp>
#define MAX_CAR 100000 // Put here your number of maximum cars on your server.
new Text:Textdraw1347;
new VehiclesName[][] = {
"Ldance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor",
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
"Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer",
"Stair Trailer","Boxville","Farm Plow","Utility Trailer" };
enum cInfo
{
cKilometer, // Kilometers of the vehicle
cMeter, // Meters of the vehicle
};
new CarInfo[MAX_CAR][cInfo];
stock arrlen(&constinteger)
{
new tmp[12];
format(tmp, 12, "%i", constinteger);
return strlen(tmp);
}
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Speedometer by Shawn Miller");
print("--------------------------------------\n");
print("Loading Speedometer ...\n");
for(new i = 0; i < MAX_PLAYERS; i++)
{
);
TextDrawUseBox(Textdraw1337,1);
TextDrawBoxColor(Textdraw1337,0x00000066);
TextDrawTextSize(Textdraw1337,639.000000,160.000000);
TextDrawAlignment(Textdraw1337,2);
TextDrawBackgroundColor(Textdraw1337,0x00000000);
TextDrawFont(Textdraw1337,3);
TextDrawLetterSize(Textdraw1337,0.599999,8.300000);
TextDrawColor(Textdraw1337,0xffffffff);
TextDrawSetOutline(Textdraw1337,1);
Textdraw1339 = TextDrawCreate(473.000000,390.000000,"Speed:");
Textdraw1340 = TextDrawCreate(605.000000,395.500000,"I");
Textdraw1341 = TextDrawCreate(588.000000,401.000000,"I");
Textdraw1342 = TextDrawCreate(571.000000,406.900000,"I");
Textdraw1343 = TextDrawCreate(555.000000,412.400000,"I");
Textdraw1344 = TextDrawCreate(540.000000,416.000000,"I");
Textdraw1345 = TextDrawCreate(473.000000,413.000000,"Fuel:");
Textdraw1346 = TextDrawCreate(472.000000,369.000000,"Vehicle:");
Textdraw1347 = TextDrawCreate(472.000000,430.000000,"Kilometers:");
TextDrawUseBox(Textdraw1340,1);
TextDrawBoxColor(Textdraw1340,0x00ffffff);
TextDrawTextSize(Textdraw1340,614.000000,2.000000);
TextDrawUseBox(Textdraw1341,1);
TextDrawBoxColor(Textdraw1341,0x00ffffff);
TextDrawTextSize(Textdraw1341,597.000000,0.000000);
TextDrawUseBox(Textdraw1342,1);
TextDrawBoxColor(Textdraw1342,0x00ffffff);
TextDrawTextSize(Textdraw1342,580.000000,-2.000000);
TextDrawUseBox(Textdraw1343,1);
TextDrawBoxColor(Textdraw1343,0x00ffffff);
TextDrawTextSize(Textdraw1343,564.000000,0.000000);
TextDrawUseBox(Textdraw1344,1);
TextDrawBoxColor(Textdraw1344,0x00ffffff);
TextDrawTextSize(Textdraw1344,548.000000,0.000000);
TextDrawAlignment(Textdraw1339,0);
TextDrawAlignment(Textdraw1340,0);
TextDrawAlignment(Textdraw1341,0);
TextDrawAlignment(Textdraw1342,0);
TextDrawAlignment(Textdraw1343,0);
TextDrawAlignment(Textdraw1344,0);
TextDrawAlignment(Textdraw1345,0);
TextDrawAlignment(Textdraw1346,0);
TextDrawAlignment(Textdraw1347,0);
TextDrawBackgroundColor(Textdraw1339,0x000000ff);
TextDrawBackgroundColor(Textdraw1340,0x00ffffff);
TextDrawBackgroundColor(Textdraw1341,0x00ffffff);
TextDrawBackgroundColor(Textdraw1342,0x00ffffff);
TextDrawBackgroundColor(Textdraw1343,0x00ffffff);
TextDrawBackgroundColor(Textdraw1344,0x00ffffff);
TextDrawBackgroundColor(Textdraw1345,0x000000ff);
TextDrawBackgroundColor(Textdraw1346,0x000000ff);
TextDrawBackgroundColor(Textdraw1347,0x000000ff);
TextDrawFont(Textdraw1339,1);
TextDrawLetterSize(Textdraw1339,0.199999,1.199999);
TextDrawFont(Textdraw1340,3);
TextDrawLetterSize(Textdraw1340,1.000000,2.899999);
TextDrawFont(Textdraw1341,3);
TextDrawLetterSize(Textdraw1341,1.000000,2.299999);
TextDrawFont(Textdraw1342,3);
TextDrawLetterSize(Textdraw1342,1.000000,1.600000);
TextDrawFont(Textdraw1343,3);
TextDrawLetterSize(Textdraw1343,1.000000,1.000000);
TextDrawFont(Textdraw1344,3);
TextDrawLetterSize(Textdraw1344,1.000000,0.599999);
TextDrawFont(Textdraw1345,1);
TextDrawLetterSize(Textdraw1345,0.299999,1.000000);
TextDrawFont(Textdraw1346,2);
TextDrawLetterSize(Textdraw1346,0.199999,1.000000);
TextDrawFont(Textdraw1347,2);
TextDrawLetterSize(Textdraw1347,0.199999,1.000000);
TextDrawColor(Textdraw1339,0xffffffff);
TextDrawColor(Textdraw1340,0x00ffffff);
TextDrawColor(Textdraw1341,0x00ffffff);
TextDrawColor(Textdraw1342,0x00ffffff);
TextDrawColor(Textdraw1343,0x00ffffff);
TextDrawColor(Textdraw1344,0x00ffffff);
TextDrawColor(Textdraw1345,0xffffffff);
TextDrawColor(Textdraw1346,0xffffffff);
TextDrawColor(Textdraw1347,0xffffffff);
TextDrawSetOutline(Textdraw1339,1);
TextDrawSetOutline(Textdraw1340,1);
TextDrawSetOutline(Textdraw1341,1);
TextDrawSetOutline(Textdraw1342,1);
TextDrawSetOutline(Textdraw1343,1);
TextDrawSetOutline(Textdraw1344,1);
TextDrawSetOutline(Textdraw1345,1);
TextDrawSetOutline(Textdraw1346,1);
TextDrawSetOutline(Textdraw1347,1);
TextDrawSetProportional(Textdraw1339,1);
TextDrawSetProportional(Textdraw1340,1);
TextDrawSetProportional(Textdraw1341,1);
TextDrawSetProportional(Textdraw1342,1);
TextDrawSetProportional(Textdraw1343,1);
TextDrawSetProportional(Textdraw1344,1);
TextDrawSetProportional(Textdraw1345,1);
TextDrawSetProportional(Textdraw1346,1);
TextDrawSetProportional(Textdraw1347,1);
TextDrawSetShadow(Textdraw1339,1);
TextDrawSetShadow(Textdraw1340,1);
TextDrawSetShadow(Textdraw1341,1);
TextDrawSetShadow(Textdraw1342,1);
TextDrawSetShadow(Textdraw1343,1);
TextDrawSetShadow(Textdraw1344,1);
TextDrawSetShadow(Textdraw1345,1);
TextDrawSetShadow(Textdraw1346,1);
TextDrawSetShadow(Textdraw1347,1);
print("Speedometer loaded\n");
return 1;
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_ONFOOT) // A pied
{
TextDrawHideForPlayer(playerid, speedometre[playerid][Kilometre]);
TextDrawHideForPlayer(playerid, speedometre1[playerid][Vitesse]);
TextDrawHideForPlayer(playerid, speedometre3[playerid][Vehicule]);
TextDrawHideForPlayer(playerid, Textdraw1337);
TextDrawHideForPlayer(playerid, Textdraw1338);
TextDrawHideForPlayer(playerid, Textdraw1339);
TextDrawHideForPlayer(playerid, Textdraw1340);
TextDrawHideForPlayer(playerid, Textdraw1341);
TextDrawHideForPlayer(playerid, Textdraw1342);
TextDrawHideForPlayer(playerid, Textdraw1343);
TextDrawHideForPlayer(playerid, Textdraw1344);
TextDrawHideForPlayer(playerid, Textdraw1345);
TextDrawHideForPlayer(playerid, Textdraw1346);
TextDrawHideForPlayer(playerid, Textdraw1347);
return 1;
}
else if(newstate == PLAYER_STATE_DRIVER)
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new vehicleid = GetPlayerVehicleID(playerid);
TextDrawShowForPlayer(playerid, speedometre[playerid][Kilometre]);
TextDrawShowForPlayer(playerid, speedometre1[playerid][Vitesse]);
TextDrawShowForPlayer(playerid, speedometre3[playerid][Vehicule]);
TextDrawShowForPlayer(playerid, Text:Textdraw1337);
TextDrawShowForPlayer(playerid, Text:Textdraw1338);
TextDrawShowForPlayer(playerid, Text:Textdraw1339);
TextDrawShowForPlayer(playerid, Text:Textdraw1345);
TextDrawShowForPlayer(playerid, Text:Textdraw1346);
TextDrawShowForPlayer(playerid, Text:Textdraw1347);
if( Gas[vehicleid] >= 8 && Gas[vehicleid] <= 10 )
{
TextDrawShowForPlayer(playerid,Text:Textdraw1340);
TextDrawShowForPlayer(playerid,Text:Textdraw1341);
TextDrawShowForPlayer(playerid,Text:Textdraw1342);
TextDrawShowForPlayer(playerid,Text:Textdraw1343);
TextDrawShowForPlayer(playerid,Text:Textdraw1344);
}
if( Gas[vehicleid] >= 6 && Gas[vehicleid] < 8 )
{
TextDrawShowForPlayer(playerid,Text:Textdraw1341);
TextDrawShowForPlayer(playerid,Text:Textdraw1342);
TextDrawShowForPlayer(playerid,Text:Textdraw1343);
TextDrawShowForPlayer(playerid,Text:Textdraw1344);
}
if( Gas[vehicleid] >= 4 && Gas[vehicleid] < 6 )
{
TextDrawShowForPlayer(playerid,Text:Textdraw1342);
TextDrawShowForPlayer(playerid,Text:Textdraw1343);
TextDrawShowForPlayer(playerid,Text:Textdraw1344);
}
if( Gas[vehicleid] >= 2 && Gas[vehicleid] < 4 )
{
TextDrawShowForPlayer(playerid,Text:Textdraw1343);
TextDrawShowForPlayer(playerid,Text:Textdraw1344);
}
if( Gas[vehicleid] > 0 && Gas[vehicleid] < 2 )
{
TextDrawShowForPlayer(playerid,Text:Textdraw1344);
}
if( Gas[vehicleid] == 0)
{
return 1;
}
}
return 1;
}
forward GetVehicleSpeed(vehicleid);
public GetVehicleSpeed(vehicleid)
{
new Float:X, Float:Y, Float:Z;
GetVehicleVelocity(vehicleid, X, Y, Z);
return floatround(floatsqroot(X * X + Y * Y + Z * Z) * 180);
}
forward IsASportCar(carid);
public IsASportCar(carid)
{
if(carid==0)
{ return 0; }
new car = GetVehicleModel(carid);
if(car == 402 || car == 411 || car == 415 || car == 429 || car == 451 || car == 475 || car == 477 || car == 496 || car == 506 || car == 551 || car == 558 || car == 559 || car == 565 || car == 587 || car == 589)
{ return 1; }
else if(car == 602 || car == 603)
{return 1;}
return 0;
}
forward CarUpdate(i);
public CarUpdate(i)
{
new vid = GetPlayerVehicleID(i);
// Compteur de kilomÄtres
CarInfo[vid][cMeter] += (speed[i]*1)/3;
if(CarInfo[vid][cMeter] > 1)
{
CarInfo[vid][cKilometer] += 1;
CarInfo[vid][cMeter] = 0;
}
// Essence
if(IsASportCar(vid))
{
if(speed[vid] == 0)
{
Gas[vid]-=10;
}
else if(speed[vid] > 0 && speed[vid] <= 6)
{
Gas[vid]-=20;
}
else if(speed[vid] > 6 && speed[vid] <= 12)
{
Gas[vid]-=30;
}
else if(speed[vid] > 12 && speed[vid] <= 40)
{
Gas[vid]-=45;
}
}
else
{
if(speed[vid] == 0)
{
Gas[vid]-=5;
}
else if(speed[vid] > 0 && speed[vid] <= 6)
{
Gas[vid]-=10;
}
else if(speed[vid] > 6 && speed[vid] <= 12)
{
Gas[vid]-=15;
}
else if(speed[vid] > 12 && speed[vid] <= 40)
{
Gas[vid]-=25;
}
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new Float:fPos[3],vehicleid,Sspeed[256],string[256],kilo[256];
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
speed[playerid] = GetVehicleSpeed(vehicleid);
if( speed[playerid] <= SPEED_1 )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else if(speed[playerid] <= SPEED_2 )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else if(speed[playerid] <= MAX_SPEED )
{
format(Sspeed,sizeof(Sspeed),"%d~W~km/h", speed[playerid]);
}
else
{
format(Sspeed,sizeof(Sspeed),"~R~Too much");
}
new carid=GetPlayerVehicleID(playerid);
if(arrlen(CarInfo[vehicleid][cKilometer]) == 1)
{
format(kilo,sizeof(kilo),"00000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 2)
{
format(kilo,sizeof(kilo),"0000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 3)
{
format(kilo,sizeof(kilo),"000%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 4)
{
format(kilo,sizeof(kilo),"00%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 5)
{
format(kilo,sizeof(kilo),"0%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
if(arrlen(CarInfo[vehicleid][cKilometer]) == 6)
{
format(kilo,sizeof(kilo),"%d~r~%d", CarInfo[carid][cKilometer], CarInfo[carid][cMeter]/1);
}
format(string,sizeof(string),"%s",kilo);
TextDrawSetString(speedometre[playerid][Kilometre], string);
format(string,sizeof(string),"%s",Sspeed);
TextDrawSetString(speedometre1[playerid][Vitesse], string);
format(string,sizeof(string),"%s",VehiclesName[GetVehicleModel(carid)-4]);
TextDrawSetString(speedometre3[playerid][Vehicule], string);
}
return 1;
}
Pokusaj nesto na ovaj fazon
Na vrh
new Float:Kilometri[MAX_VEHICLES];
I napravis neki stock il public koji bi ti ucitavao sve to
new Float:ST[4], vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleVelocity(vehicleid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
Kilometri[vehicleid] += ST[3]/1000;
kako da sredam ono Vehisle i fuel?