(Scr) Трансформация

Описание: Готовые решения скриптов, filterScript
Модератор: SJplayer

SJplayer M
Автор темы, Модератор
Модератор
Аватара
SJplayer M
Автор темы, Модератор
Модератор
Сообщения: 196
Зарегистрирован: 25 мая 2013
С нами: 10 лет 10 месяцев

#1 SJplayer » 3 июля 2013, 11:22

(Scr) Трансформация
Автор: Fun4ik

Суть скрипта - если вы в машине ' Инфернус ' и ваша скорость больше 80км/ч, то при нажатии на кнопку ' Y ', ваша машина превращается в лодку и обратно.

Скрипт

Код: Выделить всё

#include <a_samp>

#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

new Car[MAX_PLAYERS];

public OnFilterScriptInit()
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_YES))
    {
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411 && GetVehicleSpeed(GetPlayerVehicleID(playerid)) >= 80)
        {
            new Float:pos[4],Float:speed;
            speed = GetVehicleSpeed(GetPlayerVehicleID(playerid));
            GetVehiclePos(GetPlayerVehicleID(playerid),pos[0],pos[1],pos[2]);
            GetVehicleZAngle(GetPlayerVehicleID(playerid),pos[3]);
            DestroyVehicle(GetPlayerVehicleID(playerid));
            Car[playerid] = AddStaticVehicleEx(452,pos[0],pos[1],pos[2],pos[3],1,1,99999999);
            PutPlayerInVehicle(playerid, Car[playerid], 0);
            SetVehicleSpeed(GetPlayerVehicleID(playerid),speed);
            SendClientMessage(playerid,-1,"Оптимус Прайм, ёпта :D");
        }
        else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 452 && GetVehicleSpeed(GetPlayerVehicleID(playerid)) <= 120)
        {
            new Float:pos[4],Float:speed;
            speed = GetVehicleSpeed(GetPlayerVehicleID(playerid));
            GetVehiclePos(GetPlayerVehicleID(playerid),pos[0],pos[1],pos[2]);
            GetVehicleZAngle(GetPlayerVehicleID(playerid),pos[3]);
            DestroyVehicle(GetPlayerVehicleID(playerid));
            Car[playerid] = AddStaticVehicleEx(411,pos[0],pos[1],pos[2],pos[3],1,1,99999999);
            PutPlayerInVehicle(playerid, Car[playerid], 0);
            SetVehicleSpeed(GetPlayerVehicleID(playerid),speed);
        }
    }
    return 1;
}

stock SetVehicleSpeed(vehicleid, Float:speed)
{
    new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a;
    GetVehicleVelocity(vehicleid, x1, y1, z1);
    GetVehiclePos(vehicleid, x2, y2, z2);
    GetVehicleZAngle(vehicleid, a); a = 360 - a;
    x1 = (floatsin(a, degrees) * (speed/100) + floatcos(a, degrees) * 0 + x2) - x2;
    y1 = (floatcos(a, degrees) * (speed/100) + floatsin(a, degrees) * 0 + y2) - y2;
    SetVehicleVelocity(vehicleid, x1, y1, z1);
}

stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround(floatsqroot(x*x+y*y+z*z)*100);


Miranda F
Старшина
Старшина
Аватара
Miranda F
Старшина
Старшина
Сообщения: 143
Зарегистрирован: 5 июля 2013
С нами: 10 лет 9 месяцев

#2 Miranda » 5 июля 2013, 15:30

Чего только не придумают...
Изображение


Вернуться в «Скрипты / FS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя