Bisheriger Code:
Uff, soooviele Fragen:
- Wieso 988 Sekunden? Und zeig mal generell wie du den Timer startest
- Wo startest du den Timer?
- Wieso wird das aktualisiert für alle, die nicht eingeloggt sind?
Bisheriger Code:
Uff, soooviele Fragen:
ocmd:givecarkey(playerid, params[])
{
new id = currentslot[playerid], string[128], pID;
if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_WHITE, "{247BA6}* Benutze: {00CC00}/givecarkey [SpielerID/Name]");
if(PrivateVehicle[playerid][id][modelid] >= 400 && PrivateVehicle[playerid][id][modelid] <= 611)
{
format(string, sizeof(string), "{33CCFF}* Du hast den Zweitschlüssel für deinen %s %s gegeben!", VehicleName[PrivateVehicle[playerid][id][modelid]-400], GetName(pID));
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "{33CCFF}* %s hat dir den Zweitschlüssel seines %s gegeben!", GetName(playerid), VehicleName[PrivateVehicle[playerid][id][modelid]-400]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), GetName(pID));
strmid(PrivateVehicle[playerid][id][vehCarkey], string, 0, strlen(string), 255);
SavePlayerVehicle(playerid);
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "{AA3333}Du hast auf diesen Schlüssel kein Fahrzeug!");
}
return 1;
}
Alles anzeigen
Moin Kurze frage möchte weitergeben das der Name gespeichert wird in der Datenbank aber wird leider nichts eingetragen die Spalte bleibt leer,
Wieso 988 Sekunden? Und zeig mal generell wie du den Timer startest
Wo startest du den Timer?
Wieso wird das aktualisiert für alle, die nicht eingeloggt sind?
1. Hab ich mir damals angewohnt 988 Millisekunden anstatt 1000 zu Schreiben.
Starte den Timer beim OnGameModeInit.
Naja, jeder der nicht Eingeloggt, ist dann beim Anmeldebildschirm, dachte halt das es besser für den Server sei, ein Timer zu nutzen, als für 70 Spieler einen eigenen Timer zu nehmen.
TIMER_PlayerSecond = SetTimer("PlayerSecondTimer", 988, true);
function:PlayerSecondTimer()
{
//gettime(strHour, strMinute, strSecond);
new strMsg[128];
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i))continue;
if(!PlayerInfo[i][pLoggedIn])
{
GetPlayerTime(i, strHour, strMinute);
format(strMsg, sizeof(strMsg), "GPT: %d", strHour);
strHour ++;
SetPlayerTime(i, strHour, 59);
format(strMsg, sizeof(strMsg), "%s - SPT: %d", strMsg, strHour);
SendInfoMessage(i, strMsg);
}
else
{
//SetWorldTime(strHour);
}
}
return 1;
}
Alles anzeigen
Hab es auch so Versucht, leider der gleiche Effekt, der Zählt mir halt die Stunden nicht höher, obwohl er es ja eigentlich sollte.
LG, DomeTastisch.
Moin Kurze frage möchte weitergeben das der Name gespeichert wird in der Datenbank aber wird leider nichts eingetragen die Spalte bleibt leer,
Ist vielleicht eine dumme Frage, aber wo genau ist denn beim Befehl eine Abfrage, das es abgespeichert wird?
Hallo, gibt es eine möglichkeit ein Object was an einem Fahrzeug Attacht ist zu Moven?
Hallo, gibt es eine möglichkeit ein Object was an einem Fahrzeug Attacht ist zu Moven?
Nein
Du kannst aber auch einfach das Objekt immer wieder neu Attachen
Moin Zusammen,
Ich bin aktuell an einem MySQL Script dran. Leider habe ich aktuell einige Probleme mit dem Aufrufen von Floats. Beim debuggen in Form von print's konnte ich bereits ermitteln, das die Werte aus der DB geladen werden. So sieht der Code aus:
public LoadMTAMAP(mapid)
{
new MySQLQuery[128], Cache:result = mysql_query(Database, MySQLQuery);
format(MySQLQuery, sizeof(MySQLQuery),"select * from `mta_config` where `MAP_ID` = '%d'", mapid);
cache_get_value_int(0, "map_id", MAP);
cache_get_value_name_float(0, "PosX3", PosX);
cache_get_value_name_float(0, "PosY3", PosY);
cache_get_value_name_float(0, "PosZ3", PosZ);
cache_get_value_name_float(0, "PosA3", PosA);
cache_get_value_int(0, "VehID", VehID);
printf("POsX: %f PosY: %f PosZ: %f PosA: %f", PosX, PosY, PosZ, PosA);
cache_delete(result);
return 1;
}
Alles anzeigen
Die Spalte in der Tabelle steht ebenfalld auf Float, die Ausgabe ich auch korrekt. Allerdings lande ich immer auf 00.00.... Hat jemand eine Idee?
//Edit: Nach dem ich jetzt alles mögliche getestet habe, werden mir die richtigen Daten nicht mehr ausgegeben...
Du musst mysql_query nach dem format aufrufen, sonst ist der String "MySQL Query" zum Zeitpunkt von mysql_query leer.
Außerdem solltest du mysql_tquery nutzen.
Du musst mysql_query nach dem format aufrufen, sonst ist der String "MySQL Query" zum Zeitpunkt von mysql_query leer.
Außerdem solltest du mysql_tquery nutzen.
Oh man... Danke... Manchmal sieht man den Wald vor lauter Bäumen nicht.
das ist jetzt nen algemeine frage.wen ich beispielein job system erstelle (busjob) ist dan so das anderen jobs die ich erstelle die gleichen sachen(code)hate aber nur anderen namen wie farmer,müllman.
das ist dan auch bei fraktionen auch.
oder nicht?
wird nur die 1 fraktion geladen und läd nichts weiter.
...ja...da müsste ja auch sowas wie ein Array hin?
Kannst ja nicht mehrere Fraktionen in einer Variable speichern...wie sieht denn der Code sonst so aus?!
oder nicht?
Nichts für ungut, aber magst du es noch einmal in Deutsch probieren?
...ja...da müsste ja auch sowas wie ein Array hin?
Kannst ja nicht mehrere Fraktionen in einer Variable speichern...wie sieht denn der Code sonst so aus?!
Nichts für ungut, aber magst du es noch einmal in Deutsch probieren?
public LoadFraktion()
{
new rows, count;
cache_get_row_count(rows);
for(new i=0;i<rows;i++)
{
if(rows)
{
cache_get_value_name_int(i, "frakID", Frak[i][frakIDx]);
printf("%d - ID 2", Frak[i][frakIDx]);
cache_get_value_name_int(i, "frakKasse", Frak[i][frakKasse]);
cache_get_value_name_int(i, "frakKasseOn", Frak[i][frakKasseOn]);
cache_get_value_name_int(i, "frakEisen", Frak[i][frakEisen]);
cache_get_value_name_int(i, "frakMaxEisen", Frak[i][frakMaxEisen]);
cache_get_value_name_int(i, "frakType", Frak[i][frakType]);
cache_get_value_name(i, "frakName", Frak[i][frakName], 64);
cache_get_value_name_int(i, "frakOpened", Frak[i][frakOpened]);
cache_get_value_name_float(i, "spawnX", Frak[i][spawnX]);
cache_get_value_name_float(i, "spawnY", Frak[i][spawnY]);
cache_get_value_name_float(i, "spawnZ", Frak[i][spawnZ]);
cache_get_value_name_float(i, "spawnA", Frak[i][spawnA]);
cache_get_value_name_int(i, "spawnInterior", Frak[i][spawnInterior]);
cache_get_value_name_int(i, "spawnVirtualWorld", Frak[i][spawnVirtualWorld]);
if(Frak[i][frakIDx] == 2)
{
new string[128];
format(string, sizeof(string), "{6E7271}Verbrecher mit /arrest einsperren.\n\n{7EF201}Waffenkammer (LSPD)\n%d/%d\nMaterialien", Frak[i][frakEisen], Frak[i][frakMaxEisen]);
UpdateDynamic3DTextLabelText(Polizei[0], COLOR_WHITE, string);
}
if(Frak[i][frakIDx] == 3)
{
new string[128];
format(string, sizeof(string), "{6E7271}Verbrecher mit /arrest einsperren.\n\n{7EF201}Waffenkammer (FBI)\n%d/%d\nMaterialien", Frak[i][frakEisen], Frak[i][frakMaxEisen]);
UpdateDynamic3DTextLabelText(Polizei[1], COLOR_WHITE, string);
}
if(Frak[i][frakIDx] == 4)
{
new string[128];
format(string, sizeof(string), "{6E7271}Verbrecher mit /arrest einsperren.\n\n{7EF201}Waffenkammer (LVPD)\n%d/%d\nMaterialien", Frak[i][frakEisen], Frak[i][frakMaxEisen]);
UpdateDynamic3DTextLabelText(Polizei[2], COLOR_WHITE, string);
}
count++;
}
}
printf("[LOAD] Es wurden %d/%d Fraktionen geladen.", count, MAX_FRACS);
return 1;
}
Alles anzeigen
Habe das ganze so gelöst.
//E:
mysql_format(MySqlConnection, query, sizeof(query), "INSERT INTO `server_accounts` (Name, NewPasswort) VALUES ('%s', '%e')", GetName(playerid), wHash);
mysql_tquery(MySqlConnection, query);
ist das korrekt mit tquery oder pquery
ist das korrekt mit tquery oder pquery
Das spielt hier keine Rolle.
Sind solche Arrays nicht möglich
Wenn es dadurch 4 Dimensional wird, mit dem normalen Compiler nicht, nein.
Welchen Compiler schlägst du mir vor?
Welchen Compiler schlägst du mir vor?
Ich schlage dir eine andere Methode vor...
Ich sagte lediglich, dass es einen Compiler gibt, mit dem das möglich wäre: https://github.com/pawn-lang/compiler/releases
Moin kurze frage,
Wir besitzen ein V-Server Debian 10
muss in der Datenbank Standart auf "Ja" "NULL" setzen und windows nicht? kann man das ganze iwie ändern das man das nicht muss oder bleibt das standart bei der R41-4 MySQL Version?