Дмитрий |
Дата: Понедельник, 03.11.2014, 23:27 | Сообщение # 1 | Сообщить о нерабочей теме
|
Регистрация: | 03.12.2011
|
Страна: | Российская Федерация |
Репутация: |
14
|
Сообщений: | 1421 |
Награды: |
4
+
|
Статус: |
|
| Добрый день , вот решил выложить Интересную систему с 0 Автор : -Merlin-
Приступим.
К new добавим. Код new GunObjects[47] = { 0,331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,0,0,0, 346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362, 363,364,365,366,367,368,368,371 }; new Gun_name[47][] = { "Кастет", "Гольф клюшка", "Дубинка", "Нож", "Бита", "Лопата", "Кий", "Катана", "Katana", "Бензо пила", "Фалоэмитатор", "Фалоэмитатор", "Фалоэмитатор", "Вибратор", "Цветы", "Трость", "Взрывная граната", "Дымовая граната", "Коктель молотова","Error","Error","Error", "9mm", "Пистолет с глушителем", "Дигл", "Дробовик", "Обрез", "Дробовик", "Микро узи", "MP5", "AK-47", "M4", "Узи", "Рифл", "Снайперская винтовка", "Гранатомёт", "Гранатом", "Огнемёт", "Восьмистволка", "Липкая бомба", "Детонатор", "Спрей", "Огнетушитель", "Фотоаппарат", "Очки ночного виденья", "Очки ночного виденья", "Парашут" }; enum GunEnum { Float:Ob_Pos[3], obI_jD, Ob_Dta[2] }; new GunInfo[MAX_O][GunEnum]; new msg[256];
в enum pInfo Код pGun[13], pGunAmmo[13], pAbletoGun,
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) Код if(newkeys == KEY_YES) { if((GetTickCount() - GetPVarInt(playerid,"Floodgun")) <= 2000) { SCM(playerid,COLOR_GREY,"Пожалуйста не флудите , уйдите на 1 метр."); return 0; } SetPVarInt(playerid,"Floodgun",GetTickCount()); if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1; new GunIDEx = GetPlayerWeapon(playerid); new GunAmmoEx = GetPlayerAmmo(playerid); if(GunIDEx > 0 && GunAmmoEx != 0) { new f = MAX_O+1; for(new a = 0; a < MAX_O; a++) { if(GunInfo[a][Ob_Pos][0] == 0.0) { f = a; break; } } RemovePlayerWeapon(playerid, GunIDEx); GunInfo[f][Ob_Dta][0] = GunIDEx; GunInfo[f][Ob_Dta][1] = GunAmmoEx; GetPlayerPos(playerid, GunInfo[f][Ob_Pos][0], GunInfo[f][Ob_Pos][1], GunInfo[f][Ob_Pos][2]); GunInfo[f][obI_jD] = CreateObject(GunObjects[GunIDEx], GunInfo[f][Ob_Pos][0], GunInfo[f][Ob_Pos][1], GunInfo[f][Ob_Pos][2]-1, 93.7, 120.0, 120.0); format(msg, 60, "[Оружие]: Было выкинута | {ffffff}%s", Gun_name[GunInfo[f][Ob_Dta][0]]); SCM(playerid, COLOR_TEXT, msg); return true; } } else if(newkeys == KEY_NO) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1; for(new a = 0; a < MAX_O; a++) { if(IsPlayerInRangeOfPoint(playerid, 1.5, GunInfo[a][Ob_Pos][0], GunInfo[a][Ob_Pos][1], GunInfo[a][Ob_Pos][2])) { if((GetTickCount() - GetPVarInt(playerid,"Floodgun")) <= 2000) { SCM(playerid,COLOR_GREY,"Пожалуйста не флудите , уйдите на 1 метр."); return 0; } SetPVarInt(playerid,"Floodgun",GetTickCount()); DestroyObject(GunInfo[a][obI_jD]); GivePlayerWeapon(playerid, GunInfo[a][Ob_Dta][0], GunInfo[a][Ob_Dta][1]); GunInfo[a][Ob_Dta][1] = 0; GunInfo[a][Ob_Pos][0] = 0.0; GunInfo[a][Ob_Pos][1] = 0.0; GunInfo[a][Ob_Pos][2] = 0.0; GunInfo[a][obI_jD] = -1; format(msg, 60, "[Оружие]: Было подобранно | {ffffff}%s", Gun_name[GunInfo[a][Ob_Dta][0]]); SCM(playerid, COLOR_TEXT, msg); GunInfo[a][Ob_Dta][0] = 0; } } return true; }
В конце мода -> Код forward RemovePlayerWeapon(playerid, weaponid); public RemovePlayerWeapon(playerid, weaponid) { new plyWeapons[12] = 0; new plyAmmo[12] = 0; for(new slot = 0; slot != 12; slot++) { new wep, ammo; GetPlayerWeaponData(playerid, slot, wep, ammo);
if(wep != weaponid && ammo != 0) { GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]); } } ResetPlayerWeaponEx(playerid); for(new slot = 0; slot != 12; slot++) { if(plyAmmo[slot] != 0) { GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]); } } return true; } stock ResetPlayerWeaponEx(playerid) { PlayerInfo[playerid][pAbletoGun] = 2; ResetPlayerWeapons(playerid); for(new i = 0; i < 13; i++) { PlayerInfo[playerid][pGun][i] = 0; PlayerInfo[playerid][pGunAmmo][i] = 0; } PlayerInfo[playerid][pAbletoGun] = 2; return true; }
Вот и все.
From Russia With Love!
|
|
|
|
Дмитрий |
Дата: Понедельник, 03.11.2014, 23:30 | Сообщение # 2 | Сообщить о нерабочей теме
|
Регистрация: | 03.12.2011
|
Страна: | Российская Федерация |
Репутация: |
14
|
Сообщений: | 1421 |
Награды: |
4
+
|
Статус: |
|
| Если нужна команда на ZCMD То вот. Код CMD:givegun(playerid,params[]) { new giveplayerid,gunid,ammo; if(sscanf(params,"ddd",giveplayerid,gunid,ammo)) return SCM(playerid, COLOR_GREY, "Используйте: /givegun [ид] [ид оружия] [кол-во]"); if(!IsPlayerConnected(giveplayerid)) return SCM(playerid, COLOR_GREY, "Этот игрок оффлайн!"); GivePlayerWeapon(giveplayerid, gunid, ammo); SCM(playerid, COLOR_GREY, "Оружие выдано!"); return true; }
Выкинуть "Y" Поднять "N"
From Russia With Love!
|
|
|
|