SA-MP Forums Archive
/o or /ooc help - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: /o or /ooc help (/showthread.php?tid=131147)



/o or /ooc help - RoneyRemington - 01.03.2010



Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
		new cmd[256];
		new	tmp[256];
		new Message[256];
		new gMessage[256];
		new pName[MAX_PLAYER_NAME+1];
		new iName[MAX_PLAYER_NAME+1];
		new	idx;
		new string[256];
	  	new playermoney;
	  	new sendername[MAX_PLAYER_NAME];
	  	new giveplayer[MAX_PLAYER_NAME];
	  	new playername[MAX_PLAYER_NAME];

		cmd = strtok(cmdtext, idx);

  	if(strcmp(cmd, "/ooc", true,4) == 0 || strcmp(cmd, "/o", true,2) == 0)
    {
    new space=strfind(cmdtext," ");
    if(!strlen(cmdtext[space])||(space==-1))return SendClientMessage(playerid, COLOR_GREEN, "USAGE: (/o)oc [ooc chat]");
    format(string, sizeof(string), "(( %s: %s ))", sendername, cmdtext[space]);
    printf("%s", cmdtext[space]);
    return 1;
  }
  	if(strcmp("/pm", cmd, true) == 0)
	{
		tmp = strtok(cmdtext,idx);

		if(!strlen(tmp) || strlen(tmp) > 5) {
			SendClientMessage(playerid,COLOR_GREEN,"Usage: /pm (id) (message)");
			return 1;
		}

		new id = strval(tmp);
    gMessage = strrest(cmdtext,idx);

		if(!strlen(gMessage)) {
			SendClientMessage(playerid,COLOR_GREEN,"Usage: /pm (id) (message)");
			return 1;
		}

		if(!IsPlayerConnected(id)) {
			SendClientMessage(playerid,COLOR_RED,"/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,COLOR_ORANGE,Message);
			format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
			SendClientMessage(id,COLOR_PURPLE,Message);
			PlayerPlaySound(id,1085,0.0,0.0,0.0);

			printf("PM: %s",Message);

		}
		else {
			SendClientMessage(playerid,COLOR_RED,"You cannot PM yourself");
		}
		return 1;
	}
  return 0;
}

stock strrest(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}
	new offset = index;
	new result[128];
	while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
doesnt work. the /o or /ooc?


Re: /o - RoneyRemington - 01.03.2010

anyone?


Re: /o or /ooc help - RoneyRemington - 01.03.2010

please


Re: /o or /ooc help - Nandonalt - 01.03.2010

Huh, you were using print(Message goes on the Console), and you not called the string you formated. This works.
Код:
if(strcmp(cmd, "/ooc", true,4) == 0 || strcmp(cmd, "/o", true,2) == 0)
    {
    new string[256], sendername[MAX_PLAYER_NAME+1];
    new space=strfind(cmdtext," ");
    GetPlayerName(playerid,sendername,sizeof(sendername));
    if(!strlen(cmdtext[space])||(space==-1))return SendClientMessage(playerid, COLOR_GREEN, "USAGE: (/o)oc [ooc chat]");
    format(string, sizeof(string), "(( %s:%s ))", sendername, cmdtext[space]);
    SendClientMessageToAll(COLOR_GREEN,string);
    return 1;
    }