05.04.2012, 04:19
Can someone make me a /pm that will accept the ID or the name when PM'ing someone? I also DON'T want it to be a pop up box. I just want it to be in the chat text box. I want the incoming messages and the outgoing messages to be yellow. Here's something I have already but it won't let me use the username. If I type in a username, it automatically counts it as ID 0 and it says I can't PM myself. My already made code:
Код:
#include <a_samp> #include "../include/gl_common.inc" #define COLOR_YELLOW 0xFFFF00AA //------------------------------------------------ public OnFilterScriptInit() { print("Private Message Script Loaded"); return 1; } //------------------------------------------------ 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; cmd = strtok(cmdtext, idx); // PM Command if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (ID) (message)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (ID) (message)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,COLOR_YELLOW,"/pm : You Entered a Wrong ID!"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pName,sizeof(pName)); format(Message,sizeof(Message),"PM Sent to %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,COLOR_YELLOW,Message); format(Message,sizeof(Message),"PM From %s(%d): %s",pName,playerid,gMessage); SendClientMessage(id,COLOR_YELLOW,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); } else { SendClientMessage(playerid,COLOR_YELLOW,"You Cannot Private Message Yourself."); } return 1; } return 0; }