Public On GameModeInit();
ManualVehicleEngineAndLights();
for(new i= 0;i<MAX_VEHICLES;i++)
{
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
Tank[i] = 100;
}
Beiträge von BOMBER
-
-
case pickup1:{SetPlayerPos(playerid,-1983.1892,137.7320,27.6875)};
-
Habe die Variable gefunden.
Siehe hier: for(new i= 0;i<MAX_VEHICLES;i++)
{
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
Tank[i] = 100;
} -
Weiterhin 100%.
Moment, könnte es hier dranne liegen?
//Benzin-System2//
public BenzinVerlust()
{
for(new i = 0;i<MAX_VEHICLES;i++)
{
if(Motor[i] == true)
{
//Tank[i] = Tank[i] -1;
Tank[i] --;
if(Tank[i] <1)
{
Tank[i] = 0;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
}
}
}
return 1;
} -
Benzin: 100% - Aktualiesiert sich auch nicht, die KMH Anzeige schon
-
// TextDrawShowForPlayer(playerid,Anzeige[playerid]); // Zeigt das TextDraw dem Spieler <- Auskommentiert, da ich es ja in der Box haben will.
if(GetVehicleModel(car) != 509 && GetVehicleModel(car) != 481 && GetVehicleModel(car) != 510)
{
new str[128];
if(Tank[car] <= 10) format(str,sizeof str,"~w~Tank: ~r~%i%",Tank[car]);
if(Tank[car] <= 50) format(str,sizeof str,"~w~Tank: ~o~%i%",Tank[car]);
if(Tank[car] <= 75) format(str,sizeof str,"~w~Tank: ~y~%i%",Tank[car]);
if(Tank[car] <= 100) format(str,sizeof str,"~w~Tank: ~g~%i%",Tank[car]);
TextDrawSetString(Anzeige[playerid],str);
} else
{
TextDrawSetString(Anzeige[playerid],"");}
-
Ja der Textdraw ist aber ein anderer, da ich nicht genau weiss wie es Funktioniert, ich zeige dir mal die Textdraws:
Anzeige[playerid] = TextDrawCreate(597.0,432.0," ");
TextDrawSetOutline(Anzeige[playerid], 1);
TextDrawAlignment(Anzeige[playerid], 3);
TextDrawSetShadow(Anzeige[playerid], 0);
TextDrawSetString(Anzeige[playerid],str); -
Okay, danke schon mal
-
Ich poste mal alles, was zum Tacho gehört momment.
TV geht grad nicht da ich am Skypen bin.
#define VERLUST 20000
#define BENZINPREIS 3new Tank[MAX_VEHICLES] = 100;
new bool:TanktGerade[MAX_VEHICLES] = false,tanktimer[MAX_PLAYERS];
forward BenzinVerlust();
forward Auftanken(playerid);
forward UpdateTacho();
#define TACHOTIMER 1000//BenzinSystem
SetTimer("BenzinVerlust",VERLUST,true);
//Tachosystem
for( new i = 0;i<MAX_PLAYERS;i++)
{
Tacho[i] = TextDrawCreate(539.0000,417.0000,"Rata");
TextDrawUseBox(Tacho[i],1);
TextDrawBoxColor(Tacho[i],0x000000FF);
TextDrawLetterSize(Tacho[i],0.2,1.1);
TextDrawFont(Tacho[i],1);
TextDrawSetShadow(Tacho[i],2);
TextDrawSetOutline(Tacho[i],1);
}
SetTimer("UpdateTacho",TACHOTIMER,1);if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new car = GetPlayerVehicleID(playerid);
if(GetVehicleModel(car) != 509 && GetVehicleModel(car) != 481 && GetVehicleModel(car) != 510)
{
new str[128];
if(Tank[car] <= 10) format(str,sizeof str,"~w~Tank: ~r~%i%",Tank[car]);
if(Tank[car] <= 50) format(str,sizeof str,"~w~Tank: ~o~%i%",Tank[car]);
if(Tank[car] <= 75) format(str,sizeof str,"~w~Tank: ~y~%i%",Tank[car]);
if(Tank[car] <= 100) format(str,sizeof str,"~w~Tank: ~g~%i%",Tank[car]);
TextDrawSetString(Anzeige[playerid],str);
} else
{
TextDrawSetString(Anzeige[playerid],"");}
}
return 1;
}//Benzin-System2//
public BenzinVerlust()
{
for(new i = 0;i<MAX_VEHICLES;i++)
{
if(Motor[i] == true)
{
//Tank[i] = Tank[i] -1;
Tank[i] --;
if(Tank[i] <1)
{
Tank[i] = 0;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
}
}
}
return 1;
}
public Auftanken(playerid)
{
new veh = GetPlayerVehicleID(playerid);
Tank[veh] = Tank[veh] + 1;
if(Tank[veh]>= 100)
{
TanktGerade[veh] = false;
Tank[veh] = 100;
SendClientMessage(playerid, GRÜN, "Auto aufgetankt!");
TogglePlayerControllable(playerid,1);
KillTimer(tanktimer[playerid]);
}
return 1;
}
//-Tachosystem-//
public UpdateTacho()
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i))
{
new Float:Strecke,Float:Geschwindigkeit;
GetVehiclePos(GetPlayerVehicleID(i),X1[i],Y1[i],Z1[i]);
Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[i],X2[i])),2)+floatpower(floatabs(floatsub(Y1[i],Y2[i])),2)+floatpower(floatabs(floatsub(Z1[i],Z2[i])),2));
Geschwindigkeit = (Strecke / (TACHOTIMER/1000)) * 2.8;
new String[256];
format(String,256,"Geschwindigkeit: ~g~%d km/h ~n~~w~Fahrzeugtyp: ~g~%s ~n~~w~Benzin:~g~ %i%",floatround(Geschwindigkeit), Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(i))-400],Tank[i]);
TextDrawSetString(Tacho[i], String);
GetVehiclePos(GetPlayerVehicleID(i),X2[i],Y2[i],Z2[i]);
TextDrawShowForPlayer(i,Tacho[i]);
} else {
TextDrawHideForPlayer(i,Tacho[i]);
}
}
return 1;
}So das wäre soweit alles, denke ich hoffe du kannst damit was anfangen.
-
So habe jetzt 100 als Startwert für den Integer angegeben, aber es passiert einfach nichts, verzweifel hier schon.
-
Ich poste mal alles, moment:
forward UpdateTacho();
#define TACHOTIMER 1000
SetTimer("UpdateTacho",TACHOTIMER,1);
new Tank[MAX_VEHICLES],bool:TanktGerade[MAX_VEHICLES] = false,tanktimer[MAX_PLAYERS];
#define VERLUST 20000
#define BENZINPREIS 3 -
Also Tank[i] ist ja definiert, aber es geht halt nur im Textdraw. ich teste jetzt mal deine Methode, ich editiere hier gleich - Danke!
//Edit - Nein, es zählt immer noch nicht runter.
-
Alle 20 Sekunden wird 1 Liter abgezogen.
-
//Benzin-System2//
public BenzinVerlust()
{
for(new i = 0;i<MAX_VEHICLES;i++)
{
if(Motor[i] == true)
{
Tank[i] = Tank[i] -1;
if(Tank[i] <1)
{
Tank[i] = 0;
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = false;
}
}
}
return 1;
}
public Auftanken(playerid)
{
new veh = GetPlayerVehicleID(playerid);
Tank[veh] = Tank[veh] + 1;
if(Tank[veh]>= 100)
{
TanktGerade[veh] = false;
Tank[veh] = 100;
SendClientMessage(playerid, GRÜN, "Auto aufgetankt!");
TogglePlayerControllable(playerid,1);
KillTimer(tanktimer[playerid]);
}
return 1;
}//-Tachosystem-//
public UpdateTacho()
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i))
{
new Float:Strecke,Float:Geschwindigkeit;
GetVehiclePos(GetPlayerVehicleID(i),X1[i],Y1[i],Z1[i]);
Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[i],X2[i])),2)+floatpower(floatabs(floatsub(Y1[i],Y2[i])),2)+floatpower(floatabs(floatsub(Z1[i],Z2[i])),2));
Geschwindigkeit = (Strecke / (TACHOTIMER/1000)) * 2.8;
new String[256];
format(String,256,"Geschwindigkeit: ~g~%d km/h ~n~~w~Fahrzeugtyp: ~g~%s ~n~~w~Benzin:~g~ %i%",floatround(Geschwindigkeit), Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(i))-400],Tank[i]); <--- Hier soll der Tank runterzählen, aus dem Public BENZINVERLUST!! ///////
TextDrawSetString(Tacho[i], String);
GetVehiclePos(GetPlayerVehicleID(i),X2[i],Y2[i],Z2[i]);
TextDrawShowForPlayer(i,Tacho[i]);
} else {
TextDrawHideForPlayer(i,Tacho[i]);
}
}
return 1;
}Die Zeile ist markiert, wo der Tank runter zählen soll, aus dem Public BenzinVerlust, Ich hänge dort jetzt schon ca. 2 Tage wäre nett wenn mir mal jemand dabei helfen könnte :s... Steht durchgehend auf 100%
-
Es ging ja vorher, aber seit ich die Abstände rein gemacht hab, liest er da nix mehr aus, vorher gings ja auch, habe es nur neu Sortiert, Name etc. wird ja auch ausgelesen!
-
format(string,sizeof(string),"[Name]: %s\t[Fraktion]: %s\n[Level]: %i\t\t[Morde]: %i\n[Adminlevel]: %i\t\t[SkinID]: %i\n[Zeit seit Payday]: %i Minuten\t[RespektPunkte]: %i/%i\n[Spielzeit]: %iMinuten\t[Führerschein]: %s\n[Kontostand]: %i$\t[Job]: %s",SpielerInfo[playerid][pName],GetFrakRangName(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][Morde],SpielerInfo[playerid][Adminlevel],SpielerInfo[playerid][SkinID],SpielerInfo[playerid][Paytime],
SpielerInfo[playerid][RespektPunkte],RespektInfo[playerid][NeedRespekt],FS,SpielerInfo[playerid][Konto],jobname);
Soweit geht alles, auch mit den Abständne, Farben etc. - Aber die Ausgaben sind alle Falsch. z.b. Spielzeit 74 Minuten (Habe laut MySQL DB 1024 Minuten) kann mir jemand helfen. -
Du sagtest Tab drücken, und ich dachte im Wiki steht Tab drücken, Tut mir leid dafür.
Kann geschlossen werden //Closed.
-
Danke, das sollte etwas übersichtlicher als das mit der Tabtaste sein, Ich danke dir.
-
Das mit \n wusste ich auch, gut werde das mit dem "kleinen Trick" gleich mal testen.
Danke! - Ich werde hier editieren wenns geklappt hat
-
Ja ich weiss, war auch wie gesagt mein erstes Mapping, da ich eigentlich nur Scripte, ich danke für euer Feedback.