[FilterScript] Bestuurbare piraten schip
#1

Hey, de titel zegt het al eigenlijk, je kan een piraten schip besturen door /commandship te typen. Ik denk dat de foto's het beter zullen verklaren

Images:







Code:
pawn Код:
//Pirate Ship by TonyII

#include <a_samp>
#include <zcmd>

new PirateObject,
    PirateFence,
    PirateRopes,
    PirateShip;
new Camera;
new ControllingShip[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("Pirate Ship by TonyII is running");
    print("--------------------------------------\n");
    PirateObject = CreateObject(8493,0,0,-100,0,0,0);
    PirateFence = CreateObject(9159,0,0,-100,0,0,0);
    PirateRopes = CreateObject(8981,0,0,-100,0,0,0);
    PirateShip = AddStaticVehicleEx(454, 723.6520, -1890.7867, -0.0164, 180.0000, -1, -1, -1);
    AttachObjectToVehicle(PirateObject, PirateShip, 0.809999, 1.439998, 16.650209, 0.000000, 0.000000, 0.000000);
    AttachObjectToVehicle(PirateRopes, PirateShip, 0.294999, -4.665059, 16.250276, 0.000000, 0.000000, 0.000000);
    AttachObjectToVehicle(PirateFence, PirateShip, 0.784999, 1.439998, 16.655208, 0.000000, 0.000000, 0.000000);
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (newkeys & KEY_SECONDARY_ATTACK)
    {
        if(ControllingShip[playerid] == 1)
        {
        ControllingShip[playerid] = 0;
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid, X,Y,Z);
        SetPlayerPos(playerid, X,Y+2,Z+6);
        SetCameraBehindPlayer(playerid);
        DestroyObject(Camera);
        }
    }
    return 1;
}

CMD:commandship(playerid, params[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(ControllingShip[i] == 1) return SendClientMessage(playerid, -1,"The ship is being held in command by someone else.");
    }
    Camera = CreateObject(0, 0,0,0,0,0,0);
    AttachObjectToVehicle(Camera, PirateShip,0,-35,23,0.000000,0.000000,0.0);
    PutPlayerInVehicle(playerid, PirateShip, 0);
    AttachCameraToObject(playerid, Camera);
    ControllingShip[playerid] = 1;
    SendClientMessage(playerid, -1,"Type /quitship or press 'F' if you want to stop commanding this ship.");
    return 1;
}

CMD:quitship(playerid, params[])
{
    if(ControllingShip[playerid] == 0) return SendClientMessage(playerid, -1,"You do not command the ship.");
    ControllingShip[playerid] = 0;
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    SetPlayerPos(playerid, X,Y+2,Z+6);
    SetCameraBehindPlayer(playerid);
    DestroyObject(Camera);
    return 1;
}
Reply
#2

Thanks !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)