Дата: 25.08.2011, Четверг, 09:52:22 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Автор:Rustam_Rich Описание:. Появляется возможность ограбить дом, а после все краденое сдать.
1. Создаем 2 переменные Code new robhouse[MAX_PLAYERS]; new robhouse2[MAX_PLAYERS];
2. Добавляем команды в OnPlayerCommandText(playerid, cmdtext[])
Code if(strcmp(cmd,"/robhouse",true)==0) { for(new h = 0; h < sizeof(HouseInfo); h++) { if (IsAGang(playerid)) { if (PlayerToPoint(8.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez])) { if (robhouse[playerid] !=0) { SendClientMessage(playerid, COLOR_GRAD1, "Вы уже грабили дом в этом часу"); return 1; } if(HouseInfo[h][hOwned] == 0) { SendClientMessage(playerid, COLOR_GRAD1, "У дома нет владельца"); return 1; } // SendClientMessage(man, COLOR_REDD, "Ваш дом ограбили на сумму 500 вирт!"); SendClientMessage(playerid, COLOR_GREEN, "Вы ограбили дом, сдайте украденные вещи на металолом командой: /selltv"); SetPlayerAttachedObject(playerid, 1 , 1518, 1,0.11,0.36,0.0,0.0,90.0); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,1935.3763,-2081.4346,13.5624,4.0); GetPlayerName(playerid, sendername, sizeof(sendername)); SendClientMessage(playerid, COLOR_WHITE, "Место на карте помечено красной меткой"); format(string, sizeof(string), "Рация: Cообщает: Неизвестный. Преступление: Ограбление. Подозреваемый: %s",sendername); SendClientMessage(playerid, COLOR_NEWS, string); SetPlayerWantedLevel(playerid,WantedLevel[playerid] = 1); PlayerInfo[playerid][pZakonp] -= 1; PlayerInfo[playerid][pCrimes] += 1; format(string, sizeof(string), "Рация: Cообщает: Неизвестный. Преступление: Ограбление. Подозреваемый: %s",sendername); SendCopsMessage(playerid, COLOR_NEWS, string); CP[playerid] = 0; robhouse[playerid] =1; robhouse2[playerid] =1; // GiveMoney(playerid, 500); HouseInfo[h][hTakings] -=500; } } } return 1; } Это команда продает краденное: if(strcmp(cmd,"/selltv",true)==0) { if (IsAGang(playerid)) { if( robhouse2[playerid] !=1) { SendClientMessage(playerid, COLOR_WHITE, "Вы ни чего не украли"); return 1; } if(!PlayerToPoint(10.0,playerid,1935.3763,-2081.4346,13.5624)) { SendClientMessage(playerid, COLOR_WHITE, "Вы не на месте приёма металолома"); return 1; } PlayerInfo[playerid][pCash] +=500; SendClientMessage(playerid, COLOR_GREEN, "Вам заплатили за ваши украденные предметы 500 вирт"); RemovePlayerAttachedObject(playerid, 1); ApplyAnimation(playerid,"GHANDS","gsign1LH",4.0,0,0,0,0,0); robhouse2[playerid] =0; } return 1; }
3. Теперь добавляем в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Code if(newkeys & KEY_SPRINT && newkeys & KEY_JUMP) { if(IsAGang(playerid)) { if(robhouse2[playerid] == 1) { RemovePlayerAttachedObject(playerid,1); SendClientMessage(playerid,COLOR_RED,"Вы уронили и разбили телевизор!"); DisablePlayerCheckpoint(playerid); robhouse2[playerid] = 0; CP[playerid] = 0; } } } if(newkeys == KEY_FIRE) { if(IsAGang(playerid)) { if(robhouse2[playerid] == 1) { RemovePlayerAttachedObject(playerid,1); SendClientMessage(playerid,COLOR_RED,"Вы уронили и разбили телевизор!"); DisablePlayerCheckpoint(playerid); CP[playerid] = 0; robhouse2[playerid] = 0; } } } if(newkeys & KEY_SECONDARY_ATTACK || (newkeys & KEY_SUBMISSION && newkeys & KEY_SECONDARY_ATTACK )) { if(IsAGang(playerid)) { if(robhouse2[playerid] == 1) { RemovePlayerAttachedObject(playerid,1); SendClientMessage(playerid,COLOR_RED,"Вы уронили и разбили телевизор!"); DisablePlayerCheckpoint(playerid); CP[playerid] = 0; robhouse2[playerid] = 0; } } }
|