[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[FAQ]Система ограбление дома.
Дата: 25.08.2011, Четверг, 09:52:22 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Автор: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;
}
}
}
  • Страница 1 из 1
  • 1
Поиск: