Nein, das ist eine andere Funktion.
Du musst
SetProgressBarMaxValue
nutzen, und zwar dort wo die Progress Bar erstellt wird.
Beiträge von Jeffry
-
-
Das wird dann wohl, dem Name nach, mit der Funktion SetProgressBarMaxValue möglich sein, dort wo du die Progress Bar erstellst.
-
Das weiß ich nicht, da ich keines der beiden Systeme kenne.
Aber wenn du nur die Anzeige ändern willst, dann kannst du
format(string, sizeof string, "%d/%d", pData[playerid][P_Exp],pData[playerid][P_MExp]);
Zu
format(string, sizeof string, "%d/%d", pData[playerid][P_Exp]*10,pData[playerid][P_MExp]*10);
ändern. -
if(strcmp("/zgaus", cmdtext , true, 10) == 0)
{
new vehicle_id;
vehicle_id = GetPlayerVehicleID(playerid);
if(!vehicle_id) return SendClientMessage(playerid, 0xFF0000FF, "Error: Dieser Befehl geht nur in einem Fahrzeug.");
if(vehicle3Dtext[vehicle_id] == Text3D:-1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Dieses Fahrzeug hat kein Label.");
Delete3DTextLabel(vehicle3Dtext[vehicle_id]);
vehicle3Dtext[vehicle_id] = Text3D:-1;
return 1;
} -
[wiki]SetObjectMaterialText[/wiki]
Schaue dir dort bitte die Parameter an, bei font steht die Schriftart.Im Beispiel oben ist es das BankGothic Md BT.
-
Siehe
http://praxistipps.chip.de/sch…eren-unter-windows-7_1407Um es zu testen kannst du ja auch einfach Arial als Schriftart nutzen, und Hallo Welt als Text.
-
Ja, dann hat das Fahrzeug den Text ab dem Zeitpunkt des Server-Starts drauf.
Die Schriftart muss auf dem Computer des Users installiert sein, damit es richtig angezeigt werden kann. -
Hier hast du ein Beispiel dabei:
http://forum.sa-mp.com/showthread.php?t=420912
(Post #5) -
Ja, das geht.
Du musst das Objekt erstellen und dann mit AttachObjectToVehicle an das Fahrzeug attachen.
Dann kannst du es mit SetObjectMaterialText editieren.http://forum.sa-mp.com/showthread.php?t=361737
http://forum.sa-mp.com/showthread.php?t=267742
http://forum.sa-mp.com/showthread.php?t=282883 -
Unter den Includes:
new Text3D:vehicle3Dtext[MAX_VEHICLES] = {Text3D:-1,...};Der Befehl:
if(strcmp("/zg", cmdtext , true, 10) == 0)
{
new vehicle_id;
vehicle_id = GetPlayerVehicleID(playerid);
if(!vehicle_id) return SendClientMessage(playerid, 0xFF0000FF, "Error: Dieser Befehl geht nur in einem Fahrzeug.");
if(vehicle3Dtext[vehicle_id] != Text3D:-1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Dieses Fahrzeug hat bereits ein Label.");
vehicle3Dtext[vehicle_id] = Create3DTextLabel("Example Text", 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext[vehicle_id], vehicle_id, 0.0, 0.0, 2.0);
return 1;
} -
Poste bitte mal noch den Code dazu, mit dem du die Werte ausgibst.
-
Da muss das hin was du auch sonst bei den MySQL Angaben stehen hast, das was mysql_connect zurück gibt.
-
Wie soll dieser "Killcounter" aussehen, und wann soll er was machen?
-
Poste bitte mal was dein MySQL Log dir ausgibt, wenn du dich einloggen willst.
Gehe bitte so vor:
Leere die User-Tabelle -> Registriere dich neu -> Lösche den MySQL Log -> Logge dich ein -> Poste den Log. -
1.)
Versuche es dann mal so:
public OnPlayerCarUpdate_SQL(playerid)
{
if(IsPlayerConnected(playerid))
{
for(new x = 0; x < MaxVeh; x++)
{
if(Dtc_PlayerHaveCar[playerid][x])
{
print("OnPlayerCarUpdate_SQL 1");
DestroyObject(Neonrohr[playerid][Neon]);
DestroyObject(Neonrohr[playerid][Neon1]);
DestroyVehicle(PlayerCar[playerid][x][CarId]);
print("OnPlayerCarUpdate_SQL 2");
Dtc_Carlock[PlayerCar[playerid][x][CarId]] = 0;
Dtc_LockCar(PlayerCar[playerid][x][CarId]);
print("OnPlayerCarUpdate_SQL 3");
new query[256];
GetPlayerName(playerid, query, MAX_PLAYER_NAME);
mysql_format(handle, query, sizeof(query), "SELECT * FROM Privatcar WHERE `CarOwner` = '%s_%d'", query,x);
mysql_pquery(handle, query, "SaveMysqlCars", "sii", query,x,playerid);
print("OnPlayerCarUpdate_SQL 3");
}
}
}
return 1;
}
Sinnvoll wäre es hier aber auch, die Schleife zu entfernen und "x" als Parameter mitzugeben, damit du nicht alle Fahrzeuge neu erstellen musst (ändert sich ja nur das eine).2.)
Erledigt?3.)
Ist das damit dann auch erledigt? -
Weil man es dynamisch im Spiel ändern kann durch einen Befehl.
Dann kannst du die Variable ja auch mit dem Befehl ändern.
Laden kannst du es so:
mysql_pquery(dbhandle, "SELECT taxvalue FROM tabelle WHERE ...", "OnTaxLoad", ""); //anpassenUnd dann:
forward OnTaxLoad();
public OnTaxLoad()
{
taxvalue = cache_get_row_int(0, 0);
return 1;
} -
Warum willst du das überhaupt jedes mal aus der Datenbank lesen?
Lese es doch einmalig bei OnGameModeInt aus der Datenbank in eine globale Variable, und nutze bei der Berechnung dann diese Variable. Das macht mehr Sinn. -
@fishy
Eine Tabelle löscht man mit "DROP TABLE".
http://dev.mysql.com/doc/refman/5.7/en/drop-table.html
_____________________Zu den Problemen:
1.)
Wie sieht dein /park Befehl aktuell aus? Poste den bitte.
Warum wird das Fahrzeug beim parken eigentlich neu erstellt? Ist das Absicht, wenn ja, was ist der Grund dafür?2.)
Die Variable für das Query im /carsell Befehl ist zu kurz.
new string3[32];
zu:
new string3[128];3.)
Was hat es mit der CarId auf sich?
Ändere gegebenenfalls
mysql_format(handle, str, sizeof(str), "INSERT INTO `Privatcar` (`CarOwner`,`CarModel`,`CarPos_X`,`CarPos_Y`,`CarPos_Z`,`CarPos_A`,`Preis`,`Plate`) VALUES ('%s_%d','%d','%f','%f','%f','%f','%d','N/A');",
name, x,Model, PlayerCar[playerid][x][CarPos_x], PlayerCar[playerid][x][CarPos_y], PlayerCar[playerid][x][CarPos_z],PlayerCar[playerid][x][CarRotate],Preis);
zu:
mysql_format(handle, str, sizeof(str), "INSERT INTO `Privatcar` (`CarOwner`,`CarId`,`CarModel`,`CarPos_X`,`CarPos_Y`,`CarPos_Z`,`CarPos_A`,`Preis`,`Plate`) VALUES ('%s_%d','%d','%d','%f','%f','%f','%f','%d','N/A');",
name, x, x, Model, PlayerCar[playerid][x][CarPos_x], PlayerCar[playerid][x][CarPos_y], PlayerCar[playerid][x][CarPos_z],PlayerCar[playerid][x][CarRotate],Preis);
Ich habe jetzt einfach mal angenommen, dass die CarId dem Key entspricht, also hier dem x.
Falls das nicht passt, ändere das. -
Ändere OnPlayerDisconnect zu:
public OnPlayerDisconnect(playerid, reason)
{
for(new i=0; i<sizeof(aInfo); i++)
{
if(aInfo[i][id_x]==0)continue;
if(aInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
GetVehiclePos(aInfo[i][id_x],aInfo[i][c_x],aInfo[i][c_y],aInfo[i][c_z]);
GetVehicleZAngle(aInfo[i][id_x],aInfo[i][c_r]);
new query[256];
/*
Hier das format für das Query um die Fahrzeug-Tabelle zu ändern!
*/
mysql_function_query(dbhandle,query,false,"","");
DestroyVehicle(aInfo[i][id_x]);
aInfo[i][id_x]=0;
break;
}
savePlayer(playerid);
resetPlayer(playerid);
loadPlayerCars(playerid);
return 1;
}Den Login Dialog zu:
if(dialogid==DIALOG_LOGIN)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[256],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>0)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND passwort=MD5('%s')",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
}
else
{
//Keine Eingabe
SendClientMessage(playerid,grün,"Gibt bitte dein Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
}
}
else
{
Kick(playerid);
}
return 1;
}Dann sollte das mit dem Login klappen.
-
MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, -90.00000, 0.00000, -180.00000);
Zu
MoveDynamicObject(gate[0], -3195.77759, 1581.92351, 6.43850, 0.01, -90.00000, 0.00000, -180.00000);
Ich habe die Position minimal verändert, und die Geschwindigkeit extrem klein gemacht.Beim anderen MoveDynamicObject musst du nur noch die Geschwindigkeit auf 0.01 setzen (oder einen anderen Wert, falls es zu langsam oder zu schnell ist).