Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Эффект тошноты - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Эффект тошноты Запрет от переедания или выпивки из сингла
Оценка: -----

#1
Пользователь офлайн   vawylon 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
Эффект тошноты

Изображение


stock CrashEat(playerid)
{
    ClearAnimations(playerid);
    ApplyAnimation(playerid, "FOOD", "EAT_VOMIT_P", 4.1, 0, 0, 0, 0, 0, 1);
    SetTimerEx("BlowUpPlayer", 3500, false, "d", playerid);
    return 1;
}

forward BlowUpPlayer(playerid);
public BlowUpPlayer(playerid)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    PlaySound(32201, x, y, z);
    SetPlayerAttachedObject(playerid, 0, 18722, 2,  0.115000, 1.782999, 0.088999,  91.600044, -4.200001, 102.099937,  1.000000, 1.000000, 1.000000); 
}



stock PlaySound(soundid, Float: x, Float: y, Float:z, vw = 0, Float:dist = 50.0)
{
    foreach(new i : Player)
    {
        if(GetPlayerVirtualWorld(i) == vw) if(GetPlayerDistanceFromPoint(i, x, y, z) <= dist) PlayerPlaySound(i, soundid, x, y, z);
    }
    return 1;
}



Примичание:
У Вас должен быть свободный слот (0) для эффекта тошноты(18722) иначе объект будет удалён после эффекта.
Заменить 0 на Ваш свободный слот.
SetPlayerAttachedObject(playerid, 0 <<


Использование:

CMD:blow(playerid)
{
    CrashEat(playerid);
    return 1;
}




Довольно интересно будет смотреться данный эффект с звуковыми эффектами и анимацией на Вашем сервере как запрет от переедания или выпивки.
Автор я vawylon

Сообщение отредактировал vawylon: 21 июня 2022 - 15:42

2

#2
Пользователь офлайн   NiceXPlayer 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
:D

Мне нравится :)
0

#3
Пользователь онлайн   M I S T E V 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Годнота :yes:

Сделай макрос на свободную кость
1

#4
Пользователь офлайн   Perdolinka 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияM I S T E V (21 июня 2022 - 18:50) писал:

Годнота :yes:

Сделай макрос на свободную кость

На кость или слот? настругал для кости, может автор добавит, только пришлось SetPlayerAttachedObject перехватить, хотя можно было бы и без него.

#define MAX_INDEXES (10)
#define INVALID_BONE_ID (-1)

#define SetPlayerActiveBone(%0,%1,%2) g_player_bone[%0][%1] = %2
#define SetPlayerNotActiveBone(%0,%1) g_player_bone[%0][%1] = INVALID_BONE_ID

new g_player_bone[MAX_PLAYERS][MAX_INDEXES];

stock IsPlayerBoneActive(playerid, bone)
{
    new result = INVALID_BONE_ID;

    for(new idx; idx < sizeof g_player_bone; idx ++)
    {
        if(g_player_bone[playerid][idx] != bone)
            continue;

        result = bone;
    }
    return result;
}

stock SetPlayerAttachedObjectEx
(playerid, index, modelid, bone, 
Float: fOffsetX = 0.0, Float: fOffsetY = 0.0, Float: fOffsetZ = 0.0, 
Float: fRotX = 0.0, Float: fRotY = 0.0, Float: fRotZ = 0.0, 
Float:fScaleX = 1.0, Float:fScaleY = 1.0, Float:fScaleZ = 1.0, 
materialcolor1 = 0, materialcolor2 = 0)
{
    new result = SetPlayerAttachedObject
    (
        playerid, index, modelid, bone, 
        fOffsetX, fOffsetY, fOffsetZ,
        fRotX, fRotY, fRotZ, 
        fScaleX, fScaleY, fScaleZ, 
        materialcolor1, materialcolor2
    );

    if(result)
        SetPlayerActiveBone(playerid, index, bone);

    return result;
}
#if defined _ALS_SetPlayerAttachedObject
    #undef SetPlayerAttachedObject
#else
    #define _ALS_SetPlayerAttachedObject
#endif
#define SetPlayerAttachedObject SetPlayerAttachedObjectEx

stock RemovePlayerAttachedObjectEx(playerid, index)
{
    new result = RemovePlayerAttachedObject(playerid, index);

    if(result)
        SetPlayerNotActiveBone(playerid, index);

    return result;
}
#if defined _ALS_RemovePlayerAttachedObject
    #undef RemovePlayerAttachedObject
#else
    #define _ALS_RemovePlayerAttachedObject
#endif
#define RemovePlayerAttachedObject RemovePlayerAttachedObjectEx



Как использовать не нужно объяснять, думаю.

Сообщение отредактировал Perdolinka: 23 июня 2022 - 14:31

0

#5
Пользователь офлайн   Pa4enka 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияPerdolinka (21 июня 2022 - 19:11) писал:

new result = SetPlayerAttachedObject
(
    playerid, index, modelid, bone, 
    fOffsetX = 0.0, fOffsetY = 0.0, fOffsetZ = 0.0, 
    fRotX = 0.0, fRotY = 0.0, fRotZ = 0.0, 
    fScaleX = 1.0, fScaleY = 1.0, fScaleZ = 1.0, 
    materialcolor1 = 0, materialcolor2 = 0
);


new result = SetPlayerAttachedObject(playerid, index, modelid, bone, 
    fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, 
    fScaleX, fScaleY, fScaleZ, materialcolor1, materialcolor2
);


Сообщение отредактировал Pa4enka: 21 июня 2022 - 19:55

1

#6
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияPerdolinka (21 июня 2022 - 19:11) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Тогда уж нужен и перехват RemovePlayerAttachedObject.

Сообщение отредактировал DeimoS: 23 июня 2022 - 12:13

1

#7
Пользователь офлайн   Perdolinka 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDeimoS (23 июня 2022 - 12:13) писал:

Тогда уж нужен и перехват RemovePlayerAttachedObject.

Подкорректировал чутка, спасибо
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика