Доступ к готовым решениям

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

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

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

Мануал Потеря денег при смерти

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

Volchenok

Ученик
Данная система с FS , Мы довели её да отличного кода 60/100 %
[HR][/HR]
Когда игрок погибает, то на месте его смерти появляется мешок с деньгами и любой игрок может подобрать этот мешок.
[HR][/HR]
- Если игрок умер и после этого отключился с сервера, то мешок с деньгами удаляется и никто их не сможет забрать
- Если игрок умер и его предыдущий мешок с деньгами никто не взял, то предыдущий мешок удаляются
- Если игрок умер в транспорте, то его денежный мешок нельзя взять
- Когда игрок умирает, то его денежный счет обнуляется до нуля

Чтобы подобрать мешок, нужно подойти к нему и нажать клавишу N.



[HR][/HR]
К new
PHP:
new bag_j[MAX_PLAYERS],bag_m[MAX_PLAYERS];

new Float:b_pos[MAX_PLAYERS][3],Text3D:b_text[MAX_PLAYERS];
В OnGameModeInit
PHP:
    if(bag_m[t]>0)
    {
    	DestroyDynamicObject(bag_j[t]);
     	DestroyDynamic3DTextLabel(b_text[t]);
      		bag_m[t]=0,
		  	b_pos[t][0]=0.0,
		  	b_pos[t][1]=0.0,
		  	b_pos[t][2]=0.0;
    }
В public OnPlayerDisconnect(playerid)
PHP:
if(bag_m[playerid]!=0)
        {
            DestroyDynamicObject(bag_j[playerid]);
            DestroyDynamic3DTextLabel(b_text[playerid]);
            	bag_m[playerid]=0,
				b_pos[playerid][0]=0.0,
				b_pos[playerid][1]=0.0,
				b_pos[playerid][2]=0.0;
        }
К public OnPlayerDeath(playerid, killerid, reason)
PHP:
new
			money = GetPlayerMoney(playerid),
			string[128];
        if(money>0)
        {
           new
				randnumb = 0 	+ 	random(360),
				Float:x,
				Float:y,
				Float:z;
            GetPlayerPos(playerid,x,y,z);
            bag_j[playerid]=CreateDynamicObject(1550,x,y,z-0.5,0,0,randnumb);
                format(string,sizeof(string),"Владелец:%s\nAmount: %d$\nInfo: Нажмите кнопку N, чтобы забрать!",PlayerName(playerid),money);
                b_text[playerid] = CreateDynamic3DTextLabel(string, 0xFFFFFFFF,x,y,z-0.8, 30.0);
                b_pos[playerid][0]=x,
				b_pos[playerid][1]=y,
				b_pos[playerid][2]=z;
                bag_m[playerid]=money;
                ResetPlayerMoney(playerid);
                return 1;
        }
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(IsPlayerDriver(playerid)) return 1;
    if(newkeys & KEY_NO)
    {
        for(new t=0; t<=MAX_PLAYERS; t++)
        if(IsPlayerInRangeOfPoint(playerid,3,b_pos[t][0],b_pos[t][1],b_pos[t][2]))
       	{
	        if(bag_m[t]<1) return 1;
	        GivePlayerMoney(playerid,bag_m[t]);
	        DestroyDynamicObject(bag_j[t]);
	        DestroyDynamic3DTextLabel(b_text[t]);
	        ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
	        bag_m[t]=0,
			b_pos[t][0]=0.0,
			b_pos[t][1]=0.0,
			b_pos[t][2]=0.0;
	        return 1;
         }
    }
Далее в stock
PHP:
stock PlayerName(playerid)
{
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        return name;
}

stock PreloadAnimLib(playerid, animlib[])
   return ApplyAnimation(playerid,animlib,"NULL",0.0,0,0,0,0,0);

stock IsPlayerDriver(playerid) //мешок
{
        new p_tate;
        p_tate = GetPlayerState(playerid);
        if(p_tate == PLAYER_STATE_DRIVER)  return 1;
        return 0;
}
Автор: ALIT13
Спасибо : Merlin | Помог с кодом
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу