mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-20 11:47:48 +00:00
Updated Commands.
This commit is contained in:
parent
0c435d91c9
commit
09705bec4e
15 changed files with 302 additions and 59 deletions
|
@ -2,11 +2,16 @@ require("global");
|
||||||
|
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sssss",
|
parameters = "ssss",
|
||||||
description = "removes <currency> <qty> from <target>, currency is removed from user if <target> is nil",
|
description =
|
||||||
|
[[
|
||||||
|
Removes currency <qty> from player or <targetname>
|
||||||
|
!delcurrency <item> <qty> |
|
||||||
|
!delcurrency <item> <qty> <targetname> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, currency, qty, location, name, lastName)
|
function onTrigger(player, argc, currency, qty, name, lastName)
|
||||||
local sender = "[delcurrency] ";
|
local sender = "[delcurrency] ";
|
||||||
|
|
||||||
if name then
|
if name then
|
||||||
|
@ -19,12 +24,11 @@ function onTrigger(player, argc, currency, qty, location, name, lastName)
|
||||||
|
|
||||||
if player then
|
if player then
|
||||||
currency = tonumber(currency) or nil;
|
currency = tonumber(currency) or nil;
|
||||||
qty = 1;
|
qty = tonumber(qty) or 1;
|
||||||
location = INVENTORY_CURRENCY;
|
|
||||||
|
|
||||||
local removed = player:GetInventory(location):removecurrency(currency, qty);
|
local removed = player:GetInventory(INVENTORY_CURRENCY):RemoveItem(currency, qty);
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
local message = "unable to remove currency";
|
local message = "Attempting to remove currency" -- "unable to remove currency";
|
||||||
|
|
||||||
if currency and removed then
|
if currency and removed then
|
||||||
message = string.format("removed currency %u from %s", currency, player:GetName());
|
message = string.format("removed currency %u from %s", currency, player:GetName());
|
||||||
|
|
|
@ -3,11 +3,18 @@ require("global");
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sssss",
|
parameters = "sssss",
|
||||||
description = "removes <item> <qty> from <location> for <target>. <qty> and <location> are optional, item is removed from user if <target> is nil",
|
description =
|
||||||
|
[[
|
||||||
|
Removes <item> <qty> from <location> for player or <targetname>.
|
||||||
|
!delitem <item> <qty> |
|
||||||
|
!delitem <item> <qty> <location> |
|
||||||
|
!delitem <item> <qty> <location> <targetname> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, item, qty, location, name, lastName)
|
function onTrigger(player, argc, item, qty, location, name, lastName)
|
||||||
local sender = "[delitem] ";
|
local sender = "[delitem] ";
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
|
||||||
if name then
|
if name then
|
||||||
if lastName then
|
if lastName then
|
||||||
|
@ -20,18 +27,29 @@ function onTrigger(player, argc, item, qty, location, name, lastName)
|
||||||
if player then
|
if player then
|
||||||
item = tonumber(item) or nil;
|
item = tonumber(item) or nil;
|
||||||
qty = tonumber(qty) or 1;
|
qty = tonumber(qty) or 1;
|
||||||
location = tonumber(itemtype) or INVENTORY_NORMAL;
|
|
||||||
|
|
||||||
local removed = player:GetInventory(location):removeItem(item, qty);
|
if location then
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
location = tonumber(location) or _G[string.upper(location)];
|
||||||
local message = "unable to remove item";
|
|
||||||
|
|
||||||
if item and removed then
|
if location == nil then
|
||||||
message = string.format("removed item %u from %s", item, player:GetName());
|
player:SendMessage(messageID, sender, "Unknown item location.");
|
||||||
end
|
return;
|
||||||
player:SendMessage(messageID, sender, message);
|
end;
|
||||||
print(message);
|
else
|
||||||
|
location = INVENTORY_NORMAL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local removed = player:GetInventory(location):RemoveItem(item, qty);
|
||||||
|
|
||||||
|
if removed then -- RemoveItem() currently returns nothing for verification, this statement can't work
|
||||||
|
message = string.format("Removed item %u of kind %u to %s", item, location, player:GetName());
|
||||||
|
end;
|
||||||
else
|
else
|
||||||
print(sender.."unable to remove item, ensure player name is valid.");
|
print(sender.."[giveitem] Unable to remove item, ensure player name is valid.");
|
||||||
|
return;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
local message = string.format("Attempting to remove item %u of kind %u from %s", item, location, player:GetName());
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
print(message);
|
||||||
end;
|
end;
|
|
@ -3,7 +3,12 @@ require("global");
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "ssss",
|
parameters = "ssss",
|
||||||
description = "removes <keyitem> <qty> from <target>, keyitem is removed from user if <target> is nil",
|
description =
|
||||||
|
[[
|
||||||
|
Removes <keyitem> from player or <targetname>.
|
||||||
|
!delkeyitem <keyitem> |
|
||||||
|
!delkeyitem <keyitem> <target name> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, keyitem, qty, name, lastName)
|
function onTrigger(player, argc, keyitem, qty, name, lastName)
|
||||||
|
@ -19,16 +24,16 @@ function onTrigger(player, argc, keyitem, qty, name, lastName)
|
||||||
|
|
||||||
if player then
|
if player then
|
||||||
keyitem = tonumber(keyitem) or nil;
|
keyitem = tonumber(keyitem) or nil;
|
||||||
qty = 1;
|
qty = tonumber(qty) or 1;
|
||||||
location = INVENTORY_KEYITEMS;
|
local location = INVENTORY_KEYITEMS;
|
||||||
|
|
||||||
local removed = player:GetInventory(location):removeItem(item, qty);
|
local removed = player:GetInventory(location):RemoveItem(keyitem, qty);
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
local message = "unable to remove keyitem";
|
local message = "Attempting to remove keyitem" -- "unable to remove keyitem";
|
||||||
|
|
||||||
if keyitem and removed then
|
if removed then
|
||||||
message = string.format("removed keyitem %u from %s", keyitem, player:GetName());
|
message = string.format("removed keyitem %u from %s", keyitem, player:GetName());
|
||||||
end
|
end;
|
||||||
player:SendMessage(messageID, sender, message);
|
player:SendMessage(messageID, sender, message);
|
||||||
print(message);
|
print(message);
|
||||||
else
|
else
|
||||||
|
|
35
data/scripts/commands/gm/endevent.lua
Normal file
35
data/scripts/commands/gm/endevent.lua
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
require("global");
|
||||||
|
|
||||||
|
properties = {
|
||||||
|
permissions = 0,
|
||||||
|
parameters = "ss",
|
||||||
|
description =
|
||||||
|
[[
|
||||||
|
Passes endEvent() to player or <targetname> to close a script.
|
||||||
|
!endevent |
|
||||||
|
!endevent <targetname> |
|
||||||
|
]],
|
||||||
|
}
|
||||||
|
|
||||||
|
function onTrigger(player, argc, name, lastName)
|
||||||
|
local sender = "[endevent] ";
|
||||||
|
|
||||||
|
if name then
|
||||||
|
if lastName then
|
||||||
|
player = GetWorldManager():GetPCInWorld(name.." "..lastName) or nil;
|
||||||
|
else
|
||||||
|
player = GetWorldManager():GetPCInWorld(name) or nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
local message = "Sending endEvent()";
|
||||||
|
|
||||||
|
if player then
|
||||||
|
player:endEvent();
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
print(message);
|
||||||
|
else
|
||||||
|
print(sender.."Sending Event.");
|
||||||
|
end;
|
||||||
|
end;
|
|
@ -2,11 +2,16 @@ require("global");
|
||||||
|
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sss",
|
parameters = "ssss",
|
||||||
description = "adds <currency> to self or <target>.",
|
description =
|
||||||
|
[[
|
||||||
|
Adds currency <qty> to player or <targetname>
|
||||||
|
!addcurrency <item> <qty> |
|
||||||
|
!addcurrency <item> <qty> <targetname> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, currency, name, lastName)
|
function onTrigger(player, argc, currency, qty, name, lastName)
|
||||||
local sender = "[givecurrency] ";
|
local sender = "[givecurrency] ";
|
||||||
|
|
||||||
if name then
|
if name then
|
||||||
|
@ -19,10 +24,10 @@ function onTrigger(player, argc, currency, name, lastName)
|
||||||
|
|
||||||
if player then
|
if player then
|
||||||
currency = tonumber(currency) or nil;
|
currency = tonumber(currency) or nil;
|
||||||
qty = 1;
|
qty = tonumber(qty) or 1;
|
||||||
location = INVENTORY_CURRENCY;
|
location = INVENTORY_CURRENCY;
|
||||||
|
|
||||||
local added = player:GetInventory(location):AddItem(currency, qty);
|
local added = player:GetInventory(location):AddItem(currency, qty, 1);
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
local message = "unable to add currency";
|
local message = "unable to add currency";
|
||||||
|
|
||||||
|
|
42
data/scripts/commands/gm/givegil.lua
Normal file
42
data/scripts/commands/gm/givegil.lua
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
require("global");
|
||||||
|
|
||||||
|
properties = {
|
||||||
|
permissions = 0,
|
||||||
|
parameters = "sss",
|
||||||
|
description =
|
||||||
|
[[
|
||||||
|
Adds gil <qty> to player or <targetname>.
|
||||||
|
!givegil <qty> |
|
||||||
|
!givegil <qty> <targetname> |
|
||||||
|
]],
|
||||||
|
}
|
||||||
|
|
||||||
|
function onTrigger(player, argc, qty, name, lastName)
|
||||||
|
local sender = "[givegil] ";
|
||||||
|
|
||||||
|
if name then
|
||||||
|
if lastName then
|
||||||
|
player = GetWorldManager():GetPCInWorld(name.." "..lastName) or nil;
|
||||||
|
else
|
||||||
|
player = GetWorldManager():GetPCInWorld(name) or nil;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if player then
|
||||||
|
currency = 1000001;
|
||||||
|
qty = tonumber(qty) or 1;
|
||||||
|
location = INVENTORY_CURRENCY;
|
||||||
|
|
||||||
|
local added = player:GetInventory(location):AddItem(currency, qty, 1);
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
local message = "unable to add gil";
|
||||||
|
|
||||||
|
if currency and added then
|
||||||
|
message = string.format("added %u gil to %s", qty, player:GetName());
|
||||||
|
end
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
print(message);
|
||||||
|
else
|
||||||
|
print(sender.."unable to add gil, ensure player name is valid.");
|
||||||
|
end;
|
||||||
|
end;
|
|
@ -3,11 +3,19 @@ require("global");
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sssss",
|
parameters = "sssss",
|
||||||
description = "adds <item> <qty> to <location> for <target>. <qty> and <location> are optional, item is added to user if <target> is nil",
|
description =
|
||||||
|
[[
|
||||||
|
Adds <item> <qty> to <location> for player or <targetname>.
|
||||||
|
!giveitem <item> <qty> |
|
||||||
|
!giveitem <item> <qty> <location> |
|
||||||
|
!giveitem <item> <qty> <location> <targetname> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, item, qty, location, name, lastName)
|
function onTrigger(player, argc, item, qty, location, name, lastName)
|
||||||
local sender = "[giveitem] ";
|
local sender = "[giveitem] ";
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
local message = string.format("Unable to add item %u", item);
|
||||||
|
|
||||||
if name then
|
if name then
|
||||||
if lastName then
|
if lastName then
|
||||||
|
@ -20,17 +28,28 @@ function onTrigger(player, argc, item, qty, location, name, lastName)
|
||||||
if player then
|
if player then
|
||||||
item = tonumber(item) or nil;
|
item = tonumber(item) or nil;
|
||||||
qty = tonumber(qty) or 1;
|
qty = tonumber(qty) or 1;
|
||||||
location = tonumber(itemtype) or INVENTORY_NORMAL;
|
|
||||||
local added = player:GetInventory(location):AddItem(item, qty);
|
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
|
||||||
local message = "unable to add item";
|
|
||||||
|
|
||||||
if item and added then
|
if location then
|
||||||
message = string.format("added item %u to %s", item, player:GetName());
|
location = tonumber(location) or _G[string.upper(location)];
|
||||||
end
|
|
||||||
player:SendMessage(messageID, sender, message);
|
if not location then
|
||||||
print(message);
|
player:SendMessage(messageID, sender, "Unknown item location.");
|
||||||
|
return;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
location = INVENTORY_NORMAL;
|
||||||
|
end;
|
||||||
|
|
||||||
|
local added = player:getInventory(location):addItem(item, qty, 1);
|
||||||
|
|
||||||
|
if added then
|
||||||
|
message = string.format("Added item %u of kind %u to %s", item, location, player:GetName());
|
||||||
|
end;
|
||||||
else
|
else
|
||||||
print(sender.."unable to add item, ensure player name is valid.");
|
print(sender.."[giveitem] Unable to add item, ensure player name is valid.");
|
||||||
|
return;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
print(message);
|
||||||
end;
|
end;
|
|
@ -3,7 +3,12 @@ require("global");
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sss",
|
parameters = "sss",
|
||||||
description = "adds <keyitem> to self or <target>.",
|
description =
|
||||||
|
[[
|
||||||
|
Adds <keyitem> to player or <targetname>.
|
||||||
|
!giveitem <keyitem> |
|
||||||
|
!giveitem <keyitem> <target name> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, keyitem, name, lastName)
|
function onTrigger(player, argc, keyitem, name, lastName)
|
||||||
|
@ -22,7 +27,7 @@ function onTrigger(player, argc, keyitem, name, lastName)
|
||||||
qty = 1;
|
qty = 1;
|
||||||
location = INVENTORY_KEYITEMS;
|
location = INVENTORY_KEYITEMS;
|
||||||
|
|
||||||
local added = player:GetInventory(location):AddItem(keyitem, qty);
|
local added = player:GetInventory(location):AddItem(keyitem, qty, 1);
|
||||||
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
local message = "unable to add keyitem";
|
local message = "unable to add keyitem";
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,31 @@
|
||||||
|
require("global");
|
||||||
|
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sssss",
|
parameters = "sssss",
|
||||||
description = "changes appearance for equipment in <slot>. Parameters: <slot> <wId> <eId> <vId> <cId>, (idk what any of those mean either)",
|
description =
|
||||||
|
[[
|
||||||
|
Changes appearance for equipment with given parameters.
|
||||||
|
!graphic <slot> <wID> <eID> <vID> <vID>
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, slot, wId, eId, vId, cId)
|
function onTrigger(player, argc, slot, wId, eId, vId, cId)
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
local sender = "[graphic] ";
|
||||||
|
|
||||||
slot = tonumber(slot) or 0;
|
slot = tonumber(slot) or 0;
|
||||||
wId = tonumber(wId) or 0;
|
wId = tonumber(wId) or 0;
|
||||||
eId = tonumber(eId) or 0;
|
eId = tonumber(eId) or 0;
|
||||||
vId = tonumber(vId) or 0;
|
vId = tonumber(vId) or 0;
|
||||||
cId = tonumber(cId) or 0;
|
cId = tonumber(cId) or 0;
|
||||||
|
|
||||||
if player then
|
if player and argc > 0 then
|
||||||
player:GraphicChange(slot, wId, eId, vId, cId);
|
player:GraphicChange(slot, wId, eId, vId, cId);
|
||||||
player:SendAppearance();
|
player:SendAppearance();
|
||||||
|
player:SendMessage(messageID, sender, string.format("Changing appearance on slot %u", slot));
|
||||||
|
else
|
||||||
|
player:SendMessage(messageID, sender, "No parameters sent! Usage: "..properties.description);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
|
@ -1,7 +1,11 @@
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "s",
|
parameters = "s",
|
||||||
description = "plays music <id> to player",
|
description =
|
||||||
|
[[
|
||||||
|
Plays music <id> to player.
|
||||||
|
!music <id>
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, music)
|
function onTrigger(player, argc, music)
|
||||||
|
|
57
data/scripts/commands/gm/nudge.lua
Normal file
57
data/scripts/commands/gm/nudge.lua
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
require("global");
|
||||||
|
|
||||||
|
properties = {
|
||||||
|
permissions = 0,
|
||||||
|
parameters = "ss",
|
||||||
|
description =
|
||||||
|
[[
|
||||||
|
Positions your character forward a set <distance>, defaults to 5 yalms.
|
||||||
|
!nudge |
|
||||||
|
!nudge <distance> |
|
||||||
|
!nudge <distance> <up/down> |
|
||||||
|
]],
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function onTrigger(player, argc, distance, vertical)
|
||||||
|
local pos = player:GetPos();
|
||||||
|
local x = pos[0];
|
||||||
|
local y = pos[1];
|
||||||
|
local z = pos[2];
|
||||||
|
local rot = pos[3];
|
||||||
|
local zone = pos[4];
|
||||||
|
local angle = rot + (math.pi/2);
|
||||||
|
local messageID = MESSAGE_TYPE_SYSTEM_ERROR;
|
||||||
|
local sender = "[nudge] ";
|
||||||
|
|
||||||
|
if distance == nil then
|
||||||
|
distance = 5
|
||||||
|
end;
|
||||||
|
|
||||||
|
local px = x - distance * math.cos(angle);
|
||||||
|
local pz = z + distance * math.sin(angle);
|
||||||
|
local message = string.format("Positioning forward %u yalms.", distance);
|
||||||
|
local worldManager = GetWorldManager();
|
||||||
|
|
||||||
|
if argc == 1 then
|
||||||
|
worldManager:DoPlayerMoveInZone(player, px, y, pz, rot, 0x0);
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
elseif argc == 2 then
|
||||||
|
if vertical == "up" or vertical == "u" or vertical == "+" then
|
||||||
|
y = y + distance;
|
||||||
|
message = string.format("Positioning up %u yalms.", distance);
|
||||||
|
worldManager:DoPlayerMoveInZone(player, x, y, z, rot, 0x0);
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
elseif vertical == "down" or vertical == "d" or vertical == "-" then
|
||||||
|
y = y - distance;
|
||||||
|
message = string.format("Positioning down %u yalms.", distance);
|
||||||
|
worldManager:DoPlayerMoveInZone(player, x, y, z, rot, 0x0);
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
else
|
||||||
|
player:SendMessage(messageID, sender, "Unknown parameters! Usage: \n"..properties.description);
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
worldManager:DoPlayerMoveInZone(player, px, y, pz, rot, 0x0);
|
||||||
|
player:SendMessage(messageID, sender, message);
|
||||||
|
end;
|
||||||
|
end;
|
|
@ -1,7 +1,12 @@
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "ssss",
|
parameters = "ssss",
|
||||||
description = "<name> <target name>",
|
description =
|
||||||
|
[[
|
||||||
|
Sends a custom <packet> to player or <targetname>
|
||||||
|
!sendpacket <packet> |
|
||||||
|
!sendpacket <packet> <targetname> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, path, name, lastName)
|
function onTrigger(player, argc, path, name, lastName)
|
||||||
|
|
|
@ -1,13 +1,35 @@
|
||||||
|
require("global");
|
||||||
|
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "sss",
|
parameters = "sss",
|
||||||
description = "<stop> <walk> <run> speed",
|
description =
|
||||||
|
[[
|
||||||
|
Set movement speed for player. Enter no value to reset to default.
|
||||||
|
!speed <run> |
|
||||||
|
!speed <stop> <walk> <run> |
|
||||||
|
]]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, stop, walk, run)
|
function onTrigger(player, argc, stop, walk, run)
|
||||||
|
|
||||||
|
|
||||||
|
if argc == 1 then
|
||||||
|
s = 0;
|
||||||
|
w = (tonumber(stop) / 2);
|
||||||
|
r = tonumber(stop);
|
||||||
|
player:ChangeSpeed(s, w, r);
|
||||||
|
player:SendMessage(MESSAGE_TYPE_SYSTEM_ERROR, "[speed]", string.format("Speed set to 0/%u/%u", w,r));
|
||||||
|
|
||||||
|
elseif argc == 3 then
|
||||||
stop = tonumber(stop) or 0;
|
stop = tonumber(stop) or 0;
|
||||||
walk = tonumber(walk) or 2;
|
walk = tonumber(walk) or 2;
|
||||||
run = tonumber(run) or 5;
|
run = tonumber(run) or 5;
|
||||||
|
|
||||||
player:ChangeSpeed(stop, walk, run);
|
player:ChangeSpeed(stop, walk, run);
|
||||||
|
player:SendMessage(MESSAGE_TYPE_SYSTEM_ERROR, "[speed]", string.format("Speed set to %u/%u/%u", stop, walk, run));
|
||||||
|
else
|
||||||
|
player:ChangeSpeed(0.0, 2.0, 5.0);
|
||||||
|
end
|
||||||
|
|
||||||
end;
|
end;
|
|
@ -5,9 +5,10 @@ properties = {
|
||||||
parameters = "sssssss",
|
parameters = "sssssss",
|
||||||
description =
|
description =
|
||||||
[[
|
[[
|
||||||
<zone> |
|
Warp player or <targetname> to a location from a list, or enter a zoneID with coordinates.
|
||||||
<zone> <x> <y> <z> |
|
!warp <spawn list> |
|
||||||
<zone> <x> <y> <z> <privateArea> <target name>.
|
!warp <zone> <x> <y> <z> |
|
||||||
|
!warp <zone> <x> <y> <z> <privateArea> <targetname> |
|
||||||
]],
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +54,7 @@ function onTrigger(player, argc, p1, p2, p3, p4, privateArea, name, lastName)
|
||||||
local z = tonumber(applyPositionOffset(p3, player_z)) or player_z;
|
local z = tonumber(applyPositionOffset(p3, player_z)) or player_z;
|
||||||
|
|
||||||
player:SendMessage(messageID, sender, string.format("setting coordinates X:%d Y:%d Z:%d within current zone (%d)", x, y, z, player_zone));
|
player:SendMessage(messageID, sender, string.format("setting coordinates X:%d Y:%d Z:%d within current zone (%d)", x, y, z, player_zone));
|
||||||
worldManager:DoPlayerMoveInZone(player, x, y, z, 0x0F);
|
worldManager:DoPlayerMoveInZone(player, x, y, z, 0, 0x00);
|
||||||
else
|
else
|
||||||
local zone = tonumber(applyPositionOffset(p1, player_zone)) or player_zone;
|
local zone = tonumber(applyPositionOffset(p1, player_zone)) or player_zone;
|
||||||
local x = tonumber(applyPositionOffset(p2, player_x)) or player_x;
|
local x = tonumber(applyPositionOffset(p2, player_x)) or player_x;
|
||||||
|
@ -71,9 +72,10 @@ end;
|
||||||
|
|
||||||
function applyPositionOffset(str, offset)
|
function applyPositionOffset(str, offset)
|
||||||
local s = str;
|
local s = str;
|
||||||
print(s);
|
|
||||||
if s:find("@") then
|
if s:find("@") then
|
||||||
s = tonumber(s:sub(s:find("@") + 1, s:len())) + offset;
|
s = tonumber(s:sub(s:find("@") + 1, s:len()));
|
||||||
|
if s then s = s + offset end;
|
||||||
end
|
end
|
||||||
|
print(s);
|
||||||
return s;
|
return s;
|
||||||
end;
|
end;
|
|
@ -3,7 +3,12 @@ require("global");
|
||||||
properties = {
|
properties = {
|
||||||
permissions = 0,
|
permissions = 0,
|
||||||
parameters = "ssss",
|
parameters = "ssss",
|
||||||
description = "usage: <id> <updateTime> <zonewide>.",
|
description =
|
||||||
|
[[
|
||||||
|
Change the weather visual to <id> and optional <transition> for player.
|
||||||
|
!weather <id> |
|
||||||
|
!weather <id> <transition> |
|
||||||
|
]],
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTrigger(player, argc, weather, updateTime, zonewide)
|
function onTrigger(player, argc, weather, updateTime, zonewide)
|
||||||
|
@ -16,12 +21,14 @@ function onTrigger(player, argc, weather, updateTime, zonewide)
|
||||||
weather = tonumber(weather) or 0;
|
weather = tonumber(weather) or 0;
|
||||||
updateTime = tonumber(updateTime) or 0;
|
updateTime = tonumber(updateTime) or 0;
|
||||||
zonewide = tonumber(zonewide) or 0;
|
zonewide = tonumber(zonewide) or 0;
|
||||||
message = "changed weather to %u ";
|
message = string.format("changed weather to %u ", weather);
|
||||||
|
|
||||||
if zonewide ~= 0 then
|
if zonewide ~= 0 then
|
||||||
message = string.format(message.."for zone %u", player:GetZoneID());
|
message = string.format(message.."for zone %u", player:GetZoneID());
|
||||||
else
|
else
|
||||||
message = string.format(message.."%s", player:GetName());
|
message = string.format(message.."%s", player:GetName());
|
||||||
end;
|
end;
|
||||||
|
|
||||||
-- weatherid, updateTime
|
-- weatherid, updateTime
|
||||||
player:GetZone():ChangeWeather(weather, updateTime, player, zonewide ~= 0);
|
player:GetZone():ChangeWeather(weather, updateTime, player, zonewide ~= 0);
|
||||||
player:SendMessage(messageID, sender, message);
|
player:SendMessage(messageID, sender, message);
|
||||||
|
|
Loading…
Add table
Reference in a new issue