Jump to content

/report id dovod


Guest [BJ]boban88

Recommended Posts

Guest [BJ]boban88

dám sem TUT na report pretože ten čo tu je je chybní napriklad vzdy to nahlasi iba ID 0 aj ked napisete id a este to aj prepisuje v zlozke takze niekto napise report zapise sa ale ked niekto napise este raz tak to prepise existujuce proste cele zle.

takže idem nato:

niekam hore:

#define SCM SendClientMessage//ulachcime si pisanie
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

 

dalej dáme do publicu OnPlayerCommandText

 

dcmd(report,6,cmdtext);

 

tak a teraz prejdeme na samotný príkaz

niekam dole alebo hocikam len ne do žiadneho publicu

 

dcmd_report(playerid, params[]){
new dvd;
new File:reportf=fopen("report.txt", io_append );//cele toto je vytvorenie zlozky v scriptfiles z nazvom report.txt
if(!params[0] || !(dvd = chrfind(' ', params) + 1) || !params[dvd]) return SCM(playerid,0xFF0000AA, "/report [ ID ] [ DOVOD ]");//v prípade že zadal nesprávne príkaz
if(strlen(params[dvd]) > 24) return SCM(playerid,0xFF0000AA,"prilis dlhy dovod");//ak je dovod prilis dlhy
new hlaseny = strval(params);
if(!IsPlayerConnected(hlaseny)) return SCM(playerid,0xFF0000AA,"toto ID nieje pripojene");//ak ID ktore napisal do prikazu nieje v tom case pripojene
new string[128];
format(string, 128, "Hráč [ %s ] nahlásil hráča [ %s ] dôvod [%s]", PlayerName(playerid),PlayerName(hlaseny), params[dvd]);//sprava ktorá sa napise do chatu ale aj do nasho suboru report.txt
SendClientMessageToAll(0xFF0000AA,string);
print(string);//toto nieje potrebne ja to tam mam len tak ide oto ze vam to napise aj do serverlogu
fwrite(reportf, string);//znamena ze nam to zapise do nasho suboru
fclose(reportf);//po zapisani subor uzavrie
return 1;//vratime hodnotu
}//ukoncime prikaz

 

ak by to pisalo undefined symbol chrfind tak medti stocky si dajte :

chrfind(n,h[],s=0) {
new l=strlen(h);
	while(s  	{
  	if(h[s]==n)
   return s;s++;
   }
   return -1;
  	}

alebo undefined symbol PlayerName tak dalsi stock

stock PlayerName(playerid){
   new name[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid)) GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}

ak este nieco tak napiste

a este HELP som nekukal mozno to tam je ak ano tak sry :wave:

nieje to odnikial okopirovane robil som to sam !!!

Link to comment
Share on other sites

Guest [BJ]boban88
kde mas definovany dvd jako params?

Nemas tam stock PlayerName pro novacky.

 

skus sa pozriet

new dvd;

if(!params[0] || !(dvd = chrfind

 

a ok pridam stock playername :v:

pridany stock PlayerName

Link to comment
Share on other sites

kde mas definovany dvd jako params?

Nemas tam stock PlayerName pro novacky.

 

skus sa pozriet

new dvd;

if(!params[0] || !(dvd = chrfind

 

a ok pridam stock playername :v:

pridany stock PlayerName

aha ja jsem zvyklej to delat zvlast ;)

Link to comment
Share on other sites

  • 5 months later...

Hore do módu/fs:

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

nz...

Link to comment
Share on other sites

  • 2 weeks later...

sorry že píšu do starého topicu ale mám error :

pawno\Mody\ZZM.pwn(617) : error 036: empty statement

řádek :

dcmd(report,6,cmdtext);

thx za pomoc ;)

Link to comment
Share on other sites

máš asik blbou definici ;)

 

#define dcmd(%1,%2,%3) if((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Link to comment
Share on other sites

máš asik blbou definici ;)

 

#define dcmd(%1,%2,%3) if((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

aha díky už to fachčí ;) sem tam neměl ten return 1 :d

Link to comment
Share on other sites

  • 3 weeks later...

Pise mi to error:

(306) : error 017: undefined symbol "dcmd"

 

Radek:

dcmd(report,6,cmdtext);

 

Definice:

#define dcmd(%1,%2,%3) if((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0)&&(dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Link to comment
Share on other sites

  • 8 months later...
mam takovej dotaz,jak bych to měl upravit,aby to písalo jenom adminům který jsou online ?

 

    for(new i=0;i    {
   if(IsPlayerConnected(i) && (/*podmínka na admin lvl*/[i] > 0))SendClientMessage(playerid,Barva, "");
}

Link to comment
Share on other sites

  • 6 months later...

prepačte že otvaram stary topic ale hadže mi to errory..

 

 

C:\Users\pato\Desktop\všetko spolu\Pawno 0\gamemodes\22.pwn(1390) : error 012: invalid function call, not a valid address

C:\Users\pato\Desktop\všetko spolu\Pawno 0\gamemodes\22.pwn(1390) : warning 215: expression has no effect

C:\Users\pato\Desktop\všetko spolu\Pawno 0\gamemodes\22.pwn(1390) : error 001: expected token: ";", but found ")"

C:\Users\pato\Desktop\všetko spolu\Pawno 0\gamemodes\22.pwn(1390) : error 029: invalid expression, assumed zero

C:\Users\pato\Desktop\všetko spolu\Pawno 0\gamemodes\22.pwn(1390) : fatal error 107: too many error messages on one line

 

 

riadok

 

format(string, 128, "Hráč [ %s ] nahlásil hráča [ %s ] dôvod [%s]", PlayerName(playerid),PlayerName(hlaseny), params[dvd]);//sprava ktorá sa napise do chatu ale aj do nasho suboru report.txt

 

a cely dcmd

 

dcmd_report(playerid, params[]){
new dvd;
new File:reportf=fopen("report.txt", io_append );//cele toto je vytvorenie zlozky v scriptfiles z nazvom report.txt
if(!params[0] || !(dvd = chrfind(' ', params) + 1) || !params[dvd]) return SCM(playerid,0xFF0000AA, "/report [ ID ] [ DOVOD ]");//v prípade že zadal nesprávne príkaz
if(strlen(params[dvd]) > 24) return SCM(playerid,0xFF0000AA,"Prilis dlhy dovod");//ak je dovod prilis dlhy
new hlaseny = strval(params);
if(!IsPlayerConnected(hlaseny)) return SCM(playerid,0xFF0000AA,"Toto ID nieje pripojene");//ak ID ktore napisal do prikazu nieje v tom case pripojene
new string[128];
format(string, 128, "Hráč [ %s ] nahlásil hráča [ %s ] dôvod [%s]", PlayerName(playerid),PlayerName(hlaseny), params[dvd]);//sprava ktorá sa napise do chatu ale aj do nasho suboru report.txt
SendClientMessageToAll(0xFF0000AA,string);
print(string);//toto nieje potrebne ja to tam mam len tak ide oto ze vam to napise aj do serverlogu
fwrite(reportf, string);//znamena ze nam to zapise do nasho suboru
fclose(reportf);//po zapisani subor uzavrie
return 1;//vratime hodnotu
}//ukoncime prikaz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...