Дата: 03.06.2011, Пятница, 21:05:34 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Автор: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
Quote (Tailer) Автор:Dima_Semenov Наглая ложь, это вырезка с одного забугорного FS 'Armed Body'.
|
Дата: 03.06.2011, Пятница, 21:21:05 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Soup_Mc, А кто написал это скрипт?Добавлено (03.06.2011, 21:21:05) --------------------------------------------- А ну все ясно
|
Дата: 03.06.2011, Пятница, 21:22:01 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 627
Tailer, поправь первый пост (там где автор.)
|
Дата: 03.06.2011, Пятница, 21:28:42 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Поправил
|
Дата: 24.08.2011, Среда, 11:33:42 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 21
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);
Все работает я лично проверял Сделал лично Я
|