• Страница 1 из 1
  • 1
Модератор форума: drifter-dron, admin, TweIk  
Помоги сделать команду /pm и /spec/
АлександрДата: Среда, 20.07.2011, 22:53:35 | Сообщение # 1

Группа: Пользователи
Сообщений: 298
Доброго времени суток.

Примерно месяц назад я решил сделать свой сервере самп.

Ну мод скачал ТДМ (т.к еще мало знал в ПАВНО)...

Потом его полностью переделал...

Сделал админку по уроку..и т.д..

И столкнулся с проблемой..

Мне нужны 2 команды на сервер:

/pm (личные сообщения)
/spec (админ команда для слежки за игроком)

(/pm НЕ В ДИАЛОГОВОМ ОКНЕ! просто вот так: /pm ID текст)

Может у кого есть эти команды.. Напиши пожалуйста.

P.S: по форуму лазил, нечего нужного ненашёл...
P.S.S: мод у меня ТДМ (повторяюсь :)


Dimka_71rus,[east_side]_trane,и конечноже Я...

Запомните этих великих флудеров, офтоперов, и просто самых самых :D


Сообщение отредактировал Александр - Среда, 20.07.2011, 23:19:35
 
СообщениеДоброго времени суток.

Примерно месяц назад я решил сделать свой сервере самп.

Ну мод скачал ТДМ (т.к еще мало знал в ПАВНО)...

Потом его полностью переделал...

Сделал админку по уроку..и т.д..

И столкнулся с проблемой..

Мне нужны 2 команды на сервер:

/pm (личные сообщения)
/spec (админ команда для слежки за игроком)

(/pm НЕ В ДИАЛОГОВОМ ОКНЕ! просто вот так: /pm ID текст)

Может у кого есть эти команды.. Напиши пожалуйста.

P.S: по форуму лазил, нечего нужного ненашёл...
P.S.S: мод у меня ТДМ (повторяюсь :)

Автор - Александр
Дата добавления - 20.07.2011 в 22:53:35
adminДата: Четверг, 21.07.2011, 02:57:48 | Сообщение # 2

Группа: Администраторы
Сообщений: 3869
Александр, добавляешь себе в мод функцию:
Code
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;
}

Это функция для того чтоб-бы админы могли читать сообщения(RCON ADMIN)
дальше находишь:
Code
public OnPlayerCommandText

туда вставишь саму команду:
Code
    if(strcmp("/pm", cmd, true) == 0)
     {
     tmp = strtok(cmdtext,idx);

     if(!strlen(tmp) || strlen(tmp) > 5) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщения)");
      return 1;
     }

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

     if(!strlen(gMessage)) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (Сообщения)");
      return 1;
     }

     if(!IsPlayerConnected(id)) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Неверный ID");
      return 1;
     }

     if(playerid != id) {
      GetPlayerName(id,iName,sizeof(iName));
      GetPlayerName(playerid,pppName,sizeof(pppName));
      format(Message,sizeof(Message),"Лс отправлено %s(%d): %s",iName,id,gMessage);
      SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
      format(Message,sizeof(Message),"Лс от %s(%d): %s",pppName,playerid,gMessage);
      SendClientMessage(id,PM_INCOMING_COLOR,Message);
      PlayerPlaySound(id,1085,0.0,0.0,0.0);

      printf("PM: %s",Message);
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         if(IsPlayerAdmin(i))
         {
      format(string, sizeof(string), "Лс отправлено от %s ê %s : %s", pppName, iName, gMessage);
      SendClientMessage(i,COLOR_GREEN, string);
      }
      }

     }
     else {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Вы не можете себе отправлять (ЛС)");
     }
     return 1;
    }


После этого верху мода:
Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499
#define PM_INCOMING_COLOR     0xFFFF22AA
#define PM_OUTGOING_COLOR     0xFFCC2299

это у нас цвета!
Потом еще добавляешь функцию:
Code
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
  if(IsPlayerConnected(playerid))
  {
   new Float:posx, Float:posy, Float:posz;
   new Float:oldposx, Float:oldposy, Float:oldposz;
   new Float:tempposx, Float:tempposy, Float:tempposz;
   GetPlayerPos(playerid, oldposx, oldposy, oldposz);
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
    if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
    {
     if(!BigEar[i])
     {
      GetPlayerPos(i, posx, posy, posz);
      tempposx = (oldposx -posx);
      tempposy = (oldposy -posy);
      tempposz = (oldposz -posz);
      if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
      {
       SendClientMessage(i, col1, string);
      }
      else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
      {
       SendClientMessage(i, col2, string);
      }
      else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
      {
       SendClientMessage(i, col3, string);
      }
      else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
      {
       SendClientMessage(i, col4, string);
      }
      else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
      {
       SendClientMessage(i, col5, string);
      }
     }
     else
     {
      SendClientMessage(i, col1, string);
     }
    }
   }
  }
  return 1;
}

потом верху мода вставишь переменные:
Code
new iName[MAX_PLAYER_NAME+1];
new gMessage[256];
new pppName[MAX_PLAYER_NAME+1];
new Message[256];

ну а вот сам FS беру с оф.сайта sa-mp.com слежка за игроками!
Code
#pragma tabsize 0
#include <a_samp>
#include <core>
#include <float>

#include "../include/gl_common.inc"

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFFF

//------------------------------------------------------------------------------------------------------

#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2

new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];

//------------------------------------------------------------------------------------------------------

public OnFilterScriptInit()
{
}

//------------------------------------------------------------------------------------------------------

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
  // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE
  // TO CHANGE THEIR INTERIOR ID TO MATCH
  new x = 0;
  while(x!=MAX_PLAYERS) {
      if( IsPlayerConnected(x) &&    GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
    gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
      {
          SetPlayerInterior(x,newinteriorid);
   }
   x++;
  }
}

//------------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
  new cmd[256];
  new specplayerid, specvehicleid, idx;

  // WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT
  if(!IsPlayerAdmin(playerid)) return 0;

  cmd = strtok(cmdtext, idx);

  // SPECTATE A PLAYER
   if(strcmp(cmd, "/specplayer", true) == 0) {
      new tmp[256];
   tmp = strtok(cmdtext, idx);

   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]");
    return 1;
   }
   specplayerid = strval(tmp);
    
   if(!IsPlayerConnected(specplayerid)) {
       SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active.");
    return 1;
   }
    
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, specplayerid);
   SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
   gSpectateID[playerid] = specplayerid;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
    
    return 1;
  }

  // SPECTATE A VEHICLE
   if(strcmp(cmd, "/specvehicle", true) == 0) {
      new tmp[256];
   tmp = strtok(cmdtext, idx);

   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]");
    return 1;
   }
   specvehicleid = strval(tmp);
    
   if(specvehicleid < MAX_VEHICLES) {
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, specvehicleid);
    gSpectateID[playerid] = specvehicleid;
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
   }
    return 1;
  }

  // STOP SPECTATING
   if(strcmp(cmd, "/specoff", true) == 0) {
   TogglePlayerSpectating(playerid, 0);
   gSpectateID[playerid] = INVALID_PLAYER_ID;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
   return 1;
  }

  return 0;
}

думаю разберешься куда что вставлять))на счет слежки и пм)


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеАлександр, добавляешь себе в мод функцию:
Code
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;
}

Это функция для того чтоб-бы админы могли читать сообщения(RCON ADMIN)
дальше находишь:
Code
public OnPlayerCommandText

туда вставишь саму команду:
Code
    if(strcmp("/pm", cmd, true) == 0)
     {
     tmp = strtok(cmdtext,idx);

     if(!strlen(tmp) || strlen(tmp) > 5) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщения)");
      return 1;
     }

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

     if(!strlen(gMessage)) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (Сообщения)");
      return 1;
     }

     if(!IsPlayerConnected(id)) {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Неверный ID");
      return 1;
     }

     if(playerid != id) {
      GetPlayerName(id,iName,sizeof(iName));
      GetPlayerName(playerid,pppName,sizeof(pppName));
      format(Message,sizeof(Message),"Лс отправлено %s(%d): %s",iName,id,gMessage);
      SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
      format(Message,sizeof(Message),"Лс от %s(%d): %s",pppName,playerid,gMessage);
      SendClientMessage(id,PM_INCOMING_COLOR,Message);
      PlayerPlaySound(id,1085,0.0,0.0,0.0);

      printf("PM: %s",Message);
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         if(IsPlayerAdmin(i))
         {
      format(string, sizeof(string), "Лс отправлено от %s ê %s : %s", pppName, iName, gMessage);
      SendClientMessage(i,COLOR_GREEN, string);
      }
      }

     }
     else {
      SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Вы не можете себе отправлять (ЛС)");
     }
     return 1;
    }


После этого верху мода:
Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499
#define PM_INCOMING_COLOR     0xFFFF22AA
#define PM_OUTGOING_COLOR     0xFFCC2299

это у нас цвета!
Потом еще добавляешь функцию:
Code
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
  if(IsPlayerConnected(playerid))
  {
   new Float:posx, Float:posy, Float:posz;
   new Float:oldposx, Float:oldposy, Float:oldposz;
   new Float:tempposx, Float:tempposy, Float:tempposz;
   GetPlayerPos(playerid, oldposx, oldposy, oldposz);
   for(new i = 0; i < MAX_PLAYERS; i++)
   {
    if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
    {
     if(!BigEar[i])
     {
      GetPlayerPos(i, posx, posy, posz);
      tempposx = (oldposx -posx);
      tempposy = (oldposy -posy);
      tempposz = (oldposz -posz);
      if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
      {
       SendClientMessage(i, col1, string);
      }
      else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
      {
       SendClientMessage(i, col2, string);
      }
      else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
      {
       SendClientMessage(i, col3, string);
      }
      else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
      {
       SendClientMessage(i, col4, string);
      }
      else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
      {
       SendClientMessage(i, col5, string);
      }
     }
     else
     {
      SendClientMessage(i, col1, string);
     }
    }
   }
  }
  return 1;
}

потом верху мода вставишь переменные:
Code
new iName[MAX_PLAYER_NAME+1];
new gMessage[256];
new pppName[MAX_PLAYER_NAME+1];
new Message[256];

ну а вот сам FS беру с оф.сайта sa-mp.com слежка за игроками!
Code
#pragma tabsize 0
#include <a_samp>
#include <core>
#include <float>

#include "../include/gl_common.inc"

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFFF

//------------------------------------------------------------------------------------------------------

#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2

new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];

//------------------------------------------------------------------------------------------------------

public OnFilterScriptInit()
{
}

//------------------------------------------------------------------------------------------------------

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
  // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE
  // TO CHANGE THEIR INTERIOR ID TO MATCH
  new x = 0;
  while(x!=MAX_PLAYERS) {
      if( IsPlayerConnected(x) &&    GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
    gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
      {
          SetPlayerInterior(x,newinteriorid);
   }
   x++;
  }
}

//------------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
  new cmd[256];
  new specplayerid, specvehicleid, idx;

  // WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT
  if(!IsPlayerAdmin(playerid)) return 0;

  cmd = strtok(cmdtext, idx);

  // SPECTATE A PLAYER
   if(strcmp(cmd, "/specplayer", true) == 0) {
      new tmp[256];
   tmp = strtok(cmdtext, idx);

   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]");
    return 1;
   }
   specplayerid = strval(tmp);
    
   if(!IsPlayerConnected(specplayerid)) {
       SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active.");
    return 1;
   }
    
   TogglePlayerSpectating(playerid, 1);
   PlayerSpectatePlayer(playerid, specplayerid);
   SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
   gSpectateID[playerid] = specplayerid;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
    
    return 1;
  }

  // SPECTATE A VEHICLE
   if(strcmp(cmd, "/specvehicle", true) == 0) {
      new tmp[256];
   tmp = strtok(cmdtext, idx);

   if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]");
    return 1;
   }
   specvehicleid = strval(tmp);
    
   if(specvehicleid < MAX_VEHICLES) {
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, specvehicleid);
    gSpectateID[playerid] = specvehicleid;
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
   }
    return 1;
  }

  // STOP SPECTATING
   if(strcmp(cmd, "/specoff", true) == 0) {
   TogglePlayerSpectating(playerid, 0);
   gSpectateID[playerid] = INVALID_PLAYER_ID;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
   return 1;
  }

  return 0;
}

думаю разберешься куда что вставлять))на счет слежки и пм)

Автор - admin
Дата добавления - 21.07.2011 в 02:57:48
drifter-dronДата: Четверг, 21.07.2011, 09:26:37 | Сообщение # 3

Группа: Пользователи
Сообщений: 477
drunk какой то запудренный код :D хотя поф) я его всё равно не собираюсь ставить))

Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщениеdrunk какой то запудренный код :D хотя поф) я его всё равно не собираюсь ставить))

Автор - drifter-dron
Дата добавления - 21.07.2011 в 09:26:37
adminДата: Четверг, 21.07.2011, 09:42:23 | Сообщение # 4

Группа: Администраторы
Сообщений: 3869
drifter-dron, чем он тебе не нравится?


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщениеdrifter-dron, чем он тебе не нравится?

Автор - admin
Дата добавления - 21.07.2011 в 09:42:23
drifter-dronДата: Четверг, 21.07.2011, 09:44:17 | Сообщение # 5

Группа: Пользователи
Сообщений: 477
admin, я не говорю что гне нравится, прост он какой то мне не очень понятный) да пофиг в принципе))

Пишу любые несложные скрипты))
Обращайтесь..
Цена: от 10 рублей))
 
Сообщениеadmin, я не говорю что гне нравится, прост он какой то мне не очень понятный) да пофиг в принципе))

Автор - drifter-dron
Дата добавления - 21.07.2011 в 09:44:17
АлександрДата: Четверг, 21.07.2011, 11:53:54 | Сообщение # 6

Группа: Пользователи
Сообщений: 298
Спасибо большое :)
Только я попроще нашол урок :)
(по твоему сделал кучу предупр. и ошибок выдал)

Вот попонятней и по легче урок (вдруг кому тоже надо):

В начало мада добавляете:

Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499     
#define PM_INCOMING_COLOR     0xFFFF22AA     
#define PM_OUTGOING_COLOR     0xFFCC2299


В OnPlayerCommandtext

Вставляете:

Code
new Message[256];     
new gMessage[256];     
new pName[MAX_PLAYER_NAME+1];     
new iName[MAX_PLAYER_NAME+1];


А потом и саму команду!

Code
if(strcmp("/pm", cmd, true) == 0)     
       {     
        tmp = strtok(cmdtext,idx);     

        if(!strlen(tmp) || strlen(tmp) > 5) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)");     
         return 1;     
        }     

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

        if(!strlen(gMessage)) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)");     
         return 1;     
        }     

        if(!IsPlayerConnected(id)) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Hеправильный 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);     
               for(new i = 0; i < MAX_PLAYERS; i++)     
         {     
            if(IsPlayerAdmin(i))     
            {     
            format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage);     
         SendClientMessage(i,COLOR_GREEN, string);     
         }     
         }     

        }     
        else {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Ты не можешь отсылать себе ЛС");     
        }     
        return 1;     
       }


Вот это:
Code

for(new i = 0; i < MAX_PLAYERS; i++)     
         {     
            if(IsPlayerAdmin(i))     
            {     
            format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage);     
         SendClientMessage(i,COLOR_GREEN, string);     
         }     
         }


Отправляет сообщение кто кому что по личке прислал!
Ну к римеру пишу я:
Code
/pm 1 привет Russs 

у админа будет такая фишка:

Code
ЛС отправлено от Nexotronix к RUSSS: привет Russs
[/code]

Автор: Nexotronix

_______________________
Админ ты неможеш мне просто [FS] слежки дать? а то я чет нечо непонял из твоего урока :D
Либо можеш обяснить как сделать слежку, только попонятней :)

Заранне спасибо :)


Dimka_71rus,[east_side]_trane,и конечноже Я...

Запомните этих великих флудеров, офтоперов, и просто самых самых :D


Сообщение отредактировал Александр - Четверг, 21.07.2011, 12:02:15
 
СообщениеСпасибо большое :)
Только я попроще нашол урок :)
(по твоему сделал кучу предупр. и ошибок выдал)

Вот попонятней и по легче урок (вдруг кому тоже надо):

В начало мада добавляете:

Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499     
#define PM_INCOMING_COLOR     0xFFFF22AA     
#define PM_OUTGOING_COLOR     0xFFCC2299


В OnPlayerCommandtext

Вставляете:

Code
new Message[256];     
new gMessage[256];     
new pName[MAX_PLAYER_NAME+1];     
new iName[MAX_PLAYER_NAME+1];


А потом и саму команду!

Code
if(strcmp("/pm", cmd, true) == 0)     
       {     
        tmp = strtok(cmdtext,idx);     

        if(!strlen(tmp) || strlen(tmp) > 5) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)");     
         return 1;     
        }     

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

        if(!strlen(gMessage)) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)");     
         return 1;     
        }     

        if(!IsPlayerConnected(id)) {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Hеправильный 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);     
               for(new i = 0; i < MAX_PLAYERS; i++)     
         {     
            if(IsPlayerAdmin(i))     
            {     
            format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage);     
         SendClientMessage(i,COLOR_GREEN, string);     
         }     
         }     

        }     
        else {     
         SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Ты не можешь отсылать себе ЛС");     
        }     
        return 1;     
       }


Вот это:
Code

for(new i = 0; i < MAX_PLAYERS; i++)     
         {     
            if(IsPlayerAdmin(i))     
            {     
            format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage);     
         SendClientMessage(i,COLOR_GREEN, string);     
         }     
         }


Отправляет сообщение кто кому что по личке прислал!
Ну к римеру пишу я:
Code
/pm 1 привет Russs 

у админа будет такая фишка:

Code
ЛС отправлено от Nexotronix к RUSSS: привет Russs
[/code]

Автор: Nexotronix

_______________________
Админ ты неможеш мне просто [FS] слежки дать? а то я чет нечо непонял из твоего урока :D
Либо можеш обяснить как сделать слежку, только попонятней :)

Заранне спасибо :)

Автор - Александр
Дата добавления - 21.07.2011 в 11:53:54
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

ps798829

(Среда 08:23:47)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

Вверх
10:37:55
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2026

vkontakte :samp-pawno.ru: