Master Pirate Script
✅ Last Updated: August 2026 - Full script source is posted below, copy it as it is.
2 working scriptsloadstring(game:HttpGetAsync("https://raw.githubusercontent.com/TOPCITY2/paman007/main/Protected%20(4).lua"))()Master Pirate is a pirate-themed game where the grind for better gear, stronger abilities, and more power never really slows down. Every upgrade requires more resources than the last, and farming them manually takes a serious amount of time. These scripts take over the hard parts with Auto Boss, Pastebin so your progression keeps moving even when you step away.
Master Pirate Scripts (Auto Boss, Pastebin & More)
To run any of these scripts you will need a working Roblox executor. Check out the list at that link for free and paid options that work in 2026.
Master Pirate Script Auto Farm, Auto Quests, Auto Stats, Auto Chests, Auto Boss, Server Hop, Teleports
Master Pirate Script Auto Farm, Auto Quests, Auto Stats, Auto Chests, Auto Boss, Server Hop, Teleports
loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/TOPCITY2/paman007/main/Protected%20(4).lua"))()Master Pirate Script Pastebin2026 :
Master Pirate Script Pastebin2026 :
//-------------------------------------------------
//
// Script to control flying pirate ship with arrow keys
// Requires zcmd include.
//
// Scott Reed (h02) 2011
//
//-------------------------------------------------
#include <a_samp>
#include <zcmd>
#define SHIP_OBJECT_ID 8493
#define SHIP_SKULL_ATTACH 3524
#define SHIP_RAILS_ATTACH 9159
#define SHIP_LINES_ATTACH 8981
new PirateShip[7];
new Float:carrierrot[3];
new Float:carrierspeed;
new carriercontrol;
new piratecam;
public OnFilterScriptInit()
{
PirateShip[0] = CreateObject(8493, 0.0, 0.0, 0.0, 0.00, 0.00, 270.00);
PirateShip[1] = CreateAttachment(PirateShip[0], SHIP_SKULL_ATTACH, 4.11, -5.53, -9.78, 0.0, 0.0, 90.0);
PirateShip[2] = CreateAttachment(PirateShip[0], SHIP_SKULL_ATTACH, -4.11, -5.53, -9.78, 0.0, 0.0, -90.0);
PirateShip[3] = CreateAttachment(PirateShip[0], SHIP_SKULL_ATTACH, -4.3378, -15.2887, -9.7863, 0.0, 0.0, -90.0);
PirateShip[4] = CreateAttachment(PirateShip[0], SHIP_SKULL_ATTACH, 4.3378, -15.2887, -9.7863, 0.0, 0.0, 90.0);
PirateShip[5] = CreateAttachment(PirateShip[0], SHIP_RAILS_ATTACH, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
PirateShip[6] = CreateAttachment(PirateShip[0], SHIP_LINES_ATTACH, -0.5468, -6.1875, -0.4375, 0.0, 0.0, 0.0);
SetObjectPos(PirateShip[0], 2250.0, -1656.0, 15.0);
EditObject(0, PirateShip[1]);
}
stock CreateAttachment(attach, modelid, Float:X, Float:Y, Float:Z, Float:RX, Float:RY, Float:RZ)
{
new obj = CreateObject(modelid, X, Y, Z, RX, RY, RZ);
AttachObjectToObject(obj, attach, X, Y, Z, RX, RY, RZ);
return obj;
}
public OnFilterScriptExit()
{
for(new x;x<sizeof(PirateShip);x++)
{
if(IsValidObject(PirateShip[x])) DestroyObject(PirateShip[x]);
}
}
/*
public OnObjectMoved(objectid)
{
if(objectid == PirateShip[0])
{
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0],x,y,z);
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (60 * floatsin(-rz, degrees));
y -= (60 * floatcos(-rz, degrees));
z -= (60 * floattan(-rx, degrees));
MoveObject(PirateShip[0],x,y,z,carrierspeed, carrierrot[0] , carrierrot[1], carrierrot[2]);
}
return 1;
}
*/
public OnPlayerUpdate(playerid)
{
if(carriercontrol == playerid)
{
new Keys,ud,lr;
GetPlayerKeys(playerid,Keys,ud,lr);
if(ud > 0)
{
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0], x, y, z);
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (60 * floatsin(-rz, degrees));
y -= (60 * floatcos(-rz, degrees));
z -= (60 * floattan(-rx, degrees));
MoveObject(PirateShip[0],x,y,z,carrierspeed, carrierrot[0] , carrierrot[1], carrierrot[2]);
if(carrierrot[0] > 360.0) carrierrot[0] = 0.0;
else carrierrot[0] = carrierrot[0] + 1.0;
}
else if(ud < 0)
{
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0], x, y, z);
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (60 * floatsin(-rz, degrees));
y -= (60 * floatcos(-rz, degrees));
z -= (60 * floattan(-rx, degrees));
MoveObject(PirateShip[0],x,y,z,carrierspeed, carrierrot[0] , carrierrot[1], carrierrot[2]);
if(carrierrot[0] < 0.0) carrierrot[0] = 360.0;
else carrierrot[0] = carrierrot[0] - 1.0;
}
if(lr > 0)
{
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0], x, y, z);
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (60 * floatsin(-rz, degrees));
y -= (60 * floatcos(-rz, degrees));
z -= (60 * floattan(-rx, degrees));
MoveObject(PirateShip[0],x,y,z,carrierspeed, carrierrot[0] , carrierrot[1], carrierrot[2]);
if(carrierrot[2] <= 0.0) carrierrot[2] = 359.0;
else carrierrot[2] = carrierrot[2] - 1.0;
//if(carrierrot[1] < 90.0) carrierrot[1] += 1.0;
}
else if(lr < 0)
{
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0], x, y, z);
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (60 * floatsin(-rz, degrees));
y -= (60 * floatcos(-rz, degrees));
z -= (60 * floattan(-rx, degrees));
MoveObject(PirateShip[0],x,y,z,carrierspeed, carrierrot[0] , carrierrot[1], carrierrot[2]);
if(carrierrot[2] >= 360.0) carrierrot[2] = 1.0;
else carrierrot[2] = carrierrot[2] + 1.0;
//if(carrierrot[1] > -90.0) carrierrot[1] -= 1.0;
}
}
return 1;
}
CMD:tpship321(playerid, params[])
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetObjectPos(PirateShip[0], X, Y, Z);
return 1;
}
CMD:control321(playerid, params[])
{
if(carriercontrol == playerid)
{
carriercontrol = INVALID_PLAYER_ID;
KillTimer(piratecam);
//SetCameraBehindPlayer(playerid);
SendClientMessage(playerid, 0xFFFFFF, "Stopped Controlling");
}
else
{
carriercontrol = playerid;
//piratecam = SetTimerEx("CameraUpdate", 10, true, "i", playerid);
SendClientMessage(playerid, 0xFFFFFF, "Controlling");
}
return 1;
}
CMD:setcspeed(playerid, params[])
{
new string[64];
carrierspeed = floatstr(params);
if(carrierspeed == 0.0)
{
if(IsObjectMoving(PirateShip[0])) StopObject(PirateShip[0]);
}
format(string, sizeof(string), "Carrier speed set to %f", carrierspeed);
SendClientMessage(playerid, 0xFFFFFF, string);
return 1;
}
forward CameraUpdate(playerid);
public CameraUpdate(playerid)
{
new Float:x, Float:y, Float:z, Float:X, Float:Y, Float:Z, Float:rx, Float:ry, Float:rz;
GetObjectPos(PirateShip[0],x,y,z);
X=x; Y=y; Z=z;
GetObjectRot(PirateShip[0], rx, ry, rz);
rz += 180;
x -= (-60 * floatsin(-rz, degrees));
y -= (-60 * floatcos(-rz, degrees));
SetPlayerCameraPos(playerid, x, y, Z+10.0);
SetPlayerCameraLookAt(playerid, X, Y, Z);
}How to Use the Master Pirate Script
Copy a script from the list above first, then follow these in order.
- 01
Get a working executor - see our Roblox Executor list for free options on PC, Mobile, and Mac.
- 02
Launch Roblox and open Master Pirate.
- 03
Open your executor, then click Inject or Attach.
- 04
Copy any script above and paste it into the executor script box.
- 05
Press Execute - the GUI will appear in-game.
- 06
Toggle Auto Farm, Speed Hack, ESP and other features from the GUI menu.
- 07
Always use an alt account to protect your main.

About The Master Pirate Script
Master Pirate is a pirate-themed Roblox game where the grind for better gear, stronger devil fruit abilities, and higher stats never really slows down. Every tier of progression requires more farming than the last, and doing it all manually across multiple sessions adds up fast.
The auto farm and auto dungeon scripts are the biggest time-savers here since they keep your resources and stats climbing without any input. Add inf gem or auto sell on top and your currency never runs dry.
Always run these on an alt to keep your main account safe. The hubs in the list above push updates after game patches so check back here if one stops working.
Looking for free rewards? Check out our Master Pirate Codes page for every working code.
For everything outside the script side - character builds, zone unlocks, and what changed in the latest update - the Master Pirate has it covered.
All scripts on this page are for educational purposes only. Using scripts in Roblox violates the Roblox Terms of Service and may result in your account being permanently banned or suspended without warning. RobloxDatabase.com is not responsible for any consequences from using these scripts. Always use an alt account - never your main.

