Ach, ne das kann ich auch nicht, sorry, aber steht da unten nichts von "Version"?
Beiträge von Privat
-
-
Was für ein Fehler hast du denn?
-
Du meinst ein Tacho
Du erstellst TextDraws, setzt bei OnGameModeInit einen Timer, der alle 1000 Millisekunden abgerufen wird.
Dann erstellst du ein public (Callback) der so heißt wie der Timer, und dort fragst du ab ob der Spieler Fahrer des Fahrzeuges ist, ob der im Fahrzeug ist, ob der Online ist, und ob der kein NPC ist.Das mit der Geschwindigkeit kann ich auch nicht, da das bisschen zu schwer für mich ist
Aber das mit den Schaden, das musst du im "format" formatieren.new Float:health,vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid,health);
format(string,sizeof(string),"Schaden: %0.2f",health);
TextDrawSetString(tacho,string);Sollte so ungefähr sein, ansonsten schau dir Tutorials hier im Forum an.
-
Okay, bei weiteren Fragen darfst du mir gerne eine PN schreiben, oder Thread auf machen
-
Klappt das nun?
-
Zeig mal wie du das jetzt hast, und in welcher Zeile der Error liegt.
-
Dann musst du mir Variablen arbeiten.
Beispiel:
new motoran[MAX_PLAYERS];//GANZ OBEN
if(newkeys & .....)
{
if(motoran[playerid] == 0)
{
//MOTOR AN
motoran[playerid] = 1;
return 1;
}
if(motoran[playerid] == 1)
{
//MOTOR AUS
motoran[playerid] = 0;
return 1;
}
}Das andere darfst du ausfüllen
-
Ja, aber das kannst du nur zu Fuß benutzen, im Fahrzeug geht das nicht.
mach das so:
if(newkeys & KEY_WALK || KEY_FIRE)
{
//:..
}Ich bin mir nicht sicher, ob das klappt, probieren, aber ich glaube nicht, bin mir auch nicht sicher
-
Du musst das so machen, BEISPIEL:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SECONDARY_ATTACK)//TASTE ENTER
{
if(IsPlayerInRangeOfPoint(playerid,2.0,1555.3942,-1675.6497,16.1953))
{
SetPlayerInterior(playerid,4);
SendClientMessage(playerid,ROT," Du bist nun angekommen!");
}
}
return 1;
}In deinem Fall:
Mach es jetzt mit der Taste ENTER
if(newkeys & KEY_SECONDARY_ATTACK)
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid,...
SetVehicleParamsEx(vehicleid,...
SendClientMessage(playerid,ROT," Motor an!");
} -
Warum "playerid", mach aus SetVehicleParamsEx(vehicleid,.. und GetVehicleParamsEx(vehicleid,...
einfach:
GetVehicleParamsEx(i,...
//und
SetVehicleParamsEx(i,....
-
-
Aber das ist auch ein wenig "blöd".
Wenn du auf dem Server dann ein Auto hast, was an ist, und dort einsteigst, geht das automatisch aus.
Warum ging das mit der For Schleife nicht, bekommst du dann Errors / Warnings, oder wie?/e
for(new i = 0;i<MAX_VEHICLES;i++)
{
GetVehicleParamsEx(i ,engine,lights,doors,alarm,bonnet,boot,objective);
SetVehicleParamsEx(i ,VEHICLE_PARAMS_OFF,lights,doors,alarm,bonnet,boot,objective);
} -
Du musst auch bei OnGameModeInit eine for Schleife machen, und dort alle Fahrzeuge auf aus stellen.
for(new i = 0;i<MAX_VEHICLES;i++)
{
GetVehicleParamsEx(vehicleid,engine,lights,doors,alarm,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,doors,alarm,bonnet,boot,objective);
}Müsste dann gehen
-
OK, Danke Du auch
-
Habe meinen Post editiert, habe
new vehicleid = GetPlayerVehicleID(playerid);vergessen
Sorry
-
Mach das so:
if(strcmp("/Motor", cmdtext, true, 10) == 0)
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid,engine,lights,doors,alarm,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,doors,alarm,bonnet,boot,objective);
return 1;
}Ganz oben im Script:
new engine,lights,alarm,doors,bonnet,boot,objective;
-
Du kannst dein 3DTextLabel auf dem Kopf von dir selber nicht sehen.
-
Geladen werden sie, wenn ich sie über der Datenbank verändere.
SavePlayer(playerid)
{
if(sInfo[playerid][eingeloggt] == 0)return 1;
new query[128],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"UPDATE User SET level='%i',Geld='%i',skinid='%i',adminlevel='%i',fraktion='%i' WHERE username='%s'",GetPlayerScore(playerid),GetPlayerMoney(playerid),sInfo[playerid][ID],sInfo[playerid][skinid],sInfo[playerid][adminlevel],sInfo[playerid][fraktion],name);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
ResetPlayer(playerid)
{
sInfo[playerid][level] = 0;
sInfo[playerid][eingeloggt] = 0;
sInfo[playerid][ID] = 0;
sInfo[playerid][skinid] = 0;
sInfo[playerid][adminlevel] = 0;
sInfo[playerid][fraktion] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
ResetPlayer(playerid);
return 1;
} -
Scripte doch selber einen?
Bei Problemen kannst du sie einfach hier stellen -
Du hast das werbungtimer[playerid] doch irgendwo deklariert.
Zeig uns das mal