Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Kopra poslato April 18, 2012, 14:02:32 POSLE PODNE

Naslov: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 14:02:32 POSLE PODNE
Skripta koju koristim: GTA RP <3 Moj Edit
Detaljan opis problema: Pa i nije problem,nego me zanima kako da napravim da ako igrac npr napise rec ADMIN u chatu,adminima stigne ANTICHEAT : Igrac : Taj_Taj : e video sam admina ,znaci svaki put kad se spomene admin tako da napise .
ANTICHEAT : Igrac : Taj_Taj : onaj admin je bot
ANTICHEAT : Igrac : Taj_Taj : ma glu*i admin ...
Nadam se da ste skontali sta zelim ?!  ::)
Dio skripte: Dacu ako treba !! , znam da ovo treba pod OnPlayerText !!
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: DonWade poslato April 18, 2012, 14:15:15 POSLE PODNE

if(strcmp("Admin",text) == 0)
{
   // Ostatak koda ako se u chatu spomene riječ admin
}

http://wiki.sa-mp.com/wiki/Strcmp
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 15:43:40 POSLE PODNE
Citat: DonWade poslato April 18, 2012, 14:15:15 POSLE PODNE

if(strcmp("Admin",text) == 0)
{
   // Ostatak koda ako se u chatu spomene riječ admin
}

http://wiki.sa-mp.com/wiki/Strcmp

Jako si mi pomogao -,- !!
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 16:02:22 POSLE PODNE
Citat: mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0

Hocu da ako igrac u CHATU napise ADMIN da adminima to stigne ,ali ne ako napise SAMO ADMIN nego bile gde ako spomene ADMIN.

Npr ja sada napisem e vidi onog admina ,adminima stigne Bla Bla : Igrac [Pera_Sikic] : e vidi onog admina

Kontate li sada ?!

Ja sam uradio nesto ovako

if(strcmp("Admin",text) == 0)
new string[250]; // ovde je linija gde daje error (53558)
new result[250];
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali dobijem (53558) : error 003: declaration of a local variable must appear in a compound block
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Mexo poslato April 18, 2012, 16:05:35 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:02:22 POSLE PODNE
Citat: mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0

Hocu da ako igrac u CHATU napise ADMIN da adminima to stigne ,ali ne ako napise SAMO ADMIN nego bile gde ako spomene ADMIN.

Npr ja sada napisem e vidi onog admina ,adminima stigne Bla Bla : Igrac [Pera_Sikic] : e vidi onog admina

Kontate li sada ?!

Ja sam uradio nesto ovako

if(strcmp("Admin",text) == 0)
new string[250]; // ovde je linija gde daje error (53558)
new result[250];
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali dobijem (53558) : error 003: declaration of a local variable must appear in a compound block
Tako mi reci zamjeni tu liniju dje je error sa ovom:
new string[128];
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 16:13:06 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:05:35 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:02:22 POSLE PODNE
Citat: mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0

Hocu da ako igrac u CHATU napise ADMIN da adminima to stigne ,ali ne ako napise SAMO ADMIN nego bile gde ako spomene ADMIN.

Npr ja sada napisem e vidi onog admina ,adminima stigne Bla Bla : Igrac [Pera_Sikic] : e vidi onog admina

Kontate li sada ?!

Ja sam uradio nesto ovako

if(strcmp("Admin",text) == 0)
new string[250]; // ovde je linija gde daje error (53558)
new result[250];
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali dobijem (53558) : error 003: declaration of a local variable must appear in a compound block
Tako mi reci zamjeni tu liniju dje je error sa ovom:
new string[128];

Isto , (53558) : error 003: declaration of a local variable must appear in a compound block
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Mexo poslato April 18, 2012, 16:18:18 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:13:06 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:05:35 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:02:22 POSLE PODNE
Citat: mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0

Hocu da ako igrac u CHATU napise ADMIN da adminima to stigne ,ali ne ako napise SAMO ADMIN nego bile gde ako spomene ADMIN.

Npr ja sada napisem e vidi onog admina ,adminima stigne Bla Bla : Igrac [Pera_Sikic] : e vidi onog admina

Kontate li sada ?!

Ja sam uradio nesto ovako

if(strcmp("Admin",text) == 0)
new string[250]; // ovde je linija gde daje error (53558)
new result[250];
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali dobijem (53558) : error 003: declaration of a local variable must appear in a compound block
Tako mi reci zamjeni tu liniju dje je error sa ovom:
new string[128];

Isto , (53558) : error 003: declaration of a local variable must appear in a compound block
Probaj ovako
   if(strcmp("Admin",text) == 0)
   new result[250];
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 16:38:19 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:18:18 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:13:06 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:05:35 POSLE PODNE
Citat: ''KopriVa' poslato April 18, 2012, 16:02:22 POSLE PODNE
Citat: mexo poslato April 18, 2012, 15:48:03 POSLE PODNE
Ma o cemu to ti aj fino na pisi sta hoces AL0

Hocu da ako igrac u CHATU napise ADMIN da adminima to stigne ,ali ne ako napise SAMO ADMIN nego bile gde ako spomene ADMIN.

Npr ja sada napisem e vidi onog admina ,adminima stigne Bla Bla : Igrac [Pera_Sikic] : e vidi onog admina

Kontate li sada ?!

Ja sam uradio nesto ovako

if(strcmp("Admin",text) == 0)
new string[250]; // ovde je linija gde daje error (53558)
new result[250];
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali dobijem (53558) : error 003: declaration of a local variable must appear in a compound block
Tako mi reci zamjeni tu liniju dje je error sa ovom:
new string[128];

Isto , (53558) : error 003: declaration of a local variable must appear in a compound block
Probaj ovako
   if(strcmp("Admin",text) == 0)
   new result[250];
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }

Jos gore,dobijem nekih 5 errora !!
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Mexo poslato April 18, 2012, 16:40:09 POSLE PODNE
Ovako 99  %
if(strcmp("Admin",text) == 0)
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }

Ako nece to probaj ovako
new result[250];
       new string[250];
if(strcmp("Admin",text) == 0)
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 17:02:27 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:40:09 POSLE PODNE
Ovako 99  %
if(strcmp("Admin",text) == 0)
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }

Ako nece to probaj ovako
new result[250];
       new string[250];
if(strcmp("Admin",text) == 0)
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


Radi,ali adminima stigne ANTICHEAT : Igrac [ ] , samo to stigne i moram da napisem tacno Admin , sa velikim slovom , kako da stavim da stize STA JE NAPISAO ,a ja hocu ako napisem ovaj admin je gl*p da adminima stigne  ANTICHEAT : Igrac : ovaj admin je gl*p [ Ime_Prezime ]
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: DonWade poslato April 18, 2012, 17:32:50 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:40:09 POSLE PODNE
Ovako 99  %
if(strcmp("Admin",text) == 0)
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }

Ako nece to probaj ovako
new result[250];
       new string[250];
if(strcmp("Admin",text) == 0)
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


E nek si mu ti pomogao ,svaka ti čast. Uzeo moj kod i samo ubacio još da se pošalje adminima poruka ako kuca "Admin"..

Inače , onda koristiš strfind ako tražiš string u stringu.

if(strfind(text, "Admin", true) != -1)
{
    // Ovdje ide taj dio da se adminima poruka poÅ¡alje, iako mexo ce ti to bolje objasniti , on je stručnjak za sendclientmessage
}
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 17:49:55 POSLE PODNE
Citat: DonWade poslato April 18, 2012, 17:32:50 POSLE PODNE
Citat: mexo poslato April 18, 2012, 16:40:09 POSLE PODNE
Ovako 99  %
if(strcmp("Admin",text) == 0)
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }

Ako nece to probaj ovako
new result[250];
       new string[250];
if(strcmp("Admin",text) == 0)
    {
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", result ,sendername);
       ABroadCast(COLOR_BLUE,string,1);
    }


E nek si mu ti pomogao ,svaka ti čast. Uzeo moj kod i samo ubacio još da se pošalje adminima poruka ako kuca "Admin"..

Inače , onda koristiš strfind ako tražiš string u stringu.

if(strfind(text, "Admin", true) != -1)
{
    // Ovdje ide taj dio da se adminima poruka poÅ¡alje, iako mexo ce ti to bolje objasniti , on je stručnjak za sendclientmessage
}

Ja sam uradio ovako : if(strfind(text, "Admin", true) != -1)
    {
       new result[250];
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s [ %s ] ", sendername ,result);
       ABroadCast(COLOR_BLUE,string,1);
    }


Ali meni bude ovako : (http://img638.imageshack.us/img638/9365/samp131te.png)

Nevidi se ni IME IGRACA KOJI JE NAPISAO ni TEXT koji je NAPISAO !!
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: MicroSD_ poslato April 18, 2012, 17:53:49 POSLE PODNE
gle ovako je po meni bolje. Poruku salje igracima i adminima, ako napise idemo igrat war richard. kada bi igrac to napisao, poruku bi slalo samo adminima zbog reklamacije. To ce puno igracima smetat. Sta nije lakse napravit ako igrac napise "richard" da salje admina i igracima...


Ako zelis tako javi...


msm to ti je moj savjet..
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: DonWade poslato April 18, 2012, 17:57:36 POSLE PODNE
if(strfind(text, "Admin", true) != -1)
    {
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s  [ %s ] ",playerid ,text); // Probaj ovako
       ABroadCast(COLOR_BLUE,string,1); // Ovaj dio neznam dali ti je ispravan al valjda ti znaÅ¡
    }
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 18:16:22 POSLE PODNE
Citat: DonWade poslato April 18, 2012, 17:57:36 POSLE PODNE
if(strfind(text, "Admin", true) != -1)
    {
       new string[250];
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s  [ %s ] ",playerid ,text); // Probaj ovako
       ABroadCast(COLOR_BLUE,string,1); // Ovaj dio neznam dali ti je ispravan al valjda ti znaÅ¡
    }

Hvala ti care,vidi se tekst ali ne i ime,to nije prob .
Jos jednom hvala puno :)
Moze LOCK !
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: DonWade poslato April 18, 2012, 18:31:57 POSLE PODNE
Moja greÅ¡ka  :o

if(strfind(text, "Admin", true) != -1)
    {
       new string[250],pName[24];
       GetPlayerName(playerid,pName,24);
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s  [ %s ] ",pName,text);
       ABroadCast(COLOR_BLUE,string,1);
    }

Sada ce da i ime pokazuje  8)
Naslov: Odg: [POMOC] AntiCheat !!
Poruka od: Kopra poslato April 18, 2012, 19:37:58 POSLE PODNE
Citat: DonWade poslato April 18, 2012, 18:31:57 POSLE PODNE
Moja greÅ¡ka  :o

if(strfind(text, "Admin", true) != -1)
    {
       new string[250],pName[24];
       GetPlayerName(playerid,pName,24);
       format(string, sizeof(string), "ANTICHEAT : Igrac : %s  [ %s ] ",pName,text);
       ABroadCast(COLOR_BLUE,string,1);
    }

Sada ce da i ime pokazuje  8)


Moras koristiti GetPlayerName(playerid, sendername, sizeof(sendername)); i onda stavis na kraj ,sendername