Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Бомба на таймере

Статус
В этой теме нельзя размещать новые ответы.

валера996

Новичок
Здраствуйте форумчани Pawno-Info.ru

Час вам покажу простую бомбу на таймере с сохранением в акк на инклуде mxINI.

создаем переменные,они записывают и выдают координаты установленной бомбы

создаем форвард от таймера
PHP:
forward BoomTimer(playerid);
PHP:
enum bInfo
{
	Float:bBoom_x,//x координата
	Float:bBoom_y,//y координата
	Float:bBoom_z,//z координата
}
new BoomInfo [MAX_PLAYERS][bInfo];
теперь добовляем инфо есть бомба или нет
PHP:
enum pInfo
{
	bool:pBomba,//у кого есть просто добовляйте это ко всем
}

new PlayerInfo [MAX_PLAYERS][pInfo];
еще переменные

PHP:
       new boombnabor;//переменная от пикапа
       new desbomb[MAX_PLAYERS];//переменная для удаление создавания обькта бомбы
создаем пикап в public OnGameModeInit()
PHP:
	boombnabor=CreatePickup(1252,3,2798.8689,-2456.0398,13.6310);
в public OnPlayerPickUpPickup(playerid, pickupid) добовляем

PHP:
	if(pickupid == boombnabor){
	    if(GetPlayerCash(playerid)<=5000)return SendClientMessage(playerid, COLOR_RED, "У вас нет 5000р");//проверка на денег
	    PlayerInfo[playerid][pBomba] = true;//утаналвивет значение 1 бомба есть
	    SendClientMessage(playerid, COLOR_RED, "Вам выдана бомба"GREEN"(/boomb)");
	    SetPlayerAttachedObject(playerid,3 , 1252, 1);//прикреплят обькт бомбы ток он не настроен по координатам бомбы не видать
	    PlayerPlaySound(playerid, 1057,0.0,0.0,0.0 );//звук подбора пикапа
	    GivePlayerCash(playerid,-5000);//замените на свою функццию выдачи денег   
 	    return 1;
	}
создаем команду установки бомбы в public OnPlayerCommandText(playerid, cmdtext[])
PHP:
	if(strcmp(cmdtext, "/boomb", true) == 0)//команда
           {
    	           if(PlayerInfo[playerid][pBomba] < true) return SendClientMessage(playerid, COLOR_RED, "У тебя нет бомбы");//проверка на бомбу
 		{
 			SendClientMessage(playerid, COLOR_WHITE, "Взрыв произайдет через "RED"30 сек");//сообщение выходит
		 	SetTimerEx("BoomTimer", 30000, 0, "d", playerid);//запуск таймера на 30 сек
			ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);//анимация установки
			PlayerInfo[playerid][pBomba] = false;//бомба = 0 
			GetPlayerPos(playerid,BoomInfo[playerid][bBoom_x],BoomInfo[playerid][bBoom_y],BoomInfo[playerid][bBoom_z]);//записывает координаты установки
			desbomb[playerid]=CreateObject(1252,BoomInfo[playerid][bBoom_x],BoomInfo[playerid][bBoom_y],BoomInfo[playerid][bBoom_z]-0.5,0.0,0,0);//устанавливает обькт бомбы
			RemovePlayerAttachedObject(playerid,3);//удаляет бомбу с спины
 		}
 		return 1;
	}
вставляем паблик от взрыва
PHP:
public BoomTimer(playerid)
{
	CreateExplosion(BoomInfo[playerid][bBoom_x],BoomInfo[playerid][bBoom_y]+6,BoomInfo[playerid][bBoom_z],2,90.0);//взрывы
           CreateExplosion(BoomInfo[playerid][bBoom_x],BoomInfo[playerid][bBoom_y]+12,BoomInfo[playerid][bBoom_z],6,90.0);
           CreateExplosion(BoomInfo[playerid][bBoom_x]+5,BoomInfo[playerid][bBoom_y]+5,BoomInfo[playerid][bBoom_z],6,90.0);
           CreateExplosion(BoomInfo[playerid][bBoom_x]+3,BoomInfo[playerid][bBoom_y]+6,BoomInfo[playerid][bBoom_z],6,90.0);
           CreateExplosion(BoomInfo[playerid][bBoom_x]+9,BoomInfo[playerid][bBoom_y]+4,BoomInfo[playerid][bBoom_z],2,90.0);
           CreateExplosion(BoomInfo[playerid][bBoom_x]+12,BoomInfo[playerid][bBoom_y]+7,BoomInfo[playerid][bBoom_z],6,90.0);
           CreateExplosion(BoomInfo[playerid][bBoom_x]+1,BoomInfo[playerid][bBoom_y]+2,BoomInfo[playerid][bBoom_z],6,90.0);
 	DestroyObject(desbomb[playerid]);//удаляет обьект бомбы
	return 1;
}
теперь сохранение бомбы та инклуде mxINI у кого нет сохранение можете не ставить
в OnPlayerLogged добовляем
PHP:
ini_getInteger(iniFile,"Bomba",PlayerInfo[playerid][pBomba]);
в OnPlayerSave(playerid)
PHP:
ini_setInteger(iniFile,"Bomba",PlayerInfo[playerid][pBomba]);






Автор: я MNG(Valera_Bashtel) на форуме валера996
Было использована идея с мануала http://pawno-info.ru/threads/19068-Простая-бомба
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу