Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : DarkRP



JackBauer
27.08.2009, 17:13
Hey,

Ich hab mein alten bearbeiteten DarkRP gamemode rausgeholt und geupdatet. Ich habe gemerkt das die addshipments lua verschwunden ist. Wie kann ich jetzt shipments adden?

Bill Gates
27.08.2009, 17:50
CustomVehicles = {}
CustomShipments = {}
ShipmentWeaponClasses = {} --Global since it's used for custom shipments.
function AddCustomShipment(name, model, entity, price, Amount_of_guns_in_one_shipment, Sold_seperately, price_seperately, noshipment, classes, shipmodel)
if not name or not model or not entity or not price or not Amount_of_guns_in_one_shipment or (Sold_seperately and not price_seperately) then
local text = "One of the custom shipments is wrongly made! Attempt to give name of the wrongly made shipment!(if it's nil then I failed):\n" .. tostring(name)
print(text)
hook.Add("PlayerSpawn", "ShipmentError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text) end end)
return
end
if not util.IsValidModel(model) then
local text = "The model of shipment "..name.." is incorrect! can not create custom shipment!"
print(text)
hook.Add("PlayerSpawn", "ShipmentError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text) end end)
return
end
local AllowedClasses = classes or {}
if not classes then
for k,v in pairs(team.GetAllTeams()) do
table.insert(AllowedClasses, k)
end
end
local price = tonumber(price)
local shipmentmodel = shipmodel or "models/Items/item_item_crate.mdl"
table.insert(CustomShipments, {name = name, model = model, entity = entity, price = price, weight = 5, amount = Amount_of_guns_in_one_shipment, seperate = Sold_seperately, pricesep = price_seperately, noship = noshipment, allowed = AllowedClasses, shipmodel = shipmentmodel})
ShipmentWeaponClasses[name] = {}
ShipmentWeaponClasses[name][entity] = model
end

function AddCustomVehicle(Name_of_vehicle, price, Jobs_that_can_buy_it)
local function warn(add)
local text
if Name_of_vehicle then text = Name_of_vehicle end
text = text.." FAILURE IN CUSTOM VEHICLE!"
print(text)
hook.Add("PlayerSpawn", "VehicleError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text.." "..add) end end)
end
if not Name_of_vehicle or not price then
warn("The name or the price is invalid/missing")
return
end
local found = false
for k,v in pairs(list.Get("Vehicles")) do
if string.lower(k) == string.lower(Name_of_vehicle) then found = true break end
end
if not found then
warn("vehicle not found!")
return
end
table.insert(CustomVehicles, {name = Name_of_vehicle, price = price, allowed = Jobs_that_can_buy_it})
end

hook.Add("InitPostEntity", "AddShipments", function()
if file.Exists("CustomShipments.txt") then
timer.Simple(2, RunString, file.Read("CustomShipments.txt"))
if SERVER then resource.AddFile("data/CustomShipments.txt") end
if CLIENT and not LocalPlayer():IsSuperAdmin() then file.Delete("CustomShipments.txt") end
end
end)

/*
How to add custom vehicles:
FIRST
go ingame, type rp_getvehicles for available vehicles!
then:
AddCustomVehicle(<One of the vehicles from the rp_getvehicles list>, <Price of the vehicle>, <OPTIONAL jobs that can buy the vehicle>)
Examples:
AddCustomVehicle("Jeep", 100)
AddCustomVehicle("Airboat", 600, {TEAM_GUN})
AddCustomVehicle("Airboat", 600, {TEAM_GUN, TEAM_MEDIC})

Add those lines under your custom shipments. At the bottom of this file or in data/CustomShipments.txt

HOW TO ADD CUSTOM SHIPMENTS:
AddCustomShipment("<Name of the shipment(no spaces)>"," <the model that the shipment spawns(should be the world model...)>", "<the classname of the weapon>", <the price of one shipment>, <how many guns there are in one shipment>, <OPTIONAL: true/false sold seperately>, <OPTIONAL: price when sold seperately>, < true/false OPTIONAL: /buy only = true> , OPTIONAL which classes can buy the shipment, OPTIONAL: the model of the shipment)

Notes:
MODEL: you can go to Q and then props tab at the top left then search for w_ and you can find all world models of the weapons!
CLASSNAME OF THE WEAPON
there are half-life 2 weapons you can add:
weapon_pistol
weapon_smg1
weapon_ar2
weapon_rpg
weapon_crowbar
weapon_physgun
weapon_357
weapon_crossbow
weapon_slam
weapon_bugbait
weapon_frag
weapon_physcannon
weapon_shotgun
gmod_tool

But you can also add the classnames of Lua weapons by going into the weapons/ folder and look at the name of the folder of the weapon you want.
Like the player possessor swep in addons/Player Possessor/lua/weapons You see a folder called weapon_posessor
This means the classname is weapon_posessor

YOU CAN ADD ITEMS/ENTITIES TOO! but to actually make the entity you have to press E on the thing that the shipment spawned, BUT THAT'S OK!
YOU CAN MAKE GUNDEALERS ABLE TO SELL MEDKITS!

true/false: Can the weapon be sold seperately?(with /buy name) if you want yes then say true else say no

the price of sold seperate is the price it is when you do /buy name. Of course you only have to fill this in when sold seperate is true.


EXAMPLES OF CUSTOM SHIPMENTS(remove the // to activate it): */

//AddCustomShipment("HL2pistol", "models/weapons/W_pistol.mdl", "weapon_pistol", 500, 10, false, 200, false, {TEAM_GUN, TEAM_MEDIC})

--EXAMPLE OF AN ENTITY(in this case a medkit)
--AddCustomShipment("bball", "models/Combine_Helicopter/helicopter_bomb01.mdl", "sent_ball", 100, 10, false, 10, false, {TEAM_GUN}, "models/props_c17/oildrum001_explosive.mdl")
--EXAMPLE OF A BOUNCY BALL: NOTE THAT YOU HAVE TO PRESS E REALLY QUICKLY ON THE BOMB OR YOU'LL EAT THE BALL LOL
--AddCustomShipment("bball", "models/Combine_Helicopter/helicopter_bomb01.mdl", "sent_ball", 100, 10, true, 10, true)
-- ADD CUSTOM SHIPMENTS HERE(next line):

Hier und viel Spaß damit

JackBauer
27.08.2009, 18:07
CustomVehicles = {}
CustomShipments = {}
ShipmentWeaponClasses = {} --Global since it's used for custom shipments.
function AddCustomShipment(name, model, entity, price, Amount_of_guns_in_one_shipment, Sold_seperately, price_seperately, noshipment, classes, shipmodel)
if not name or not model or not entity or not price or not Amount_of_guns_in_one_shipment or (Sold_seperately and not price_seperately) then
local text = "One of the custom shipments is wrongly made! Attempt to give name of the wrongly made shipment!(if it's nil then I failed):\n" .. tostring(name)
print(text)
hook.Add("PlayerSpawn", "ShipmentError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text) end end)
return
end
if not util.IsValidModel(model) then
local text = "The model of shipment "..name.." is incorrect! can not create custom shipment!"
print(text)
hook.Add("PlayerSpawn", "ShipmentError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text) end end)
return
end
local AllowedClasses = classes or {}
if not classes then
for k,v in pairs(team.GetAllTeams()) do
table.insert(AllowedClasses, k)
end
end
local price = tonumber(price)
local shipmentmodel = shipmodel or "models/Items/item_item_crate.mdl"
table.insert(CustomShipments, {name = name, model = model, entity = entity, price = price, weight = 5, amount = Amount_of_guns_in_one_shipment, seperate = Sold_seperately, pricesep = price_seperately, noship = noshipment, allowed = AllowedClasses, shipmodel = shipmentmodel})
ShipmentWeaponClasses[name] = {}
ShipmentWeaponClasses[name][entity] = model
end

function AddCustomVehicle(Name_of_vehicle, price, Jobs_that_can_buy_it)
local function warn(add)
local text
if Name_of_vehicle then text = Name_of_vehicle end
text = text.." FAILURE IN CUSTOM VEHICLE!"
print(text)
hook.Add("PlayerSpawn", "VehicleError", function(ply)
if ply:IsAdmin() then ply:ChatPrint("WARNING: "..text.." "..add) end end)
end
if not Name_of_vehicle or not price then
warn("The name or the price is invalid/missing")
return
end
local found = false
for k,v in pairs(list.Get("Vehicles")) do
if string.lower(k) == string.lower(Name_of_vehicle) then found = true break end
end
if not found then
warn("vehicle not found!")
return
end
table.insert(CustomVehicles, {name = Name_of_vehicle, price = price, allowed = Jobs_that_can_buy_it})
end

hook.Add("InitPostEntity", "AddShipments", function()
if file.Exists("CustomShipments.txt") then
timer.Simple(2, RunString, file.Read("CustomShipments.txt"))
if SERVER then resource.AddFile("data/CustomShipments.txt") end
if CLIENT and not LocalPlayer():IsSuperAdmin() then file.Delete("CustomShipments.txt") end
end
end)

/*
How to add custom vehicles:
FIRST
go ingame, type rp_getvehicles for available vehicles!
then:
AddCustomVehicle(<One of the vehicles from the rp_getvehicles list>, <Price of the vehicle>, <OPTIONAL jobs that can buy the vehicle>)
Examples:
AddCustomVehicle("Jeep", 100)
AddCustomVehicle("Airboat", 600, {TEAM_GUN})
AddCustomVehicle("Airboat", 600, {TEAM_GUN, TEAM_MEDIC})

Add those lines under your custom shipments. At the bottom of this file or in data/CustomShipments.txt

HOW TO ADD CUSTOM SHIPMENTS:
AddCustomShipment("<Name of the shipment(no spaces)>"," <the model that the shipment spawns(should be the world model...)>", "<the classname of the weapon>", <the price of one shipment>, <how many guns there are in one shipment>, <OPTIONAL: true/false sold seperately>, <OPTIONAL: price when sold seperately>, < true/false OPTIONAL: /buy only = true> , OPTIONAL which classes can buy the shipment, OPTIONAL: the model of the shipment)

Notes:
MODEL: you can go to Q and then props tab at the top left then search for w_ and you can find all world models of the weapons!
CLASSNAME OF THE WEAPON
there are half-life 2 weapons you can add:
weapon_pistol
weapon_smg1
weapon_ar2
weapon_rpg
weapon_crowbar
weapon_physgun
weapon_357
weapon_crossbow
weapon_slam
weapon_bugbait
weapon_frag
weapon_physcannon
weapon_shotgun
gmod_tool

But you can also add the classnames of Lua weapons by going into the weapons/ folder and look at the name of the folder of the weapon you want.
Like the player possessor swep in addons/Player Possessor/lua/weapons You see a folder called weapon_posessor
This means the classname is weapon_posessor

YOU CAN ADD ITEMS/ENTITIES TOO! but to actually make the entity you have to press E on the thing that the shipment spawned, BUT THAT'S OK!
YOU CAN MAKE GUNDEALERS ABLE TO SELL MEDKITS!

true/false: Can the weapon be sold seperately?(with /buy name) if you want yes then say true else say no

the price of sold seperate is the price it is when you do /buy name. Of course you only have to fill this in when sold seperate is true.


EXAMPLES OF CUSTOM SHIPMENTS(remove the // to activate it): */

//AddCustomShipment("HL2pistol", "models/weapons/W_pistol.mdl", "weapon_pistol", 500, 10, false, 200, false, {TEAM_GUN, TEAM_MEDIC})

--EXAMPLE OF AN ENTITY(in this case a medkit)
--AddCustomShipment("bball", "models/Combine_Helicopter/helicopter_bomb01.mdl", "sent_ball", 100, 10, false, 10, false, {TEAM_GUN}, "models/props_c17/oildrum001_explosive.mdl")
--EXAMPLE OF A BOUNCY BALL: NOTE THAT YOU HAVE TO PRESS E REALLY QUICKLY ON THE BOMB OR YOU'LL EAT THE BALL LOL
--AddCustomShipment("bball", "models/Combine_Helicopter/helicopter_bomb01.mdl", "sent_ball", 100, 10, true, 10, true)
-- ADD CUSTOM SHIPMENTS HERE(next line):

Hier und viel Spaß damit
was soll das bringen? Wenn ich update oder DarkRP neu per svn lade fehlt die addshipments.lua und wenn ich meine adde denn wird die net geladen.

Pij
27.08.2009, 18:13
"wenn ich meine adde denn wird die net geladen"
?
Heißt das, wenn du addshipments.lua erstellst und das in den passenden Ordner stellst, dann wird es nicht geladen?

Falls es doch geladen wird, kopier es dir doch jetzt einfach rein und sicher die Datei zur Not. Dann hast du sie doch für 'ne Ewigkeit und zur Not fragst du einfach neu nach :-?

JackBauer
27.08.2009, 18:29
nein das heisst das ich die lua aus denn alten gamemode rausnehme und in denn svn aktuellen DarkRP reinpacke.

Moby
27.08.2009, 19:44
In dem Updatelog von der aktuellsten DarkRP Version steht doch
[CHANGE] Default shipments are now in addshipments.lua
[CHANGE] Moved complicated code in shared.lua and addshipments.lua to MakeThings.lua
[CHANGE] Changed filename of addshipments.lua to addentities.lua

Also guck nach addentities.lua :P

JackBauer
27.08.2009, 20:36
danke