Nadann mit 'SELECT COUNT(*)' und mysql_fetch_int.
Dann hast du die Anzahl der Reihen in der Tabelle.
Wenn die 0 sind, hast du nichts in der Tabelle, andernfalls schon
Nadann mit 'SELECT COUNT(*)' und mysql_fetch_int.
Dann hast du die Anzahl der Reihen in der Tabelle.
Wenn die 0 sind, hast du nichts in der Tabelle, andernfalls schon
Ich versteh nichtmal was du damit bezwecken möchtest...
Bitte
So ein Quatsch
An dem auch, aber das return in SendRadiusMessage wird Probleme machen
Wenn du alleine bist nicht, aber sobald mehr als Ein User auf dem Server ist.
Hinweis:
case 0: return teamRang = " ";
// ändern zu:
case 0: teamRang = " ";
Übrigens, du verwendest eine viel zu lange Zeichenkette.
Es reicht wenn du für den Rang eine mit 32 Zeichen erstellst,
und für den Output einen mit 128. Du kannst ja strings mehrmals
umformatieren.
Und ein String mit einer Länge von einem Zeichen ist deiner Ansicht nach kein String mehr?
Nein, ein Integer.
Ein string ist ja nichts anderes als ein Integer mit mehreren Arrays.
In jeden davon speicherst du die Zahl des Buchstabens rein.
PAWNO bzw. SAMP konvertiert das dann zu einer Zeichenkette.
//edit: Fehler gefunden:
Nur der erste User, der in der Nähe ist erhält die Nachricht,
weil dannach durch das 'return' der stock beendet wird.
In PAWN kannst du keine Strings mit == vergleichen, dafür musst du strcmp benutzen.
Falsch, denn er vergleicht nicht den String, sondern das erste Zeichen in der Zeichenkette.
Zeig uns bitte mal SendRadiusMessage.
Nimm statt SELECT NULL lieber SELECT COUNT(*).
new AutoID = rows++; // bedeutet:
// AutoID hat den Wert von rows,
// rows wird gleichzeitig um eins erhöht.
if(AutoID < 5)
// wenn mehr 4 Rows gefunden werden, macht der garnichts mehr.
new level=GetPlayerScore(playerid);
new price=1000+(1000*score);
new respect=4*level;
if(SpielerInfo[playerid][pRespekt]<4) return SCM(playerid,COLOR_LIGHTRED,"Du hast nicht genug Respektpunkte oder nicht genug Geld, um dir das nächste Level zu kaufen!");
if(SpielerInfo[playerid][pGeld]<price) return SCM(playerid,COLOR_LIGHTRED,"Du hast nicht genug Respektpunkte oder nicht genug Geld, um dir das nächste Level zu kaufen!");
SpielerInfo[playerid][pRespekt] -= respect;
SpielerInfo[playerid][pLevel] += 1;
SetPlayerScore(playerid,level+1);
SpielerInfo[playerid][pGeld] -= price;
SavePlayer(playerid);
new string[128];
format(string,sizeof(string),"Herzlichen Glückwunsch, du bist nun Level %i!",level+1);
Echo COLOR_LIGHTGREEN,string);
Das müsste dann für alle Level funktionieren
& bedeutet in diesem Fall, dass etwas in die Variable reingespeichert wird.
(ob die Erklärung jetzt richtig ist, weiß ich nicht, aber ich habe es so verstanden)
Ich gebe dir einen Tipp:
Lass den Spieler beim Einloggen den Account laden. (SELECT * FROM ..... WHERE name = '...')
Dann schaust du, ob eine Reihe erfolgreich gefunden wurde, wenn ja, ist der Spieler registriert,
und du kannst seine Daten in die Variablen laden, wenn nicht, ist der Spieler noch nicht registriert.
mysql_num_rows(); zählt die gefundenen Reihen.
Diese wird bei deiner aktuellen SELECT-Abfrage immer 1 sein.
Du musst die Zahl, die er returned mit mysql_fetch_int speichern.
Hallo Community,
habe einige Fragen, zu etwas, was ich beim Scripten noch nicht verstehe.
1. Wie wird eine 0x....-Farbe in einen Integer umgerechnet?
SAMP macht das ja Automatisch, wie mach ich das manuell?
(0xFF0000FF oder 0xFF etc.)
z.B. printf("Farbe: %i",0xFFFFFFFF); // Er gibt aus: "Farbe: -1"
2. Was bedeuten die Operatoren '>>', '<<' und '|'?
Beispiel:
stock RGBAToHex(r, g, b, a) //By Betamaster
{
return (r<<24 | g<<16 | b<<8 | a);
}
3. Was bedeutet der Operator '&'?
Irgendwas mit Bit war das, aber das habe ich noch nie verstanden.
Wäre gut, wenn mir das jemand verständlich erklärt
Beispiel:
if(newkeys & KEY_FIRE)
r = (colour >> 24) & 0xFF;
Freue mich auf Antworten
LG
Pille
new query[500] = "CREATE TABLE [IF NOT EXISTS] `"Tabelle_Spieler"`(";
Versuch das mal mit
new query[500];
format(query,500,"CREATE TABLE [IF NOT EXISTS] `%s`(",Tabelle_Spieler);
Hab ich gewonnen?
Vorsicht, io_write schreibt zwar das gewünschte in die Datei, löscht aber alles,
was zu vor in der Datei drinnengestanden ist! Verwende io_append um etwas
'hinzuzufügen' bzw. 'dazuzuschreiben'.
D0erf|er Danke für die ausführliche Erklärung. habs verstanden Danke dir.
Pff... Willst wohl nicht denken
Danke für die Info, habe alle 3 Installationspakete zu installieren probiert,
hat leider nichts geholfen. Der Einsprungspunkt wird immer noch nicht gefunden.