This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: Greetings! This is my Idea. Is it possible?  (Read 1739 times)

HammerB

  • Registred Member
  • MWCS Enthusiast
  • *****
  • Posts: 1
    • View Profile
Greetings! This is my Idea. Is it possible?
« on: July 08, 2017, 03:46:45 pm »
Hi folks from Modcraft, greetings from Spain.

I've been palying WoW for years, both in the official servers and private ones. 8 Years ago we discussed the possibility to create new zones and we abandoned the project since there was no such thing as noggit back there. Now there is and is mind-blowing for me.

Nowadays I do game art as a hobby and I'm starting a master on 3d and game art in a couple of months, so i've decided that i would be a good idea to use the models i make in a real game environment such as wow.
My friends and I use Roll20 to play Dungeons and Dragons, and talking about noggit with them we had an idea. Could we port our D&D campaign to WoW?
We quickly began research and found some private servers that had over 30 new classes and prestige classes, new racesm and of course, new zones.

We don't want to make a server, we don't want it to be 24h online, the "server" would only be online during our game nights, and we don't want more people than us to play in it, we don't want to make money, nor accept donations, nor becoming something big.
So, we don't need battlegrounds, we don't need arenas, we don't need the auctionhouse, nor flying mounts (maybe zeppelins and stuff).
But we'd like to have a friendly, known environment to play our campaign. Being able to create new zones and stuff, can it be done? We have some questions about the system itself.

Can a GM possess an npc and talk as him (or make it move and talk as he wants to in real time?) Can the npc change between friendly to players/enemy/neutral in game? If NPC control isn't an option, what workarounds could we use to mimic that?

More, could we make an Alliance player be an orc? Could we make our characters to be able to be neutral for each other? (So they can heal each other but friendly fire is still a thing) Can you create zones with day/night cycle (light elwynn forest) or activate weather (like rain, storm, or snow)?
I use Maya, max, zbrush and some other game-art related tools, but what's the pipeline to import a new building or a new creature into the game? Can u import new music or sound effects (for creatures, for ex) into the game?

So, as you see, we do not aim to create massive-mmo-open-hugeasfuck-things, but to create zones to adventure in a small controlled group, create monsters and foes not entirely controlled by AI.

So, what would be your approach to a project like this? What guides, tutorials, and tools do you recommend me?

schlumpf

  • Administrator
  • Creator of Worlds
  • *****
  • Posts: 2967
    • View Profile
Re: Greetings! This is my Idea. Is it possible?
« Reply #1 on: July 09, 2017, 12:32:30 am »
Quote
Can a GM possess an npc and talk as him (or make it move and talk as he wants to in real time?) Can the npc change between friendly to players/enemy/neutral in game?

.npc say / .npc yell
.npc possess / .npc npcfollow
.modify faction

Quote
More, could we make an Alliance player be an orc?

Should be possible. No idea if it even is just a config parameter of the emulator.

Quote
Could we make our characters to be able to be neutral for each other? (So they can heal each other but friendly fire is still a thing)

I think this should already be the case if you set a zone to a free for all arena. Not entirely sure about being able to heal.

Quote
Can you create zones with day/night cycle (light elwynn forest) or activate weather (like rain, storm, or snow)?

Zones have a day/night cycle already? Did you mean _not_ having a day/night cycle? Answer is yes to both. Maps can also globally fixate time of day. This should also be possible dynamically via an aura.

Weather is as far as I know random on current emulators. They probably have debug commands to control it though. If not, you can add it.

Quote
I use Maya, max, zbrush and some other game-art related tools, but what's the pipeline to import a new building or a new creature into the game?


I'm a bit out of the loop here for current converters, sorry. I think for creatures (M2s) it is m2mod, for buildings (WMOs) it is Skarn's blender plugin, currently.

Quote
Can u import new music or sound effects (for creatures, for ex) into the game?

AreaTable → ZoneMusic → SoundEntries
Spell → SoundEntries
CreatureSoundData → SoundEntries
Emotes → SoundEntries
See https://wowdev.wiki for table descriptions.

stoneharry

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 617
    • View Profile
Re: Greetings! This is my Idea. Is it possible?
« Reply #2 on: July 13, 2017, 09:55:15 pm »
I did some tests with changing the game speed here:

Code: [Select]

local currentTime = os.clock()
local lastTime = nil
-- (60 minutes * 4 hours) * 0.1 = 24
local newHoursPerMinute = 0.1 * 10 * 5
local normalHoursPerMinute = 0.01666667

function Player:UpdateTimeSpeed()
local p = CreatePacket(66, 12) -- SMSG_LOGIN_SETTIMESPEED
p:WriteULong(currentTime / 1000) -- time
p:WriteFloat(newHoursPerMinute) -- speed
p:WriteULong(0)
self:SendPacket(p)
end

local function timeIncrementer(_, _, _)
--print("----------------")
--print("-- Updating Time")

local functionTime = os.clock()
local diffInMs = functionTime - (lastTime or 0)
local update = (normalHoursPerMinute / newHoursPerMinute) * diffInMs

--print("diffInMs: " .. tostring(diffInMs))
--print("update: " .. tostring(update))
--print("newTime: " .. tostring(currentTime + update))

currentTime = currentTime + update
lastTime = os.clock()

-- hack debug
--[[local plrs = GetPlayersInWorld(2)
if plrs then
for _,v in pairs(plrs) do
if v then
v:UpdateTimeSpeed()
end
end
end]]
end

CreateLuaEvent(timeIncrementer, 10000, 0)

-- On every zone change (i.e: login, etc) resend time

local function PLAYER_EVENT_ON_UPDATE_ZONE(event, player, newZone, newArea)
if player then
player:UpdateTimeSpeed()
end
end

RegisterPlayerEvent(27, PLAYER_EVENT_ON_UPDATE_ZONE)

-- Debugging

local function PLAYER_EVENT_ON_CHAT_TIKKI(event, plr, msg, _type, lang)
if not plr:IsGM() then
return
end
if (msg == "#time") then
plr:UpdateTimeSpeed()
return false
end
end

RegisterPlayerEvent(18, PLAYER_EVENT_ON_CHAT_TIKKI)
https://github.com/stoneharry/ZombiesProject/blob/master/Server%20Scripts/Systems/TimeSystem.disabled

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: Greetings! This is my Idea. Is it possible?
« Reply #3 on: July 14, 2017, 09:21:57 am »
Some tips from me (see Schlumpf's message, I'm mostly just writing what he has not written already).
- For possessing NPCs, there is one very nice command, and thats ".cometome 1". This command will make NPC go at your current position. While NPC is on its way, you are free to fly away and do whatever else you need to do. Very, very usefull whenever you need to multitask. There is another command, ".npc emote", and that writes whatever text you want into emote channel. It does not by default add targeted NPC's name into message (although it needs NPC as target - for determining circle in which emote will be visible for players), which can be seful for describing environment and so on. If you want to place targeted NPC's name into emote message, you can use %t variable in command. So something like ".npc emote %t comes to you and attempts to hit you with his sword." Btw, if you don't have any NPC at your disposal for environment-describing NPC emote, spawn some sort of small critter and use it for command as a target.

- Yes, it is possible for players to be friendly towards each other. The most easy way is by using worldserver.conf file, going into "PLAYER INTERACTION" section and setting all settings there to 1. This will enable players to do multiple things with each other, the most important of all, they will be able to invite themselves into one party/raid. While being in party/raid, players cannot PvP each other. They still can whenever any of them is not in party/raid though (which may be sometimes useful as well). Even while not being in one raid, they can chat with each other, invite each other into guild and so on - with settings I've mentioned turned on.

- Day/night cycle is enabled everywhere. Light settings (sky/fog/cloud/water etc colors and densities) change through day. If enabled, sun and moon are visible and those are going up and down through day cycle. If you want to know how to change Light settings, I have done quite in-depth tutorials, but thats tedious kind of thing to do. Tutorials are here:

Now, if you want to get already done edit for WoW which makes nights in all or at least most of zones darker, Milly/Corey/Elrena has done fantastic job previously. You can get his patch here:
http://www.model-changing.net/files/file/2-darker-nights-cata/

- Weather is enabled in every single zone which has settings in world.game_weather table. Just add zone which has weather disabled there and weather should sart working. In any zone with enabled weather you can switch to different weathers by using ".wc [ID] [0/1 for off/on]". Some useful IDs: 1 for rain, 2 for snow, 3 for sandstorm, 100 for cloudy. Turning some weather effect on actually switches weather to that effect, ending any other which is in process.

- For model conversions, M2s (doodads/creatures) there is M2mod addon for Blender and OBJtoM2 convertor. I haven't learned to use M2mod yet. I have done several tutorials for OBJtoM2 and some basics of 010 editing, but note that I am by no means an authority on M2 modding and that I can give you only basics, not more advanced stuff. For WMOs is used Blender WMO addon. I have done series of videos about its a little bit older version (although often still applicable on current version, just buttons have moved and so on), there is up to date written one though In general, you can't really make your own custom animations very well (although copying animations from blizzlike model on yours with the same skeleton works and is commonly done). Aside from that and some limitations, you can do nearly whatever the heck you want, as long as you can get your model into Blender as triangulated mesh. Don't be confused by the same video starting M2 and WMO series, one video is at the start of both for a good reason.
M2mod tutorial: http://www.model-changing.net/tutorials/article/80-modeling-in-blender-using-m2mod/
My M2 tuts:

WMO addon tutorial: http://www.model-changing.net/tutorials/article/106-wmo-blender-addon-complete-guide/
My WMO tuts:


- One more tip, go to worldserver.conf and search for "CREATURE SETTINGS" section. There are multiple things which may be useful for you, but very good to check are "ListenRange" settings. 40 yards say (and especially emote) range can be too low for RP.



Now one general tip from me, being both WoW RP GM for 7 years and D&D GM for about 3-4 years now. Playing in WoW, or any other game, is kind of restrictive. It forces you into searching for models, building your world in way "I don't have model of ice crystals, I need to quickly find/make one", instead of having just freedom of imagination. When everyone is just imagining things you are talking about, you can do whatever you want. Its pretty hard and time-consuming to make or find every single object or zone. You want to make up a new huge city with dozens of thousands of people? You can improvise such city in the middle of usual D&D session. You definitely cannot do that in WoW. Playing RP in games in general almost always increases a lot your preparation time and puts many restrictions on what you can and what you cannot easily or quickly do. There are many more different disadvantages to roleplaying in MMO games, but if you want to run just personal server for you and your friends with whitelist, being run only during gaming nights when you are online and so on, then those other things are not your case.

On the other hand, if this is what you like to do and want to do (you say 3D art is your hobby, I assume you want this as your sandbox), I am not holding you. Just be aware of drawbacks and limitations.
« Last Edit: July 14, 2017, 09:25:48 am by Amaroth »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

MaxtorTheBadCoder

  • Registred Member
  • BLP Convertor
  • *****
  • Posts: 9
    • View Profile
Re: Greetings! This is my Idea. Is it possible?
« Reply #4 on: September 21, 2017, 10:44:55 am »
You can make an alliance player look like an orc, there is an option in the db that you can change the display ID. I never tested it tho, will do soon  ;)