Выдать игроку объект

Описание: Готовые команды
Модератор: SJplayer

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 6 мая 2013, 19:11

Выдать игроку объект
Автор: Биляш

phpBB [media]


Скриншоты
Изображение

Изображение

Делалось под RLS

Ко всем new:

Код: Выделить всё

new objectplayerid


В public OnPlayerCommandText

Код: Выделить всё

else if(strcmp(cmd, "/object", true) == 0)
    {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return     SendClientMessage(playerid, COLOR_BLUE, "Используйте команду: {ffffff}/object [PlayerID]");
            objectplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(PlayerInfo[playerid][pAdmin] >= 7)
            {
                if(IsPlayerConnected(objectplayerid))
                {
                    if(objectplayerid != INVALID_PLAYER_ID)
                    {
                        ShowPlayerDialog(playerid,8000,DIALOG_STYLE_LIST,"Выдать объект игроку","[1] - Шляпа курицы\n[2] - Огонек на голову\n[3] - Мигалка на голову\n[4] - Черная маска\n[5] - Бандана №1\n[6] - Бандана №2\n[7] - Бандана №3\n[8] - Бандана №4\n[9] - Бандана №5\n[10] - Маска дракона\n[11] - Лазер на голову\n[12] - Комплект всемогущий\n[13] - Попугай на плечо\n[14] - Яркий свет\n[15] - Большой М4 в руку\n[16] - Пенис\n[17] - Костюм попугая\n[18] - Удалить все объекты","Выбрать","Закрыть");
                    }
                }
            }
    


В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Код: Выделить всё

case 8000:
    {
        if(response)
        {
            switch(listitem)
            {
                case 0:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 2)) RemovePlayerAttachedObject(objectplayerid, 2);
                SetPlayerAttachedObject(objectplayerid,2,19137,2,0.100000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000);
                   format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Шляпа Курицы]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Шляпа Курицы]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                }
                case 1:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 7)) RemovePlayerAttachedObject(objectplayerid, 7);
                   SetPlayerAttachedObject(objectplayerid,7, 19270, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Огонь на голову]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Огонь на голову]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                }
                case 2:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 4)) RemovePlayerAttachedObject(objectplayerid, 4);
                   SetPlayerAttachedObject(objectplayerid,4, 18646, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Мигалка на голову]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Мигалка на голову]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 3:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 7)) RemovePlayerAttachedObject(objectplayerid, 7);
                SetPlayerAttachedObject(objectplayerid,7, 19163, 2, 0.111052, 0.021643, -0.000846, 100.280899, 100.752510, 445.071044, 1.100000, 1.300000, 1.300000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Черная маска]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Черная маска]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 4:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 18915, 2, 0.1, 0.03, -0.005, 90.0, 180.0, 90.0);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Бандана №1]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Бандана №1]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 5:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 18912, 2, 0.1, 0.03, -0.005, 90.0, 180.0, 90.0);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Бандана №2]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Бандана №2]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 6:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 18916, 2, 0.1, 0.03, -0.005, 90.0, 180.0, 90.0);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Бандана №3]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Бандана №3]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 7:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 18917, 2, 0.1, 0.03, -0.005, 90.0, 180.0, 90.0);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Бандана №4]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Бандана №4]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 8:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 18918, 2, 0.1, 0.03, -0.005, 90.0, 180.0, 90.0);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Бандана №5]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Бандана №5]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 9:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 4)) RemovePlayerAttachedObject(objectplayerid, 4);
                SetPlayerAttachedObject(objectplayerid,4, 3528, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 0.100000, 0.100000, 0.100000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Маска Дракона]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Маска Дракона]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 10:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 4)) RemovePlayerAttachedObject(objectplayerid, 4);
                SetPlayerAttachedObject(objectplayerid,4, 18643, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Лазер на голову]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Лазер на голову]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 11:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0) || IsPlayerAttachedObjectSlotUsed(objectplayerid, 1) || IsPlayerAttachedObjectSlotUsed(objectplayerid, 4))
                  {
                RemovePlayerAttachedObject(objectplayerid, 0);
                RemovePlayerAttachedObject(objectplayerid, 1);
                    RemovePlayerAttachedObject(objectplayerid, 4);
                 }
                SetPlayerAttachedObject(objectplayerid,0, 18693, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000);
                SetPlayerAttachedObject(objectplayerid,1, 18693, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000);
                SetPlayerAttachedObject(objectplayerid,4, 18965, 2, 0.111052, 0.021643, -0.000846, 92.280899, 92.752510, 358.071044, 1.200000, 1.283168, 1.200000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Комплект всемогущий]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Комплект всемогущий]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 12:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 7)) RemovePlayerAttachedObject(objectplayerid, 7);
                SetPlayerAttachedObject(objectplayerid,7, 19078, 1, 0.329150, -0.072101, 0.156082, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Попугай на плечо]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Попугай на плечо]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 13:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 7)) RemovePlayerAttachedObject(objectplayerid, 7);
                SetPlayerAttachedObject(objectplayerid,7, 354, 1, 0.329150, -0.072101, 0.156082, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Яркий свет]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Яркий свет]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 14:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 1)) RemovePlayerAttachedObject(objectplayerid, 1);
                SetPlayerAttachedObject(objectplayerid,1, 356, 6, 0.013610, -0.021393, -0.144862, 2.354303, 354.413848, 0.219168, 3.034477, 3.000000, 3.000000);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Большой М4 в руку]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Большой М4 в руку]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 15:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 1)) RemovePlayerAttachedObject(objectplayerid, 1);
                SetPlayerAttachedObject(objectplayerid,1, 19086, 8, -0.049768, -0.014062, -0.108385, 87.458297, 263.478149, 184.123764, 0.622413, 1.041609, 1.012785);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Пенис]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Пенис]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 16:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   if(IsPlayerAttachedObjectSlotUsed(objectplayerid, 0)) RemovePlayerAttachedObject(objectplayerid, 0);
                SetPlayerAttachedObject(objectplayerid,0, 19078, 1, -1.097527, -0.348305, -0.008029, 0.000000, 0.000000, 0.000000, 8.073966, 8.073966, 8.073966);
                format(bilyash1,sizeof(bilyash1),"Администратор %s выдал вам объект [Костюм попугая]",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы выдали объект игроку %s [Костюм попугая]",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                   }
                case 17:
                {
                new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME], bilyash1[128],bilyash2[128];
                GetPlayerName(objectplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                   RemovePlayerAttachedObject(objectplayerid, 0);
                RemovePlayerAttachedObject(objectplayerid, 1);
                RemovePlayerAttachedObject(objectplayerid, 2);
                  RemovePlayerAttachedObject(objectplayerid, 3);
                RemovePlayerAttachedObject(objectplayerid, 4);
                  RemovePlayerAttachedObject(objectplayerid, 5);
                RemovePlayerAttachedObject(objectplayerid, 6);
                RemovePlayerAttachedObject(objectplayerid, 7);
                RemovePlayerAttachedObject(objectplayerid, 8);
                RemovePlayerAttachedObject(objectplayerid, 9);
                  format(bilyash1,sizeof(bilyash1),"Администратор %s удалил все ваши объекты",sendername);
                 format(bilyash2,sizeof(bilyash2),"[Adm] Вы удалили все объекты игроку %s",giveplayer);
                SendClientMessage(objectplayerid, COLOR_BLUE,bilyash1);
                SendClientMessage(playerid, COLOR_BLUE, bilyash2);
                   return 1;
                }
            }
        }
    


В public OnPlayerDisconnect

Код: Выделить всё

    RemovePlayerAttachedObject(playerid, 0);
    RemovePlayerAttachedObject(playerid, 1);
    RemovePlayerAttachedObject(playerid, 2);
    RemovePlayerAttachedObject(playerid, 3);
    RemovePlayerAttachedObject(playerid, 4);
    RemovePlayerAttachedObject(playerid, 5);
    RemovePlayerAttachedObject(playerid, 6);
    RemovePlayerAttachedObject(playerid, 7);
    RemovePlayerAttachedObject(playerid, 8);
    RemovePlayerAttachedObject(playerid, 9); 


Это нужно для того, в случае если игрок отсоедененится от сервера (киком, крэшом, /q...), то после перезахода у него уже не будет объектов, которые ему дал администратор.
[center]i love you [s]mxIni[/s] Mysql[/center]


Вернуться в «Команды»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 8 гостей