Fängt man nicht ganz einfach mit "{W down}" an?
Beiträge von tonyalva
-
-
Prozentrechnung: Gehalt - Gehalt * 0,15 für das übrige Gehalt, nachdem 15% als Steuern abgezogen wurden.
-
Schau dir mal GetPlayerWeaponData (http://wiki.sa-mp.com/wiki/GetPlayerWeaponData) an.
-
Schaue dir die Benutzung von sogenannten Timestamps an.
Dafür gibt es hier einige Tutorials, beispielsweise von zabus.Grüße
-
Vielen Dank!
Recht verständlich erklärt, erleichtert unnötiges Erstellen von weiteren Variablen.
Für jemanden, der sich nie mit dem Binär-System auseinander gesetzt hat, ist dies sehr nützlich.ZitatDafür brauchen wir nur "+" ( Plus ), "-" ( Minus ) und "&" ( Binäres und ).
Du könntest noch erklären, was genau hier das "binäre Und" bewirkt.Grüße
-
2. Da du wohl einen Integer auslesen möchtest, solltest du "dini_Int" probieren.
3. Spontan würde ich sagen, dass die erste Variante besser wäre.
Das kannst du mittels GetTickCount selbst herausfinden (http://wiki.sa-mp.com/wiki/GetTickCount).Grüße
-
Ich schätze mal, du überprüfst bereits mit einer Variable / einem Boolean, ob der Spieler in einem DM-Areal ist.
Andernfalls ergänzt du dies.Wenn du nun herausfinden möchtest, welche Spieler sich dort befinden, kannst du mit einer Schleife (http://wiki.sa-mp.com/wiki/Control_Structures#for_.28.29) und GetPlayerName (http://wiki.sa-mp.com/wiki/GetPlayerName) arbeiten.
Grüße
-
Eine unthreaded Query pro Spieler in einer Schleife würde deinen Server bei mehreren Spielern zum laggen bringen.
Viel besser könntest du den Namen direkt über MySQL abfragen und schauen, ob der Spieler online ist.
Oder die lässt die Nummer auslesen und an eine Variable übergeben, während der jeweilige Spieler sich einloggt.Wenn dein komplettes Script so geschrieben wurde, wird es von MySQL Querys gekillt.
Grüße
-
Einfach mal in der Tutorial-Sektion suchen: [ SCRIPTING ] Samp 0.3 Bots Erstellen [überarbeitet]
Grüße
-
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
//Weitere Aktionen
}Würde mir spontan einfallen.
Siehe: http://wiki.sa-mp.com/wiki/Control_Structures#continue
//E: MAX_PLAYERS sollte in dem Fall auch auf die maximale Slot-Anzahl angepasst werden.Grüße
-
new discIP[MAX_PLAYERS][16];
GetPlayerIP(playerid,discIP[playerid], sizeof(discIP));format(query, 128, "UPDATE `accounts` SET LastIP = '%s' WHERE name = '%s'",discIP[playerid],SpielerName(playerid));
Grüße
-
Good job.
Mich wundert es teilweise, dass die Server nicht laggen, obwohl einige für das Abfragen von mehreren Werten je eine Query starten. -
Ich schätze mal der Ersteller des Codes meint damit, dass die gesuchte Variable in dem Fall unter "outputstring" gespeichert wird.
Somit kannst du "outputstring" auch bei der "Format"-Funktion nutzen.new outputstring[24],string[64];
mysql_fetch_row(outputstring);
format(string,64,"Gebannt von: %s",outputstring); -
Du kannst Unix-Timestamps benutzen.
Ein Tutorial dafür hat Zabus mal erstellt: [ SCRIPTING ] Benutzung TimeStamp
Statt der Funktion "mktime" kannst du jedoch direkt "gettime()" benutzen (http://wiki.sa-mp.com/wiki/Gettime).Viele Grüße,
Alva -
Wird der Account davor auch schon erstellt?
Was steht in den MySQL-Logfiles?
Diese erreichst du durch die jeweiligen Funktionen des Plugin-Anbieters.Viele Grüße
-
format(string, sizeof(string), "%s\n%s: %s",string,admtext,PlayerName[i]);
-
Ich kann mich noch daran erinnern, dass wir mal eine gemappte "Welt" erkundet haben (Nevada [..]).
Cooler Typ, der seine Aufgaben hervorragend erfüllt. -
Hi,
sieht so aus, als müssten X, Y, Z und Int durch X-Y-Z Koordinaten und Interior-ID eines Innenraumes angegeben werden - also, an welche Position du gelangen sollst, wenn du das Business betrittst.
//Edit: Dann zeige deine Errors doch.
Viele Grüße,
Alva -
Hi,
if((splitip(playerid) == "77.177.*") && (GetPlayerName(playerid) != "Gohomes"))
Probiere, die Übereinstimmung der IP Range mit "77.177" mit Hilfe der Funktion "strcmp" zu überprüfen.
Schaue dir dann noch einmal die richtige Benutzung von GetPlayerName an.Viele Grüße,
Alva -
Hi,
dein SetPos-Stock kann so garnicht funktionieren.
Du möchtest nämlich die Koordinaten der neuen Position dazu addieren.
H_X, H_Y, H_Z müssen Floats sein, dann die Variablen bei einem Teleport direkt auf die neue Position setzen.if(GetPlayerPos(i,x,y,z) > Homer_Simpson[i][H_X], Homer_Simpson[i][H_Y], Homer_Simpson[i][H_Z])
Hierbei musst du GetPlayerPos zuerst benutzen, dies liefert 3 Variablen zurück, daher kannst du nicht abfragen, ob diese höher sind als X.
Viele Grüße,
Alva