Peršokti į turinį

bBan.inc - Blacky Laiko Ban include


ViVix

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3778 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

parsisiuntimo nuoroda :

laiko_ban_include.rar - 2.1 Kb

Pastebin:

http://pastebin.com/CXuaAgtB

 

Naudojimas yra viduje. Ban komanda :

CMD:ban(playerid,params[])
{
new priezastis,laikas,playeris;
if(sscanf(params,"uis",playeris,laikas,priezastis)) return SendClientMessage(playerid,-1,"Komanda naudojama /ban [žaidėjo ID] [ laikas valandomis ] [priežastis]");
b_Ban(playeris,laikas,priezastis,playerid);
return true;
}

Gero naudojimo :)

Includei reikalinga mysql duomenų bazė!!!

 

Nauja includes versija:

http://pastebin.com/NrHH9AvW

 

Pridėta nauja funkcija, skirta išgauti ban priežastį.

Redaguota , nario Blacky
Nuoroda į komentarą
Dalintis per kitą puslapį

Žinok kritika neigiama...

  • O jeigu nėra MySQL? 
  • O jeigu nėra lentelės?
  • O jeigu lentelė naudojama, bet kitokia struktūra?
  • Funkcijoj bBan_check, kam kuri msg ir msg1? Kodėl negali naudot vieno?
  • "SetTimerEx("Kickas", 1000, false, "e", playerid);" "e", kas tas?
  • Tokia ilga ir sudėtinga funkcija pakeisti timestamp į datą....
  • Visą sekundę laukt kol išmes? Tiek nereikia

 

Tavo visą include būtų galima perrašyti taip(nors vistiek išlieka pirmos 3 problemos):

forward Kick_Delay(playerid);
public Kick_Delay(playerid)
	return Kick(playerid);
#define Kick(%0) SetTimerEx("Kick_Delay",50,false,"i",%0)

stock bBan_Check(playerid)
{
	new msg[120],name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	mysql_real_escape_string(name,name);
	format(msg,sizeof(msg),"SELECT *,(FROM_UNIXTIME(Ikikada) AS Data_Str) FROM lbans WHERE Uzbanintas='%s'",name);
	mysql_query(msg);
	mysql_store_result();
	while(mysql_retrieve_row())
	{
		new result[50],data;
		mysql_fetch_field_row(result,"Ikikada");
		mysql_fetch_field_row(data,"Data_Str");
		new time = strval(result);
		if(time >= gettime()) 
		{
			format(msg,120,"Jûsø ban baigsis %s",data);
			SendClientMessage(playerid,-1,msg);
			Kick(playerid);
		}
	}
	return 1;
}

stock b_Ban(playerid,valandos,priezastis[],bannerID)
{
	new time,query[250],name[MAX_PLAYER_NAME],banner[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	GetPlayerName(bannerID, banner, sizeof(banner));
	mysql_real_escape_string(priezastis,priezastis);
	mysql_real_escape_string(name,name);
	mysql_real_escape_string(banner,banner);
	time = gettime() + valandos * 3600;
	format(query,sizeof(query),"INSERT INTO lbans (Uzbanintas,Ikikada,Priezast,Kasban) VALUES ('%s','%d','%s','%s')",
		name,time,priezastis,banner);
	mysql_query(query);
	Kick(playerid);
}
Nuoroda į komentarą
Dalintis per kitą puslapį

VIsos includės papkės viduje yra ir lentelės ir visa kita. Na jeigu tau sekundė yra ilgai tai gali pasieditint. 

Nežinau, kodėl kūriau du kintamuosius, kažkokių tai problemų tūrėjau, nusprendžiau pakeisti į du. Šitas "e" tai čia yra kaip ir formato dalis, e naudoju kaip žaidėjo id. Konvertavimas iš timestamp į data yra ne mano, ją parsisiunčiau iš interneto. Beto kiek matei, gali naudoti ją įvairiais būdais. 

Ačiū už kritiką :)

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 savaičių...

 

Žinok kritika neigiama...

  • O jeigu nėra MySQL? 
  • O jeigu nėra lentelės?
  • O jeigu lentelė naudojama, bet kitokia struktūra?
  • Funkcijoj bBan_check, kam kuri msg ir msg1? Kodėl negali naudot vieno?
  • "SetTimerEx("Kickas", 1000, false, "e", playerid);" "e", kas tas?
  • Tokia ilga ir sudėtinga funkcija pakeisti timestamp į datą....
  • Visą sekundę laukt kol išmes? Tiek nereikia

 

Tavo visą include būtų galima perrašyti taip(nors vistiek išlieka pirmos 3 problemos):

forward Kick_Delay(playerid);
public Kick_Delay(playerid)
	return Kick(playerid);
#define Kick(%0) SetTimerEx("Kick_Delay",50,false,"i",%0)

stock bBan_Check(playerid)
{
	new msg[120],name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	mysql_real_escape_string(name,name);
	format(msg,sizeof(msg),"SELECT *,(FROM_UNIXTIME(Ikikada) AS Data_Str) FROM lbans WHERE Uzbanintas='%s'",name);
	mysql_query(msg);
	mysql_store_result();
	while(mysql_retrieve_row())
	{
		new result[50],data;
		mysql_fetch_field_row(result,"Ikikada");
		mysql_fetch_field_row(data,"Data_Str");
		new time = strval(result);
		if(time >= gettime()) 
		{
			format(msg,120,"Jûsø ban baigsis %s",data);
			SendClientMessage(playerid,-1,msg);
			Kick(playerid);
		}
	}
	return 1;
}

stock b_Ban(playerid,valandos,priezastis[],bannerID)
{
	new time,query[250],name[MAX_PLAYER_NAME],banner[MAX_PLAYER_NAME];
	GetPlayerName(playerid,name,sizeof(name));
	GetPlayerName(bannerID, banner, sizeof(banner));
	mysql_real_escape_string(priezastis,priezastis);
	mysql_real_escape_string(name,name);
	mysql_real_escape_string(banner,banner);
	time = gettime() + valandos * 3600;
	format(query,sizeof(query),"INSERT INTO lbans (Uzbanintas,Ikikada,Priezast,Kasban) VALUES ('%s','%d','%s','%s')",
		name,time,priezastis,banner);
	mysql_query(query);
	Kick(playerid);
}

Žinai aš irgi galiu tave sukritikuoti, nes man netinka tavo variantas, kadangi aš šito mysql nenaudoju, pas mane BlueG's R7 Cased. :D

Taigi dar viena problema jaigu pasmane mysql kitoks.

O sprendimas paprastas, turėti galvą ant pečių ir pasidaryti pačiam. Suderinsi ir mysql ir lenteles sukursi, pasidarysi kaip nori, nes pvž man labiau patinka kaip jis padarė msg ir msg1 ! ( for real aš irgi viena tokiem dalykam naudoju, tik kaip pavizdį )

Nuoroda į komentarą
Dalintis per kitą puslapį

Žinai aš irgi galiu tave sukritikuoti, nes man netinka tavo variantas, kadangi aš šito mysql nenaudoju, pas mane BlueG's R7 Cased. :D

Taigi dar viena problema jaigu pasmane mysql kitoks.

O sprendimas paprastas, turėti galvą ant pečių ir pasidaryti pačiam. Suderinsi ir mysql ir lenteles sukursi, pasidarysi kaip nori, nes pvž man labiau patinka kaip jis padarė msg ir msg1 ! ( for real aš irgi viena tokiem dalykam naudoju, tik kaip pavizdį )

Taip, prie punktų galiu pridėti ir versijos skirtumus. Bet deja Lietuvoje ne kiekvienas naudoja R7+....

Bet jeigu kritikuojam tai kritikuojam!

Ne "Cased",o "Cached".

Naudok R34, nepajusi skirtumo sintaksėje tik privalumų :)

Nuoroda į komentarą
Dalintis per kitą puslapį

Beto dėlto aš nieko ir nekuriu supergames nes čia labau jau 'Elit' nariai susirinke niekas niekam netinka.

sa-mp.com žymei greičiau ir daugiau reputacijos galima užsikrauti negu čia. :D

Na taip, man viskas netinka(na gal pora dalykų). Va čia ir nuliūdinai.... tavo tikslas tėra reputacija? Ką nors kelti tau verta tik dėl reputacijos?

Nuoroda į komentarą
Dalintis per kitą puslapį

Taip, prie punktų galiu pridėti ir versijos skirtumus. Bet deja Lietuvoje ne kiekvienas naudoja R7+....

Bet jeigu kritikuojam tai kritikuojam!

Ne "Cased",o "Cached".

Naudok R34, nepajusi skirtumo sintaksėje tik privalumų :)

Perdaug modų parašiau su R7, kad gryščiau atgal, taip nėra greičio skirtumų, beto man rodos R7 net lėčiau dirba nei kitos versijos ( už R6 biški greičiau man rodos )

Nuoroda į komentarą
Dalintis per kitą puslapį

Beto dėlto aš nieko ir nekuriu supergames nes čia labau jau 'Elit' nariai susirinke niekas niekam netinka.

sa-mp.com žymei greičiau ir daugiau reputacijos galima užsikrauti negu čia. :D

Būtent, baisu kažką čia dėti savo darbą nes iš kart užsipuls dėl tokių durnų klaidų pasijausi durnas ir šoksi pro langą. Just kidding, bet čia tai tiesa.

Nuoroda į komentarą
Dalintis per kitą puslapį

Na taip, man viskas netinka(na gal pora dalykų). Va čia ir nuliūdinai.... tavo tikslas tėra reputacija? Ką nors kelti tau verta tik dėl reputacijos?

Kas apie kokę reputaciją galvoja, nes aš tai ne apie +rep kalbu. :)

Aš kalbu kai kitas vertina kito žmogaus įdėtą darbą, net jaigu tai FS su random msg ar gamemodas su basic RP komandom. :D

Kelčiau aš tuos darbus dėl rep turėčiau neką mažiau nei tu, ponas moderatoriau. Beto jai galvoji, kad tave sukritikavau dėl to, kad norėjau 'parodyti, kad kaško nemoki' tai klysti, nes aš vertinu, kad išdalies pataisei jo klaidą. Kartais sunku ir man suprasti ar žmogų kritikuoja bloguoju, ar tiesiog nori padėti. 

Redaguota , nario Expert*
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3778 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...