Beiträge von Jeffry
-
-
Kommt drauf an in welchem Zusammenhang, da gibt es mehrere Möglichkeiten.
Kannst du bitte erklären, wofür genau du die letzte ID wissen willst, und wann? -
Wenn ich in der Datenbank für eine Float auch float als typ nehme, gibt es Probleme da die Tabelle "," und nicht "." als Trennung der Float nimmt.
Das wäre mir neu, dieses Problem hatte ich noch nie.
strings werden irgendwie überhaupt nicht gelesen und konvertiert....
Nutze es so:
cache_get_field_content(h,"Besitzer",hInfo[h][hOwner],handle, MAX_PLAYER_NAME);Wenn ich %e in der Speicherung verwende werden immer nur die ersten 3 Zeichen in die Datenbank gespeichert. (Dabei ist die Datenbankgröße richtig eingestellt!
Ist der String in dem das Query steht groß genug?
Nur hat es normal geklappt und jetzt speichert er nicht einmal wenn ich so disconnect'e.
Wann kommt den die Warnung? Wenn du den Befehl eingibst, oder wenn der Server beendet wird?
Ändere außerdem:
banned = 'd'
zu:
banned = '%d' -
Ja, das ist an die falsche Stelle gerutscht.
Habe es ausgebessert, sorry. -
if(age > 18 && age < 30)
zu:
if(age >= 18 && age <= 30)
Das wäre dann für 18 - 30.Und eins habe ich beim stock nicht verstanden, was ist das für ein stock bzw für was ist das?
Das ist für die Angabe der Tage pro Monat, damit diese nicht jedes mal lokal deklariert werden, wenn GetPlayerAge ausgeführt wird.
-
SA:MP MySQL Plugin v2.1.1
Versuche es so:
ocmd:spielerinfo(playerid,params[])
{
new str[145], name[MAX_PLAYER_NAME], lastjoin[11], gebannt;
if(sscanf(params, "s", name)) return SendClientMessage(playerid,ROT,"{FFD200}Benutze:{FEFEFE}/spielerinfo [Name]");
mysql_real_escape_string(name,name);
format(str, sizeof(str),"SELECT LastJoin, Gebannt FROM `accounts` WHERE `Name`='%s'",name);
mysql_query(str);
mysql_store_result();
if(mysql_num_rows() == 0)
{
mysql_free_result();
return SendClientMessage(playerid,ROT,"Spieler existiert nicht.");
}
mysql_fetch_field("LastJoin",lastjoin);
mysql_fetch_field("Gebannt",str);
gebannt = strval(str);
mysql_free_result();
format(str, sizeof(str), "Der Spieler %s war zuletzt am Spieler: %s",name,lastjoin);
SendClientMessage(playerid, 0xFFFFFFFF, str);
if(gebannt != 0) SendClientMessage(playerid, 0xFFFFFFFF,"Der Spieler ist gebannt.");
else SendClientMessage(playerid, 0xFFFFFFFF,"Der Spieler ist nicht gebannt.");
return 1;
} -
Mir wäre nichts bekannt.
Wenn du das zwei drei mal gemacht hast, dann wirst du sehen dass es gar nicht so schwer ist. Gehe einfach denden Text den ich dir geschrieben habe Punkt für Punkt durch. -
Du musst die Größe das anklickbaren Bereiches mit TextDrawTextSize anpassen. https://wiki.sa-mp.com/wiki/TextDrawTextSize Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.
Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist TextDrawTextSize-X = 120 + 64 = 184.
Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre TextDrawTextSize-Y = 24. -
Das Datum wird nur mit 0:: angezeigt und wenn ein spieler gebannt ist sagt es das er nicht gebannt sei.
Welche MySQL Version nutzt du denn?
kurze Frage, bekomme hier einen Warning...
Hast du irgendwo "hitid" global (nicht in einer Funktion) deklariert? Zum Beispiel in einem enum.
-
Du versuchst hier mit cache_get_field_content_int auf eine Spalte zuzugreifen, welche keine INT(eger) Spalte ist (also z.B. VARCHAR).
Einen Trick kenne ich nicht, du müsstest halt auf die Zeit achten und schauen was genau zu der Zeit ausgeführt wird. Kann ja auch nur ein solches public sein. -
for(new i = 0; i < MAX_TEST_DATA; i++)
zu:
for(new i = 0; i < num_rows; i++) -
Es muss doch ein public sein was aus der Datenbank Inhalte läd?
Ja.
Kann ich es mit printf ausschreiben lassen, denn ich habe mehrere publics die Daten laden...
Eventuell kannst du es damit über den Zeitstempel herausfinden, ja.
-
Das würde ich dir nicht empfehlen, es als String zu speichern, dann kannst du nämlich nicht mehr abfragen, ob die Zeit vorbei ist.
Speichere lieber den Timestamp und dort wo du dir das End-Datum anzeigen lassen willst, nutze das hier:
http://forum.sa-mp.com/showthread.php?t=347605 -
Scheint als greifst du auf einen Cache Index zu, der nicht existiert.
Poste am besten mal den dazugehörigen Code. -
wiki.sa-mp.com/wiki/AttachPlayerObjectToPlayer
ZitatWarning: This function was removed in SA-MP 0.3.
Es gibt ja mittlerweile SetPlayerAttachedObject, allerdings haben die damit attacheten Objekte keine Hitbox, das sind dann nur die Texturen. -
Möglicherweise wird bei OnPlayerSpawn dem Spieler eine andere Position gesetzt (SetPlayerPos).
-
new id = GetClosestATM(playerid, 20.0);
if(id != -1) //Nahe ATM id
else //Nicht in der Nähe -
Also bei ende von schritt 5 bekomme ich einen Fehler vom server seitig aus
Möglicherweise fehlen dir die .NET Frameworks oder C++ Runtimes.
Installiere dir diese All-In-One-Package, die sollte alles notwendige beinhalten und versuche es dann erneut: All in One Runtimes - Download - CHIP -
pInfo[pID][pJail]=jminuten*1000*60;
zu:
pInfo[pID][pJail]=jminuten*60;Und
printf("Noch %i Sekunden.",pInfo[i][pJail]/1000);
zu:
printf("Noch %i Sekunden.",pInfo[i][pJail]); -
Dazu kannst du folgende Funktion nutzen:
stock GetClosestATM(playerid, Float:dist = 10000.0)
{
new Float:tmp, Float:x, Float:y, Float:z, id = -1;
for(new i = 0; i < sizeof(ATMInfo); i++)
{
if(ATMInfo[i][set])
{
tmp = GetPlayerDistanceFromPoint(playerid, ATMInfo[i][aX], ATMInfo[i][aY], ATMInfo[i][aZ]);
if(tmp <= dist)
{
dist = tmp;
id = i;
}
}
}
return id;
}