Advertisement
Splav

Untitled

Jun 7th, 2012
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.66 KB | None | 0 0
  1. new CreateTextObject[MAX_PLAYERS][10];
  2.  
  3. public OnPlayerDisconnect(playerid, reason)
  4. {
  5.     for(new i; i<10; i++)
  6.     {
  7.         if(CreateTextObject[playerid][i])
  8.         {
  9.             DestroyDynamicObject(CreateTextObject[playerid][i]);
  10.                 CreateTextObject[playerid][i] = 0;
  11.         }
  12.     }
  13.     return 1;
  14. }
  15.  
  16. public OnPlayerCommandText(playerid, cmdtext[])
  17. {
  18.     new cmd[36], params[128];
  19.     sscanf(cmdtext, "s[36]s[156]", cmd, params);
  20.  
  21.     if(!strcmp(cmd, "/write", true))
  22.     {
  23.         if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, 0xAFAFAFAA, "* Вам недоступно");
  24.        
  25.         new Float:pos[3], slot, obID, style[10], size, b, align, textcolor[10], color, text[50], texturesize;
  26.  
  27.         GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  28.         if(sscanf(params, "dds[10]dddds[10]ds[50]", slot, obID, style, size, texturesize, b, align, textcolor, color, text)) return SendClientMessage(playerid, 0xAFAFAFAA, "* /write [ID слота (0-9)][ID объекта][Шрифт][Размер (1-300)][Текстура (10-140)][Жирность (0-1)][Выравнивание (1-3)][Цвет текста][Цвет фона][Текст]");
  29.  
  30.         if(CreateTextObject[playerid][slot]) return SendClientMessage(playerid, 0xAFAFAFAA, "Данный слот занят. Выберите другой слот или очистите текущий - /unwrite");
  31.         if(!strcmp(style, "Arial", true) || !strcmp(style, "Calibri", true) || !strcmp(style, "Tahoma", true) || !strcmp(style, "Verdana", true))
  32.         {
  33.             if(obID < 19475 || obID > 19483) return SendClientMessage(playerid, 0xAFAFAFAA, "Допустимые ID объектов: от 19475 до 19483!");
  34.             if(size < 1 || size > 300) return SendClientMessage(playerid, 0xAFAFAFAA, "Размер должен быть от 1 до 300!");
  35.             if(b < 0 || b > 1) return SendClientMessage(playerid, 0xAFAFAFAA, "Жирность должна быть 0 (нет) или 1 (есть)!");
  36.             if(align < 0 || align > 2) return SendClientMessage(playerid, 0xAFAFAFAA, "Выравнивания: 0 [лево], 1 [центр], 2 [право]!");
  37.             if(strlen(text) > 50) return SendClientMessage(playerid, 0xAFAFAFAA, "Текст не более 50 символов!");
  38.  
  39.             new str[65];
  40.             format(str, sizeof(str), "{%s}%s", textcolor, text);
  41.             CreateTextObject[playerid][slot] = CreateDynamicObject(obID, pos[0], pos[1]+2, pos[2], 0.0, 0.0, 0.0);
  42.             SetDynamicObjectMaterialText(CreateTextObject[playerid][slot], 0, str, texturesize,\
  43.                 style, size, b, 0xFFFFFFFF, color, align);
  44.         }
  45.         else return SendClientMessage(playerid, 0xAFAFAFAA, "Доступные шрифты: Arial, Calibri, Tahoma, Verdana");
  46.         return 1;
  47.     }
  48.    
  49.     if(!strcmp(cmd, "/editwrite", true))
  50.     {
  51.         if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, 0xAFAFAFAA, "* Вам недоступно");
  52.        
  53.         new slot;
  54.  
  55.         tmp = strtok(cmdtext, idx);
  56.         if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /editwhite [Слот (0-9)]");
  57.         slot = strval(tmp);
  58.  
  59.         if(CreateTextObject[playerid][slot])
  60.             EditDynamicObject(playerid, CreateTextObject[playerid][slot]);
  61.         return 1;
  62.     }
  63.    
  64.     if(!strcmp(cmd, "/unwrite", true))
  65.     {
  66.         if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, 0xAFAFAFAA, "* Вам недоступно");
  67.  
  68.         new slot;
  69.  
  70.         tmp = strtok(cmdtext, idx);
  71.         if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /unwrite [Слот (0-9)]");
  72.         slot = strval(tmp);
  73.        
  74.         if(CreateTextObject[playerid][slot])
  75.         {
  76.             DestroyDynamicObject(CreateTextObject[playerid][slot]);
  77.             CreateTextObject[playerid][slot] = 0;
  78.         }
  79.         return 1;
  80.     }
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement