Und wegen split, split teilt den string an den stellen wie z.B. hier ein '.' ist..
also aus
127.0.0.1 wird
127(IP2[0]) 0(IP2[1]) 0(IP2[2]) 1(IP2[3])
Versteh sowieso nicht soviel von MySQL, also kA wie man die verwendet
Und wegen split, split teilt den string an den stellen wie z.B. hier ein '.' ist..
also aus
127.0.0.1 wird
127(IP2[0]) 0(IP2[1]) 0(IP2[2]) 1(IP2[3])
Versteh sowieso nicht soviel von MySQL, also kA wie man die verwendet
Alles anzeigennew ip[16], query[128], name[MAX_PLAYER_NAME];
GetPlayerIp(playerid, ip, sizeof(ip));
GetPlayerName(playerid, name, sizeof(name));
format(query, sizeof query, "SELECT `IP-Addresse` FROM `logs` WHERE `IP-Addresse` = '%s'", ip);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
mysql_free_result();
if(rows > 0) //wenn die IP gefunden wurde
{
//IP bereits vorhanden!
}
else if(rows == 0)
{
//IP nicht vorhanden!
format(query, sizeof(query), "INSERT INTO `logs` (`Name`,`IP-Addresse`) VALUES ('%s',('%s'))", name, ip);
mysql_query(query);
}
Ah ok. - Soweit hätte ich auch selbst denken können^^ danke xDDDDDD
Alles anzeigen
new logip[16], playerip[16], query[128];
GetPlayerIp(playerid, playerip, sizeof playerip);
format(logip, sizeof logip, "%s", mysql_GetString("logs", "IP-Addresse", "IP-Addresse", playerip);
new logip2[4][5], playerip2[4][5];
split(logip, logip2, '.'); split(playerip, playerip2, '.');
if(!strcmp(logip2[0], playerip[0], false))
{
print("der erste block der beiden sind gleich!");
}
müsste denk ich klappen, ist spät :O
Versteh ich nicht, was hier nun was bewirkt, aber naja. - Lass ich es erst mal ohne Split o_O
Aber andere Frage, wie kann ich verhindern wenn die IP gefunden wurde, dass es denn nochmals eine neue Datei in den logs anlegt?
split(IP, IP2, '.');
Alles anzeigenGib die IP aus und Splite sie mit der
split() funktion:
stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
BSP:
new IP[16], IP2[4][5];
split(IP, IP2, '.');
und vergleich sie dann
Also, gibst die IP in den Logs aus Splitest sie
dann Splitest du die IP vom Spieler.. und vergleichst halt alles
hoffe du verstehst mich :'D
Ne, verstehe dich nicht so richtig, was soll ich nun splitten / vergleichen? :s
Ist die Ip auch in den Logs ?
Habe editiert, funktioniert doch, wie lasse ich jetzt die Bezirksziffern abgleichen?
Alles anzeigen
format(query, sizeof query, "SELECT `IP-Addresse` FROM `logs` WHERE `IP-Addresse` = '%s'", ip);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
mysql_free_result();
if(rows > 0) //wenn die IP gefunden wurde
{
Kick(playerid);
}
Das funktioniert aber leider nicht?
Kann mir immer noch einen 2. Account mit 127.0.0.1 erstellen...
//Edit: Sorry, verlesen. - Funktioniert doch danke.
Filterscripts? über 1000 Objekte?
Natürlich, hat auch soviel mit unseren Beiträgen zu tun, das wirds sein Mädels! (Y)
//Edit so bin raus aus dem Thema. - BB
Nein. Die jungs hier sibd lächerlich. Nicht du.
Ohhh ein Mädchen... Geil..
Hab noch nie eins gesehen.
True Story
Natürlich darf man sich unterhalten, nur wie Rocky schon sagte
Was soll des den jetzt heißen ?! Ich bin Lächerlich ? Bin noch recht neu hier, auch mir passieren Fehler. Sorry
Nein, das soll heissen - Das Drama was drum herum gemacht wird, von den Leuten hier ist lächerlich, als ob sie noch nien Mädel gesehen hätten... So bin raus hier
Wir sind doch hier im OffTopic?
Ob wir jetzt hier SmallTalk halten oder drüben im Thread?
Die sollen sich nicht so anstellen
Ist trotzdem bisschen lächerlich, nur weil nen Mädchen im Forum ist, muss man hier nicht alles zuspammen
Lesen bildet, oben stehts doch. O_ö
//Edit: Hast du das mit dem Enum getestet?
Man man man. Ist ja schrecklich. Ihr kreist hier rum wie die geier. Ist das hier jetzt ne singrlbörse?
Nix gegen dich Xenia. Aber ich finde sowas einfach lächerlich. Wenn ein admin morgen hier rein schaut...
Hab ich mir auch grad gedacht xDDD^^
Willkommen im Forum.
Guten Abend, liebe Breadfish Freunde und Kollegen, ich hab eine kleine Frage, wie kann ich die IP nun mit der gespeicherten hier vergleichen? (Siehe Quelltext)
new ip[16], query[128], name[MAX_PLAYER_NAME];
GetPlayerIp(playerid, ip, sizeof(ip));
GetPlayerName(playerid, name, sizeof(name));
format(query, sizeof(query), "INSERT INTO `logs` (`Name`,`IP-Addresse`) VALUES ('%s',('%s'))", name, ip);
mysql_query(query);
Die IP möchte ich nun beim Connect wieder vergleichen, und wenn es die gleiche ist ggf. bannen bzw. kicken - Kleiner Denkanstoss evtl?
Jo, denn setz das mal auf 1 denn klappts auch
pInfo[killerid][pBanned] = 1; ggf. ABÄNDERN <-
Kick(killerid);
Hast du ein Enum? evtl. pInfo[killerid][pBanned] = 1; ?
if(GetPlayerScore(killerid)==1)
{
SendClientMessage(killerid,COLOR_YELLOW," Du wurdest gebannt, Grund: Deathmatch als Level 1er.");
Kick(killerid); //Connection schliessen <- Beim neuen Connecten sollte er dann gebannt sein.^^
Ban(killerid);
return 1;
}