|
I have a problem with ZCMD, no matter if i do CMD:, COMMAND:, or cmd(command,stuff) it wont detect my commands, it will always return 0. and if i try editing the callbacks to return 1 it doesnt send the message but also doesnt perform the command. i used the 3 possible formats so far with no errors. :/
i have Icognito's DNS and Streamer, and SSCANF2. |
// Base FS
// Contains /pm /kick /ban commands.
// ADAPTED FOR AIRPORT TDM, small changes tho
#define YSI_IS_CLIENT
#include <a_samp>
#include "../include/gl_common.inc"
#include <zcmd>
#define ADMINFS_MESSAGE_COLOR 0xFF444499
#define PM_INCOMING_COLOR 0xFFFF22AA
#define PM_OUTGOING_COLOR 0xFFCC2299
//------------------------------------------------
public OnFilterScriptInit()
{
print("\n--Base FS loaded.\n");
return 1;
}
//------------------------------------------------
public OnPlayerCommandPerformed(playerid, cmdtext[],success)
{
new cmd[128];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
// PM Command
if(strcmp("/pm", cmd, true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID");
return 1;
}
if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,PM_INCOMING_COLOR,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("PM: %s",Message);
}
else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"You cannot PM yourself,Curious Nab.");
}
return 1;
}
//Kick Command
if(strcmp("/kick", cmd, true) == 0)
{
if(IsPlayerAdmin(playerid)) {
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /kick (id) [reason]");
}
new id = strval(tmp);
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : Bad player ID");
return 1;
}
gMessage = strrest(cmdtext,idx);
GetPlayerName(id,iName,sizeof(iName));
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been kicked from Airport TDM. Relax, At least it wasnt a ban! Mwahaha.");
if(strlen(gMessage) > 0) {
format(Message,sizeof(Message),"Reason: %s",gMessage);
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
}
format(Message,sizeof(Message),">> %s(%d) has been kicked. Reason: %s",iName,id,gMessage);
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);
Kick(id);
return 1;
} else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/Kick : You are not an admin,Ass.");
return 1;
}
}
//Ban Command
if(strcmp("/ban", cmd, true) == 0)
{
if(IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5)
{
return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /ban (id) [reason]");
}
new id = strval(tmp);
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : Bad player ID");
return 1;
}
gMessage = strrest(cmdtext,idx);
GetPlayerName(id,iName,sizeof(iName));
SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"You have been banned from Airport TDM.");//Send ban message
if(strlen(gMessage) > 0)
{
new banMessage[80];
format(banMessage,sizeof(banMessage),">> %s(%d) Has been Banned by an Admin. Reason:%s",iName,id,gMessage);
SendClientMessageToAll(ADMINFS_MESSAGE_COLOR, banMessage);
}
printf("WARNING,%s(%d) has been banned. Reason:%s",iName,id,gMessage);
new BMessage[30];
format(BMessage,sizeof(BMessage),"ABAN: %s",gMessage);
BanEx(id, BMessage);
return 1;
}
else {
SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/Ban:You arent an admin,Bitch.");
return 1;
}
}
return 1;
}
cmd(Help,playerid, params[])
{
SendClientMessage(playerid,COLOR_WHITE,""#COL_LOGIN"» /Commands");
return 1;
}
cmd(Commands,playerid, params[])
{
SendClientMessage(playerid,COLOR_WHITE,""#COL_LOGIN"» ---/Help---/About---/Kill");
return 1;
}
cmd(About,playerid, params[])
{
//Sends ABOUT messages to playerid
return 1;
}
cmd(RestartServer,playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new thunameh[30];
GetPlayerName(playerid,thunameh,sizeof(thunameh));
new RestartMSG[140];
format(RestartMSG,sizeof(RestartMSG), "Admin %s(%d) Has restarted the server!",thunameh,playerid);
printf("WARNING,%s has Restarted the server!",thunameh,playerid);
SendClientMessageToAll(ADMINFS_MESSAGE_COLOR,RestartMSG);
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Kills",PlayerInfo[playerid][Kills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][Deaths]);
INI_WriteInt(File,"Adminlevel",PlayerInfo[playerid][Adminlevel]);
INI_Close(File);
SendClientMessageToAll(COLOR_RED, "SERVER IS NOW RESTARTING");
GameTextForAll("Server Restarting",3000,0);
SendRconCommand("gmx");
return 1;
}
else return 0;
}
cmd(Respawnallvehicles,playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new RESPMSG[170];
new Adminame[24];
GetPlayerName(playerid, Adminame, sizeof(Adminame));
format(RESPMSG,sizeof(RESPMSG),"Admin %s(%d) Has Respaned all vehicles!",Adminame,playerid);
SendClientMessageToAll(COLOR_RED,RESPMSG);
for(new i = 0; i < MAX_VEHICLES; i++)
{
SetVehicleToRespawn(i);
}
return 1;
}
else return 0;
}
#include <a_samp> #include <zcmd> #define YSI_IS_SERVER #include <YSI\y_master> #include <YSI\y_ini> #include <sscanf2> #include <streamer> //A fuckload of color defines down below
CMD:test(playerid, params[])
{
// Here your command fex. SendClientMessage...
return 1;
}
cmd(Help,playerid, params[])
{
SendClientMessage(playerid,COLOR_WHITE,""#COL_LOGIN"» /Commands");
return 1;
}
|
Already see it - it's like this:
pawn Код:
pawn Код:
|
// Note that the callback thing won't work with OnPlayerCommandText as it has a //different default return to everything else.


