Advertisement
Splav

Untitled

Jun 7th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.03 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(slot < 0 || slot > 9) return SendClientMessage(playerid, 0xAFAFAFAA, "Допустимые слоты: от 0 до 9!");
  34.             if(obID < 19475 || obID > 19483) return SendClientMessage(playerid, 0xAFAFAFAA, "Допустимые ID объектов: от 19475 до 19483!");
  35.             if(size < 1 || size > 300) return SendClientMessage(playerid, 0xAFAFAFAA, "Размер должен быть от 1 до 300!");
  36.             if(b < 0 || b > 1) return SendClientMessage(playerid, 0xAFAFAFAA, "Жирность должна быть 0 (нет) или 1 (есть)!");
  37.             if(align < 0 || align > 2) return SendClientMessage(playerid, 0xAFAFAFAA, "Выравнивания: 0 [лево], 1 [центр], 2 [право]!");
  38.             if(strlen(text) > 50) return SendClientMessage(playerid, 0xAFAFAFAA, "Текст не более 50 символов!");
  39.  
  40.             new str[65];
  41.             format(str, sizeof(str), "{%s}%s", textcolor, text);
  42.             CreateTextObject[playerid][slot] = CreateDynamicObject(obID, pos[0], pos[1]+2, pos[2], 0.0, 0.0, 0.0);
  43.             SetDynamicObjectMaterialText(CreateTextObject[playerid][slot], 0, str, texturesize,\
  44.                 style, size, b, 0xFFFFFFFF, color, align);
  45.         }
  46.         else return SendClientMessage(playerid, 0xAFAFAFAA, "Доступные шрифты: Arial, Calibri, Tahoma, Verdana");
  47.         return 1;
  48.     }
  49.    
  50.     if(!strcmp(cmd, "/editwrite", true))
  51.     {
  52.         if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, 0xAFAFAFAA, "* Вам недоступно");
  53.        
  54.         new slot;
  55.  
  56.         tmp = strtok(cmdtext, idx);
  57.         if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /editwhite [Слот (0-9)]");
  58.         slot = strval(tmp);
  59.         if(slot < 0 || slot > 9) return SendClientMessage(playerid, 0xAFAFAFAA, "Допустимые слоты: от 0 до 9!");
  60.  
  61.         if(CreateTextObject[playerid][slot])
  62.             EditDynamicObject(playerid, CreateTextObject[playerid][slot]);
  63.         return 1;
  64.     }
  65.    
  66.     if(!strcmp(cmd, "/unwrite", true))
  67.     {
  68.         if(PlayerInfo[playerid][pAdmin] < 9) return SendClientMessage(playerid, 0xAFAFAFAA, "* Вам недоступно");
  69.  
  70.         new slot;
  71.  
  72.         tmp = strtok(cmdtext, idx);
  73.         if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "Используйте: /unwrite [Слот (0-9)]");
  74.         slot = strval(tmp);
  75.         if(slot < 0 || slot > 9) return SendClientMessage(playerid, 0xAFAFAFAA, "Допустимые слоты: от 0 до 9!");
  76.         if(CreateTextObject[playerid][slot])
  77.         {
  78.             DestroyDynamicObject(CreateTextObject[playerid][slot]);
  79.             CreateTextObject[playerid][slot] = 0;
  80.         }
  81.         return 1;
  82.     }
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement