[Pomoc] odredjene rjeci..pomoccccccc


Započeo Otisao s Foruma!, Februar 27, 2012, 14:13:31 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: FG
Detaljan opis problema: ovako kako da napravim kada igrac napise neku odredjenu rjec da to se pojavi adminima kao npr: bug,itd..da se pojavi id od tog igraca i ime i sta je napisao.
Dio skripte: 8)

edit:jel ovako to nesto ide.

if(IsInputForbiddenWord(playerid,text))
	{
	   format(string, 256, "Sd anticheat:Igrac [%d][%s] >%s< PS,VR, ili AD!", giveplayerid, sendername, text);
	   ABroadCast(COLOR_GREEN,string,1);
	   return 1;
	}



Kod: [Odaberi]
new Forbidden[][] =
{
  "admin",
  "server",
  "admine",
  "osc",
  "srv",
  "srvu",
  "adminu",
  "oscu",
  "osca",
  "/w",
  "/ajail"
};

stock IsInputForbiddenWord(playerid,input[])
{
	#pragma unused playerid
	for(new c;c<sizeof(Forbidden);c++)
	{
	  if(strfind(input,Forbidden[c])!=-1){}
	}
	return true;
}


Poslednja Izmena: Februar 27, 2012, 18:38:14 POSLE PODNE od ¢fg™'87
[[/center]
DgL <3
Otisao s Foruma zz



Snich

Evo ti osnovno:

#include <a_samp>
#define KOLICINA_TEKSTA 14
#define RIJECI 14

new zabrana[][KOLICINA_TEKSTA] =
{
	{"@gmail"},
	{"@live"},
	{"@msn"},
	{"@hotmail"},
	{"de"},
	{"cc"},
	{"www"},
	{"com"},
	{"co"},
	{"uk"},
	{"org"},
	{"net"},
	{"info"},
	{"tk"},
	{"bug"}
};

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	if((strlen(text) < 3) || (text[0] == '/') || (text[0] == '#') || (text[0] == '!')) return 1;

	new offset;
	new len;
 	for(new i=0; i<RIJECI; i++)
	{
		offset = strfind(text, zabrana[i], true);
		if(offset > -1)
		{
			len = strlen(zabrana[i]);
			if(len < 3) break;
			for(new y=0; y<len; y++)
			{
				text[offset+y] = '*';
			}
		}
	}
	return 1;
}

Aa hoc li se to pojaviti adminima id od igraca i njegovo ime kad to igrac upise.

Citat: zglj poslato Februar 28, 2012, 00:09:30 PRE PODNE
Aa hoc li se to pojaviti adminima id od igraca i njegovo ime kad to igrac upise.
Ne vidim u snichovom code-u to nigdje..On ti je dao osnovu,nije cijeli code.

Snich

Citat: zglj poslato Februar 28, 2012, 00:09:30 PRE PODNE
Aa hoc li se to pojaviti adminima id od igraca i njegovo ime kad to igrac upise.

Care dao sam ti osnovu, eh sad ti po osnovi kroji sam sebi dalje, ne mislis valjda da cu ti komplet system stavit!

:/ ...evo na sabahu malo jutarnje gimnastike ..
ovo dodajes u

public OnPlayerText(playerid, text[])

foreach (Player, i)
{
if(strfind(text, "ZABRANJENA 1", true) ||strfind(text, "ZABRANJENA 2", true) || strfind(text, "ZABRANJENA 3", true) != -1)
	{
	  if(PlayerInfo[i][pAdmin]!= 0)
	  {
	  new pname[MAX_PLAYER_NAME], astring[256];
	  GetPlayerName(playerid, pname , sizeof(pname));
	  format(astring, sizeof(astring),"[Upozorenje] %s kaze: %s ",pname ,text);
	  SendClientMessage(i,COLOR_RED,astring);
	  return 1; // ovo izbrisi ako igracu dopustas da pise rijeci a da ti ipak upozorenje dolazi 
	  }
	}
}

ako obrises return stavi ispod

if(PlayerInfo[playerid][pMute] == 1)...
na FG je pMute ili pMuted nezz .. ugl u OnPlayerText je ..

sev naj :P
Edit : zaboravih rec..moras imat foreach inc
Poslednja Izmena: Februar 28, 2012, 07:01:29 PRE PODNE od Marc McPawn

A  gdje rjeci da stavim kad neku napise da se to pojavi adminima.
[[/center]
DgL <3
Otisao s Foruma zz


if(strfind(text, "ZABRANJENA 1", true) ||strfind(text, "ZABRANJENA 2", true) || strfind(text, "ZABRANJENA 3", true) != -1)


strfind - string find , trazi zadanu rijecu u stringu u ovom slucaju text je string a "ZABRANJENA 1" zadana rijec.. samo zamjeni svojim rijecima , znaci dodajes

strfind(text, "zabranjena rijec", true)
i odvajaj ih sa || (kao sto sam ja uradio) ili sa && :)

Problem je kada bilo sta napisem pojavi se adminima a ja bih htjeo kada samo ove rjeci napise da se to pojavljuje.
[[/center]
DgL <3
Otisao s Foruma zz