Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-08-22, 19:50


patryx7







Wiek: 29
Na forum: 5062 dni
Posty: 19
Nick w MP: patryx6



Respekt: 50

Witam sci?g?em sobie bansystem z jakiej? strony i wogule nie umiem tego przet?umaczy? nawet nei wiem co to znaczy i nie ogarniam prosi?bym jakby kto? m?g? jako? to ogarn?? albo da? link do jakiego? polskiego polej? sie :piwo:

Kod:

//(?) Splav

#include <a_samp>
#include <zcmd>
#include <sscanf>

new DB:ServerDB,
year, month, day,
UBDay, UBHour, UBMin, UBSec, UBMSec, bool:plban[MAX_PLAYERS],
sendername[32], giveplayer[32], str[255],
player[MAX_PLAYERS];

public OnFilterScriptInit()
{
if(fexist("bans.db")) ServerDB = db_open("bans.db");
else
{
ServerDB = db_open("bans.db");
db_query(ServerDB, "CREATE TABLE bans (name varchar, ip varchar, bandate varchar, time int, unbandate int, reason varchar)");
}
SetTimer("CheckBans", 1000, 1);
return true;
}

public OnPlayerConnect(playerid)
{
CheckBanList(playerid);
return true;
}

public OnPlayerDisconnect(playerid)
{
plban[playerid] = false;
player[playerid] = 0;
return true;
}


CMD:ban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return true;
new giveplayerid, days, text[255], ip[32], date[32], unbandate;
if(sscanf(params, "uds", giveplayerid, days, text)) return SendClientMessage(playerid, 0xFF0000AA, "{FFFF00}*?????????*: {FFFFFF}/ban [ID ?? ????] [???-?? ?? ??] [???????]");
if(!IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, "{FFFF00}*????????*: {FFFFFF}?????? ?? ??? ?? ? ?? ??");
GetPlayerName(playerid, sendername, 32);
GetPlayerName(giveplayerid, giveplayer, 32);
GetPlayerIp(giveplayerid, ip, 32);
format(str, sizeof(str), "{FFFF00}* {%06x}%s(%d) {00FF00}??????? ?? ???????????? ?? ?????. {BF00FF}???? ?? ?? ? ?? ??: {FFFFFF}%d. {BF00FF}???????: {FFFFFF}%s {FFFF00}*", GetPlayerColor(giveplayerid) >>> 8, giveplayer, giveplayerid, days, text);
SendClientMessageToAll(0xFF0000AA, str);
plban[giveplayerid] = true;
unbandate = gettime() + days*86400;
format(date, 32, "%02d.%02d.%04d", day, month, year);
format(str, sizeof(str), "INSERT INTO bans (name, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s', '%s', %d, %d, '%s')", giveplayer, ip, date, days, unbandate, text);
db_query(ServerDB, str);
return true;
}

CMD:unban(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return true;
new text[32], DBResult:answer;
if(sscanf(params, "s", text)) return SendClientMessage(playerid, 0xFF0000AA, "{FFFF00}*?????????*: {FFFFFF}/unban [ID ?? ????]");
format(str, sizeof(str), "SELECT * FROM bans WHERE name = '%s'", text);
answer = db_query(ServerDB, str);
if(!db_num_rows(answer)) return SendClientMessage(playerid, 0xFF0000AA, "{FFFF00}*????????*: {FFFFFF}??????? ?? ???? ?? ? ? ?? ? ?? ???!");
format(str, sizeof(str), "DELETE FROM bans WHERE name = '%s'", text);
db_query(ServerDB, str);
format(str, sizeof(str), "{00FF00}?? ?? ??????? {FFFFFF}%s", text);
SendClientMessage(playerid, 0xFF0000AA, str);
db_free_result(answer);
return true;
}

CMD:banlist(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return true;
new DBResult:answer, rows, banlist[1000];
new name[32], ip[32];
answer = db_query(ServerDB, "SELECT name, ip FROM bans");
rows = db_num_rows(answer);
for(new i; i<rows; i++)
{
db_get_field(answer, 0, name, 32);
db_get_field(answer, 1, ip, 32);
format(str, sizeof(str), "{FF0000}%s {FFFF00}(%s)\n", name, ip);
strcat(banlist, str);
db_next_row(answer);
}
ShowPlayerDialog(playerid, 503, DIALOG_STYLE_LIST, "???????", banlist, "???????", "???????");
db_free_result(answer);
return true;
}

CMD:cbanlist(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return true;
format(str, sizeof(str), "DELETE FROM bans WHERE unbandate < %d", getdate());
db_query(ServerDB, str);
SendClientMessage(playerid, 0xFF0000AA, "?????? ?? ???????");
return true;
}

stock convert(time, &min, &sec, &msec)
{
new Float:fTime = floatdiv(time, 60000);
min = floatround(fTime, floatround_tozero);
sec = floatround(floatmul(fTime - min, 60), floatround_tozero);
msec = floatround(floatmul(floatmul(fTime - min, 60) - sec, 1000), floatround_tozero);
}

stock CheckBanList(playerid)
{
new DBResult:answer, var[32], unbandate, bool:ban, ip[32];
GetPlayerName(playerid, sendername, 32);
GetPlayerIp(playerid, ip, 32);
format(str, sizeof(str), "SELECT * FROM bans WHERE name = '%s'", sendername);
answer = db_query(ServerDB, str);
if(db_num_rows(answer))
{
db_get_field(answer, 4, var, 32);
unbandate = strval(var);
if(unbandate - gettime() > 0) ban = true;
}
format(str, sizeof(str), "SELECT * FROM bans WHERE ip = '%s'", ip);
answer = db_query(ServerDB, str);
if(db_num_rows(answer))
{
db_get_field(answer, 4, var, 32);
unbandate = strval(var);
if(unbandate - gettime() > 0) ban = true;
}
if(ban == true)
{
convert((unbandate-gettime())*1000,UBMin,UBSec,UBMSec);
UBHour = UBMin/60;
UBMin = UBMin%60;
UBDay = UBHour/24;
UBHour = UBHour%24;
format(str, sizeof(str), "{FF0000}??? ?? ????? ?? ??????????! {FFFF00}?? ?? ????? ?? ?????? {FFFFFF}%d ?? ?? %d ?? ??? %d ?? ??? {FFFF00}? {FFFFFF}%d ?? ????", UBDay, UBHour, UBMin, UBSec);
SendClientMessage(playerid, 0xFF0000FF, str);
Kick(playerid);
}
return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 503 && response)
{
new dialog[503], DBResult:answer,
name[32], ip[32], bandate[32], time, unbandate, reason[255], var[32];
answer = db_query(ServerDB, "SELECT * FROM bans");
for(new i; i<listitem; i++) db_next_row(answer);
db_get_field(answer, 0, name, 32);
db_get_field(answer, 1, ip, 32);
db_get_field(answer, 2, bandate, 32);
db_get_field(answer, 3, var, 32); time = strval(var);
db_get_field(answer, 4, var, 32); unbandate = strval(var);
db_get_field(answer, 5, reason, 255);
player[playerid] = listitem;
convert((unbandate-gettime())*1000,UBMin,UBSec,UBMSec);
UBHour = UBMin/60;
UBMin = UBMin%60;
UBDay = UBHour/24;
UBHour = UBHour%24;
format(str, sizeof(str), "{FFFF00}???: {FFFFFF}%s. {FFFF00}IP: {FFFFFF}%s\n", name, ip);
strcat(dialog, str);
format(str, sizeof(str), "{FFFF00}???? ?? ??: {FFFFFF}%s\n", bandate);
strcat(dialog, str);
format(str, sizeof(str), "{FFFF00}???? ?? ??: {FFFFFF}%d\n", time);
strcat(dialog, str);
format(str, sizeof(str), "{FFFF00}?????? ?? ???: {FFFFFF}%d ?? ?? ? %d ?? ???\n", UBDay, UBHour);
strcat(dialog, str);
format(str, sizeof(str), "{FFFF00}??????? ?? ??: {FFFFFF}%s", reason);
strcat(dialog, str);
ShowPlayerDialog(playerid, 504, DIALOG_STYLE_MSGBOX, "???????", dialog, "???????", "?????????");
db_free_result(answer);
return true;
}
if(dialogid == 504 && !response)
{
new DBResult:answer, name[32];
answer = db_query(ServerDB, "SELECT name FROM bans");
for(new i; i<player[playerid]; i++) db_next_row(answer);
db_get_field(answer, 0, name, 32);
format(str, sizeof(str), "DELETE FROM bans WHERE name = '%s'", name);
db_query(ServerDB, str);
SendClientMessage(playerid, 0xFF0000AA, "??????? ?? ???????????!");
db_free_result(answer);
return true;
}
return false;
}

forward CheckBans();
public CheckBans()
{
for(new i; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && plban[i] == true) Kick(i);
}
return true;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-22, 21:02


Carlli







Wiek: 30
Na forum: 5085 dni
Posty: 695

Piwa: 2486

Respekt: 197
Respekt: 197Respekt: 197

Nie ma polskiego to jest napisane w j?zyku pawn.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-22, 21:20


patryx7







Wiek: 29
Na forum: 5062 dni
Posty: 19
Nick w MP: patryx6



Respekt: 50

Ale mi chodzi czy da rade to przet?umaczy? te znaczki to jest jezyk (Magyar) w?gierski tylko ?e w translate.google nie da sie przetlumaczyc

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-22, 21:46


Carlli







Wiek: 30
Na forum: 5085 dni
Posty: 695

Piwa: 2486

Respekt: 197
Respekt: 197Respekt: 197

Nie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-23, 10:39


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Da si?, jest to po j?zyku bodaj?e ruskim czy ch.. wie jakim. Je?li popracujesz nad tym kodem.

Z?y dzia? !

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-23, 10:43


Carlli







Wiek: 30
Na forum: 5085 dni
Posty: 695

Piwa: 2486

Respekt: 197
Respekt: 197Respekt: 197

blackelegy, po rusku :P Jak tu s? s?owa takie jak Message czy Player to chyba Angielski. :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-23, 10:47


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Og?lnie tu masz PAWN+Ruski = Musisz sendclientmessage mniej wi?cej takie rzeczy przet?umaczy? (Co jest po rusku, t?umacz). A tak masz po PAWN.

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-23, 10:50


Carlli







Wiek: 30
Na forum: 5085 dni
Posty: 695

Piwa: 2486

Respekt: 197
Respekt: 197Respekt: 197

blackelegy, ok ok.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-23, 11:47


patryx7







Wiek: 29
Na forum: 5062 dni
Posty: 19
Nick w MP: patryx6



Respekt: 50

Sorki za dzia? pomyli?o mi sie dzi?ki jako? to ogarne ?apcie piwka

[ Dodano: 2012-08-23, 19:01 ]
ale chcia?bym zauwa?y?, ?e tego sie nie da przet?umaczy? ja np. nie potrafie :x

Postaw piwo autorowi tego posta
 

 
Tagi: ban :: system :: sqlite
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku