zum Createn funktioniert auch nicht?
Schreib das mal so:
//und Tank so deklarieren: new PlayerBar:Tank;
Tank = CreatePlayerProgressBar(playerid, 634.0, 394.0, 55.5, 3.2, 0x009C00FF);
mfg. ![]()
zum Createn funktioniert auch nicht?
Schreib das mal so:
//und Tank so deklarieren: new PlayerBar:Tank;
Tank = CreatePlayerProgressBar(playerid, 634.0, 394.0, 55.5, 3.2, 0x009C00FF);
mfg. ![]()
Als ich das hier im Source-Code gelesen habe:
Passwort: <input placeholder="Passwort" type="Password" name="Passwort">
Musste ich echt lachen ![]()
Es gibt sowas, das nennt sich table ![]()
<table /*width="25%" */> //width kann man evtl noch anpassen
<tr>
<td>Benutzername:</td><td><input placeholder="Benutzername" name="Username"></td>
</tr>
<tr>
<td>Passwort:</td><td><input placeholder="Passwort" type="Password" name="Passwort"></td>
</table>
Dann sieht das auch mal vernünftiger aus ![]()
Wäre wirklich dankbar für jede Hilfe
Mal Firewall ausschalten, evtl SA:MP als Admin starten? ![]()
LG
Schau mal in deiner server.cfg, du hast plguins geschrieben, anstatt plugins ![]()
und .so.exe...kommt dir da nicht was merkwürdig vor? ![]()
Es muss nur .so heißen, wenn du etwas bei solidfiles downloadest musst du schon auf den richtigen "button (Label)" klicken:
mfg. ![]()
aber, ja, alles mit .so hinten dran
...sind die Plugins auch im Ordner Plugins?!?
Poste doch mal die server.cfg (zensiere dein rcon pw) bzw zeig mal wie dein Ordner plugins aussieht..etc ![]()
[12:59:20] Server Plugins
[12:59:20] --------------
[12:59:20] Loaded 0 plugins.
Es werden ja auch 0 Plugins geladen ![]()
..hast du in der server.cfg auch die Plugins mit .so hingeschrieben? (z.B. plugins streamer.so mysql.so)
mfg. ![]()
Ich hab hier auch mal wieder paar Sachen ![]()
SWAP
Als erstes die gute alte SWAP Funktion ohne Variablen (ich weiß ist schon alt, habe ich hier aber noch nicht gesehen):
#define SWAP(%0,%1) (((%0)^=(%1)),((%1)^=(%0)),((%0)^=(%1)))
new a=5,b=10;
SWAP(a,b);
printf("a: %d | b: %d",a,b); //->Output: a: 10 | b: 5
TotalBits
Als nächstes eine sehr nützliche Funktion, wenn man die Anzahl an 1nser Bits in einer Zahl bestimmen will:
Beispiele:
1. 0xF = 15 = 0b1111 //Wir sehen hier 4x die 1
2. 0xA = 10 = 0b1010 //Hier sehen wir 2x die 1
Ich denke jedem ist klar, was ich meine um dies zu ermitteln, ohne Schleife, kann man Bit-Shifting verwenden:
#include <a_samp>
main() {
printf("%d",GetTotalBits(0xF)); //-> 4
printf("%d",GetTotalBits(10)); //-> 2
}
stock GetTotalBits(v) {
v -= ((v >> 1) & 0x55555555),v = (v & 0x33333333) + ((v >> 2) & 0x33333333);
return (((v + (v >> 4) & 0xF0F0F0F) * 0x1010101) >> 0x18);
}
Kleiner bzw Größer
Wenn man 2 Variablen hat, x = 13 und y = 14 und prüfen will welche kleiner bzw größer ist, kann man das so machen:
#define min(%0,%1) (((%0)<(%1))?(%0):(%1))
#define max(%0,%1) (((%0)>(%1))?(%0):(%1))
new x = 13, y = 14;
new r = min(x,y); //r = 13
new z = max(x,y); //z = 14
/*
Man könnte das auch durch Bit-Shifting lösen (da das der Titel ist :D):
new x = 13, y = 14;
new r = y ^ ((x ^ y) & -(x < y)); //Das gibt das minimum zurück (13)
new z = x ^ ((x ^ y) & -(x < y)); //Das gibt das maximum zurück (14)
Allerdings ist diese Variante wesentlich langsamer, als der ternary Operator :)
*/
Viel Spaß damit ![]()
mfg. ![]()
also muss man das so machen?
richtig ![]()
Wie frage ich die kleinste id die online ist ab, und wie die 2 kleinste id die online ist, usw.
Du speicherst die Werte in einem Array:
new tmp[MAX_PLAYERS],idx;
for(new i; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i)) tmp[idx] = i,idx++;
//und dann sortierst du das Array:
d_Sort(tmp, idx);
//und jetzt steht die kleinste ID in:
tmp[0]; //Kleinste ID
tmp[1]; //zweit kleinste ID ...usw
//Das unten ins Skript
stock d_Sort(x[], const anz) {
for (new i,tmp,j; i < anz; i++) {
for (j=0; j < anz - i - 1; j++) {
if (x[j] > x[j + 1]) tmp = x[j],x[j] = x[j + 1],x[j + 1] = tmp;
}
}
return 1;
}
mfg. ![]()
File or function is not found
Füg mal das Plugin mit ein: nativechecker
und poste dann mal, was in der Log Datei steht.
mfg. ![]()
Ja, ich glaube schon, könntest du mir eventuell einen Link geben ?
Das merkwürdige ist ja, dass er den Server bei SA:MP als Online sehen kan
Dann ist es entweder ein Versionen Problem, oder er nutzt einen unzulässigen Namen, oder er wird vom Skript aus direkt gebannt / gekickt ![]()
Mach doch einfach mal unter OnPlayerConnect einen print-Debug rein und schau was da so passiert ![]()
mfg. ![]()
Sorry wenn ich hier mal was schreibe...aber:
1. Das hier ist die falsche Sektion mein Lieber, lösche deinen Post umgehend sonst wirst du weiter verwarnt werden (Richtig wäre hier: http://forum.sa-mp.de/handelse…-sa-mp-mta-sa-marktplatz/) ![]()
2. Du suchst ein Skript...obwohl ihr sein Selfmade-Skript habt?!
([ SUCHE ] German Next Reallife [Selfmade] sucht Scripter)
Naja..viel Erfolg ![]()
Funktioniert leider nicht..
Nutzt du denn das neuste ocmd Plugin? :o
if(CallLocalFunction(ocmdStr,"ds",playerid,cmdtext[i+1])) return 1;
CallLocalFunction kann kein einzelnes NULL-Byte als String übermitteln.
Also schreibe es mal so:
if(CallLocalFunction(ocmdStr,"ds",playerid,((cmdtext[i+1] == '\0')?(" "):(cmdtext[i+1])))) return 1;
mfg. ![]()
Kann mir jemand helfen?
Du musst oben im Skript #include <streamer> schreiben ![]()
Habt ihr eine Idee?
Eigentlich sollte das so sein, öffne evtl mal die .txt Datei mit Notepad++? ![]()
Hier der Code.
Nein, poste den normalen server_log ![]()
Und was ich gemacht habe, solllte doch funktionieren ?
Nein, wenn du mit cache Funktionen arbeitest, musst du auch entweder mysql_function_query oder mysql_pquery oder mysql_tquery verwenden...aber nicht nur mysql_query!
Mit mysql_query und mysql_store_result kannst du nicht auf cache Funktionen zugreifen, sondern hast dann halt direkt ein result vorliegen.
Wie gesagt, schau dir doch einfach die Tutorials an, ist ja nicht soviel.
mfg. ![]()
Du solltest dich mal für ein Plugin entscheiden ![]()
Wenn du mit Threads arbeiten willst, schau dir lieber nochmal ein paar Tutorials an: http://forum.sa-mp.com/showthread.php?t=337810
mfg. ![]()