• Страница 1 из 1
  • 1
[Мануал] Арена смерти. (Orio[N])
Дмитрий Дата: Понедельник, 05.11.2012, 17:53 | Сообщение # 1 | Сообщить о нерабочей теме


Аватар для Дмитрий

Добрый день. hello

Небольшое описание:
Игрок встает на пикап, соглашается, его телепортирует куда-либо (координаты поставите), за убийство игрока + 200$, за смерть -100$.
- Рандом оружие (5 видов).
- Красивый текст при убийстве/смерти.

Сразу же говорю, неточная копия..
- Статистику арены смерти чуть позже доделаю.
- Ну и маппинг позже сделаю, сейчас нет возможности зайти в mta.

Начнем.
Ко всем new:

Code
new zone[MAX_PLAYERS], pickupzone;  

В OnPlayerConnect:

Code
PlayerInfo[playerid][zone] = false;  

В public SetPlayerSpawn:

Code
if(PlayerInfo[playerid][zone] == 1)
{
     SetPlayerPos(playerid, 268.5777,1857.9351,9.8133);
     switch(random(6))
     {
     case 0: GivePlayerWeapon(playerid, 9, 200);
     case 1: GivePlayerWeapon(playerid, 16, 200);
     case 2: GivePlayerWeapon(playerid, 24, 200);
     case 3: GivePlayerWeapon(playerid, 26, 200);
     case 4: GivePlayerWeapon(playerid, 32, 200);
     case 5: GivePlayerWeapon(playerid, 34, 200);
     }
}  

В OnGameModeInit:

Code
pickupzone = CreatePickup(1239, x,y,z,-1); // ставите координаты где хотите..  

В OnPlayerPickup:

Code
if(pickupid == pickupzone)
{
     ShowPlayerDialog(playerid, 599, DIALOG_STYLE_MSGBOX,"Арена смерти","Добро пожаловать на арену смерти.\nОписание: за убийство вы получаете $200, за смерть -$100.\nВы хотите принять участие в арене смерти?","Принять","Отмена");
     SetPlayerPos(playerid, x,y,z); // ставите координаты, чтобы когда встанишь на пикап, немного тпшило от него, а то диалог.окно будет появляеться. :|

В OnDialogResponse:

Code
case 599:
{
     switch(listitem)
     {
     case 0:
         {
             PlayerInfo[playerid][zone] = 1;
             SendClientMessage(playerid, -1, "Вы приняли участие в арене смерти.");
             SetPlayerPos(playerid, 268.5777,1857.9351,9.8133);
             switch(random(6))
             {
             case 0: GivePlayerWeapon(playerid, 9, 200);
             case 1: GivePlayerWeapon(playerid, 16, 200);
             case 2: GivePlayerWeapon(playerid, 24, 200);
             case 3: GivePlayerWeapon(playerid, 26, 200);
             case 4: GivePlayerWeapon(playerid, 32, 200);
             case 5: GivePlayerWeapon(playerid, 34, 200);
             }
         }
     case 1:
         {
             SendClientMessage(playerid, -1, "Вы отказались от участия.");
         }
     }
}  

В OnPlayerDeath:

Code
if(PlayerInfo[playerid][zone] == 1 || PlayerInfo[killerid][zone] == 1)
{
     new string[126];
     GivePlayerMoney(killerid, -200);
     GivePlayerMoney(playerid, 100);
     format(string, sizeof(string), "~r~$+%d", 200);
     GameTextForPlayer(playerid, string, 200, 1);
     format(string, sizeof(string), "~r~$-%d", 100);
     GameTextForPlayer(killerid, string, 200, 1);
}  

Ну и команда для выхода с арены:

Code
CMD:exarena(playerid, params[])
{
     if(PlayerInfo[playerid][zone] == 0) return 1;
     SetPlayerHealth(playerid, 0), SendClientMessage(playerid, -1, "Вы покинули арену смерти.");
     PlayerInfo[playerid][zone] = 0;
     return true;
}  


Автор:Like2


From Russia With Love!
  • Страница 1 из 1
  • 1
Поиск: