Please, help! -
Setkus - 05.01.2012
Hi, guys!
Well, I am changing my commands to zcmd and I have one problem. What should I do whit this one?
pawn Код:
CMD:s(playerid, params[])
{
if(cmdtext[2]==0){SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]"); return 1;}
new zin[256],vardas[MAX_PLAYER_NAME];
GetPlayerName(playerid,vardas,MAX_PLAYER_NAME);
format(zin,sizeof(zin),"{66ff33}Adminas {66ff33}%s: {66ff33}%s",vardas,cmdtext[3]);
SendClientMessageToAll(0x00DAECAA,zin);
return 1;
}
After I compline, I got these errors:
pawn Код:
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17597) : error 017: undefined symbol "cmdtext"
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17597) : warning 215: expression has no effect
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17597) : error 001: expected token: ";", but found "]"
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17597) : error 029: invalid expression, assumed zero
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17597) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
What should I do? Help, please
Re: Please, help! -
[HiC]TheKiller - 05.01.2012
Change
pawn Код:
if(cmdtext[2]==0){SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]"); return 1;}
To
pawn Код:
if(isnull(params)) return SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]");
Re: Please, help! -
Setkus - 05.01.2012
Thanks, works fine. When i put
pawn Код:
if(!playerDB[playerid][admin]) return
I got errors. Here is the code:
pawn Код:
CMD:s(playerid, params[])
{
if(!playerDB[playerid][admin]) return
if(isnull(params)) return SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]");
new zin[256],vardas[MAX_PLAYER_NAME];
GetPlayerName(playerid,vardas,MAX_PLAYER_NAME);
format(zin,sizeof(zin),"{66ff33}Adminas {66ff33}%s: {66ff33}%s",vardas,isnull(params));
SendClientMessageToAll(0x00DAECAA,zin);
return 1;
}
Here is the error:
pawn Код:
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17598) : error 029: invalid expression, assumed zero
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17598) : warning 215: expression has no effect
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17598) : error 001: expected token: ";", but found "return"
D:\GTASA~1\ghjhj\GAMEMO~1\band7.pwn(17599) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
What's wrong? Could you help me?
Re: Please, help! -
[HiC]TheKiller - 05.01.2012
pawn Код:
if(!playerDB[playerid][admin]) return
Should actually return a value such as:
pawn Код:
if(!playerDB[playerid][admin]) return SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17} You're not admin"); //In your language :P
or if you want it saying unknown command for any non-admins:
pawn Код:
if(!playerDB[playerid][admin]) return 0;
Re: Please, help! -
Setkus - 05.01.2012
Thanks, works fine

But here is another problem. When I go to game, everything works fine, I type "/s bla bla bla" and it only says "Admin Name_Surname says: " nothing more... I hope you understand me

Here is the code:
pawn Код:
CMD:s(playerid, params[])
{
if(!playerDB[playerid][admin]) return SendClientMessage(playerid,COLOR_RED, "* Tai skirta tik administracijai.");
if(isnull(params)) return SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]");
new zin[256],vardas[MAX_PLAYER_NAME];
GetPlayerName(playerid,vardas,MAX_PLAYER_NAME);
format(zin,sizeof(zin),"{66ff33}Adminas {66ff33}%s: {66ff33}%s",vardas,isnull(params));
SendClientMessageToAll(0x00DAECAA,zin);
return 1;
}
Re: Please, help! -
Setkus - 05.01.2012
Anyone could help me?
Re: Please, help! -
gamer931215 - 05.01.2012
pawn Код:
format(zin,sizeof(zin),"{66ff33}Adminas {66ff33}%s: {66ff33}%s",vardas,isnull(params));
Should be:
pawn Код:
format(zin,sizeof(zin),"{66ff33}Adminas {66ff33}%s: {66ff33}%s",vardas,params);
Also
NEVER use 256 byte long strings!!!!!!!!!
Chat strings can only be maximal 128 bytes, you are wasting twice as much memory as actually needed.
Re: Please, help! -
Setkus - 06.01.2012
Thanks, and I want to change /kick command to zcmd. What should I do whit this:
pawn Код:
strmid(prz,GetArgument(2, cmdtext,true),0,128);
if(!strcmp(prz, "0", true) ){SendClientMessage(playerid, RED, "* You forgot to say a reason.."); return 1;}
here is the whole command:
pawn Код:
CMD:kick(playerid, params[])
{
new kick;
if (sscanf(params, "u", kick)){SendClientMessage(playerid, COLOR_ORANGE, "* Ismesti zaideja: /kick (dalis_vardo) (priezastis)");return 1;}
if (kick == INVALID_PLAYER_ID){ SendClientMessage(playerid, RED, "* Tokio zaidejo nera"); return 1;}
if (playerDB[kick][admin]){ SendClientMessage(playerid, RED, "* Administratoriaus ismesti negalima."); return 1;}
strmid(prz,GetArgument(2, cmdtext,true),0,128);
if(!strcmp(prz, "0", true) ){SendClientMessage(playerid, RED, "* Pamirsote nurodyti priezasti."); return 1;}
new msg[128],adminname[MAX_PLAYER_NAME];
GetPlayerName(kick,vardas,sizeof(vardas));
GetPlayerName(playerid,adminname,sizeof(adminname));
format(msg,sizeof(msg),"[kick] %s",prz);
SendClientMessage(kick,BLUE,msg);
Kick(kick);
format(msg,sizeof(msg),"[kick] %s ismete %s is serverio (%s).",adminname,vardas,prz);
SendClientMessageToAll(BLUE,msg);
return 1;
}
Help, please, I dont know what to do. Thanks anyway
Re: Please, help! -
Konstantinos - 06.01.2012
To be honest, first time I come across with the strmid, so I don't know if it's correct.
pawn Код:
CMD:kick(playerid, params[])
{
new kick, msg[128], prz[128], vardas[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME];
if(!playerDB[playerid][admin]) return SendClientMessage(playerid,0x00FF00AA, "* Naudojimas: {347C17}/s [tekstas]");
if(sscanf(params, "u", kick))return SendClientMessage(playerid, COLOR_ORANGE, "* Ismesti zaideja: /kick (dalis_vardo) (priezastis)");
if(kick == INVALID_PLAYER_ID)return SendClientMessage(playerid, RED, "* Tokio zaidejo nera");
strmid(prz, GetArgument(2, params, true), 0, 128);
if(!strcmp(prz, "0", true))return SendClientMessage(playerid, RED, "* Pamirsote nurodyti priezasti.");
GetPlayerName(kick, vardas, sizeof(vardas));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(msg, sizeof(msg), "[kick] %s", prz);
SendClientMessage(kick, BLUE, msg);
Kick(kick);
format(msg,sizeof(msg),"[kick] %s ismete %s is serverio (%s).", adminname, vardas, prz);
return SendClientMessageToAll(BLUE, msg);
}
stock GetArgument(argument, const string[], untillend)
{
new index = 0;
new end = 0;
new returns[256]="0";
for(new loop = 0; loop < argument; loop++) {
index = strfind(string," ",true,index)+1;
if(!strcmp(string[index]," ",true,1)){return returns;}
if (index == 0){return returns;}
}
if(untillend == 0) {
end = strfind(string[index]," ",true,0);
}
if (end== -1 || untillend==1) end = 256-index;
strmid(returns,string[index],0,end);
return returns;
}