[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Pawno-Урок]Оружие на тело
Дата: 03.06.2011, Пятница, 21:05:34 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Автор:yezizhu
Описание: Неиспользуемое оружие будет вешать на тело (ногу,спину,бедро и т.п-Автоматически)

1. Добовляем к #define

Code
static     
        armedbody_pTick[MAX_PLAYERS];


2. Добовляем в public OnPlayerUpdate(playerid)

Code
if(GetTickCount() - armedbody_pTick[playerid] > 113){ //prefix check itter     
            new     
                weaponid[13],weaponammo[13],pArmedWeapon;     
            pArmedWeapon = GetPlayerWeapon(playerid);     
            GetPlayerWeaponData(playerid,1,weaponid[1],weaponammo[1]);     
            GetPlayerWeaponData(playerid,2,weaponid[2],weaponammo[2]);     
            GetPlayerWeaponData(playerid,4,weaponid[4],weaponammo[4]);     
            GetPlayerWeaponData(playerid,5,weaponid[5],weaponammo[5]);     
            GetPlayerWeaponData(playerid,7,weaponid[7],weaponammo[7]);     
            if(weaponid[1] && weaponammo[1] > 0){     
                if(pArmedWeapon != weaponid[1]){     
                    if(!IsPlayerAttachedObjectSlotUsed(playerid,0)){     
                        SetPlayerAttachedObject(playerid,0,G etWe apon Model(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);     
                    }     
                }     
                else {     
                    if(IsPlayerAttachedObjectSlotUsed(playerid,0)){     
                        RemovePlayerAttachedObject(playerid,0) ;     
                    }     
                }     
            }     
            else if(IsPlayerAttachedObjectSlotUsed(playerid,0)){     
                RemovePlayerAttachedObject(playerid,0);     
            }     
            if(weaponid[2] && weaponammo[2] > 0){     
                if(pArmedWeapon != weaponid[2]){     
                    if(!IsPlayerAttachedObjectSlotUsed(playerid,1)){     
                        SetPlayerAttachedObject(playerid,1,G etWe apon Model(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);     
                    }     
                }     
                else {     
                    if(IsPlayerAttachedObjectSlotUsed(playerid,1)){     
                        RemovePlayerAttachedObject(playerid,1) ;     
                    }     
                }     
            }     
            else if(IsPlayerAttachedObjectSlotUsed(playerid,1)){     
                RemovePlayerAttachedObject(playerid,1);     
            }     
            if(weaponid[4] && weaponammo[4] > 0){     
                if(pArmedWeapon != weaponid[4]){     
                    if(!IsPlayerAttachedObjectSlotUsed(playerid,2)){     
                        SetPlayerAttachedObject(playerid,2,G etWe apon Model(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000);     
                    }     
                }     
                else {     
                    if(IsPlayerAttachedObjectSlotUsed(playerid,2)){     
                        RemovePlayerAttachedObject(playerid,2) ;     
                    }     
                }     
            }     
            else if(IsPlayerAttachedObjectSlotUsed(playerid,2)){     
                RemovePlayerAttachedObject(playerid,2);     
            }     
            if(weaponid[5] && weaponammo[5] > 0){     
                if(pArmedWeapon != weaponid[5]){     
                    if(!IsPlayerAttachedObjectSlotUsed(playerid,3)){     
                        SetPlayerAttachedObject(playerid,3,G etWe apon Model(weaponid[5]),1, 0.200000, -0.119999, -0.059999, 0.000000, 206.000000, 0.000000, 1.000000, 1.000000, 1.000000);     
                    }     
                }     
                else {     
                    if(IsPlayerAttachedObjectSlotUsed(playerid,3)){     
                        RemovePlayerAttachedObject(playerid,3) ;     
                    }     
                }     
            }     
            else if(IsPlayerAttachedObjectSlotUsed(playerid,3)){     
                RemovePlayerAttachedObject(playerid,3);     
            }     
            if(weaponid[7] && weaponammo[7] > 0){     
                if(pArmedWeapon != weaponid[7]){     
                    if(!IsPlayerAttachedObjectSlotUsed(playerid,4)){     
                        SetPlayerAttachedObject(playerid,4,G etWe apon Model(weaponid[7]),1,-0.100000, 0.000000, -0.100000, 84.399932, 112.000000, 10.000000, 1.099999, 1.000000, 1.000000);     
                    }     
                }     
                else {     
                    if(IsPlayerAttachedObjectSlotUsed(playerid,4)){     
                        RemovePlayerAttachedObject(playerid,4) ;     
                    }     
                }     
            }     
            else if(IsPlayerAttachedObjectSlotUsed(playerid,4)){     
                RemovePlayerAttachedObject(playerid,4);     
            }     
            armedbody_pTick[playerid] = GetTickCount();     
        }


3. В конец мода добовляем:

Code
stock GetWeaponModel(weaponid)     
{     
        switch(weaponid)     
        {     
            case 1:     
                return 331;     

            case 2..8:     
                return weaponid+331;     

            case 9:     
                return 341;     

            case 10..15:     
                return weaponid+311;     

            case 16..18:     
                return weaponid+326;     

            case 22..29:     
                return weaponid+324;     

            case 30,31:     
                return weaponid+325;     

            case 32:     
                return 372;     

            case 33..45:     
                return weaponid+324;     

            case 46:     
                return 371;     
        }     
        return 0;     
}
Дата: 03.06.2011, Пятница, 21:12:04 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Репутация: 361+
Quote (Tailer)
Автор:Dima_Semenov

Наглая ложь, это вырезка с одного забугорного FS 'Armed Body'.
Дата: 03.06.2011, Пятница, 21:21:05 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Soup_Mc, А кто написал это скрипт?

Добавлено (03.06.2011, 21:21:05)
---------------------------------------------
А ну все ясно :)

Дата: 03.06.2011, Пятница, 21:22:01 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Репутация: 361+
Tailer, поправь первый пост (там где автор.)
Дата: 03.06.2011, Пятница, 21:28:42 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Поправил :)
Дата: 24.08.2011, Среда, 11:33:42 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 21
Репутация: -5+
Code
if(strcmp(cmd, "/shield", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 1)1 Это id Фракции которая может взять щит
{
if(shield[playerid] == 0)
{
SetPlayerAttachedObject(playerid, 1, 18637, 14, 0.0, 0.0, 0.0, 0.0, 180.0, 180.0);
SetPlayerHealth(playerid,300);
shield[playerid] = 1;
}
else
{
RemovePlayerAttachedObject(playerid, 1);
SetPlayerHealth(playerid,50);
shield[playerid] = 0;
}
}
}
return 1;
}

И еще добавьте ко всем new
new shield[MAX_PLAYERS];
Добавлено (22.05.2011, 22:07)
---------------------------------------------
И я еще подредактировал команду
Теперь взять щит можно только в определенном месте это в раздевалке сапд
вот команда /shield -взять щит /unshield-выбросить щит
Code

if(strcmp(cmd, "/shield", true) == 0)
{
if(PlayerToPoint(4.0,playerid,255.3861,76.2448,1003.6406))-кординтаы где можно взять щит
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
if(shield[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы взяли щит что бы его выбросить /unshield!");
SetPlayerAttachedObject(playerid, 1, 18637, 14, 0.0, 0.0, 0.0, 0.0, 180.0, 180.0);
SetPlayerHealth(playerid, 999);
shield[playerid] = 1;
}
}
else
{

SendClientMessage(playerid, COLOR_GREY, "Вы не законник. ");
return 1;
}
return 1;
}
}

И вот команда что бы его выбросить
Code
if(strcmp(cmd, "/unshield", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы выбросили щит!");
RemovePlayerAttachedObject(playerid, 1);
shield[playerid] = 0;
}
return 1;
}

Вот пикап где взять щит
Quote
CreatePickup(1318,23,255.3861,76.2448,1003.6406);

Можите еще добавить 3D текст
Code
CreateDynamic3DTextLabel(" Взять щит /shield ",0xBFF600FF,255.3861,76.2448,1003.6406,20.0);

Все работает я лично проверял
Сделал лично Я
  • Страница 1 из 1
  • 1
Поиск: