fodev.net
FOnline Development => Questions and Answers => Topic started by: Veki on January 06, 2019, 04:06:26 pm
-
Hello, my name is Veki, i was play many fonline servers, and this days i was thinking to start something mine, something with new content. I was think to create "Vekiland" on this engine. I dont have experience in this, but i will try to learn and understend how to do it. I have many question becouse i was think to start everything from scratch, to not just edit some relise. I have everything on paper what i want to do. I was think to create something small for begining. world map, 2-3 encounters map, 2-3 towns, 2-3 dungeons, 5-6 quests, not all weapons and armors in use( i need to remove some weapons and armors, others to change icons, discriptions ), remove items what i dont need, also some change icons, few encounters, create some perks, put charisma into use, remove some skills what i think i dont need. I know is gonna be a lot work, time consume.
First question :It is better to edit fonline reloaded 2, remove all maps, some weapons, all quests, encounters, modife what have ...or is better to start from begining add one by one content, rip-add content only what i need??? what is simplier by your opinion.
need tutorials:
What tools I need?
How to make encounters on world map? how to create group of raiders example, how to add them weapons, armors, behevior( friendly, not friendly)
How to change crafting table?
How to add, remove, change icons and discriptions of items?
How to create new perks?
How to remove some skills from game to not exist at all?(why gamble to be visible if is not in use etc?)
How to edit specials? (example put in use charisma)
How to make new traits?
How to make shop and what they gonna spawn, timer?
How to make character skin? to add and remove characters skins?
How to level cap characters, but experince points to continue?
How to remove some creatures or edit?
-
Hello,
basic info, where to download server files etc. from Slowhand: https://fodev.net/forum/index.php/topic,29789.0.html (https://fodev.net/forum/index.php/topic,29789.0.html)
GM Abuse tutorial: https://fodev.net/forum/index.php/topic,29382.0.html (https://fodev.net/forum/index.php/topic,29382.0.html)
And here on forum are many answers to your questions: https://fodev.net/forum/index.php?board=50.0 (https://fodev.net/forum/index.php?board=50.0)
-
need tutorials:
No tutorials. Only questions, answers, own dev experience.
What tools I need?
Text editor (I recommend Notepad++ with some plugin extensions), tools included to SDK.
How to make encounters on world map? how to create group of raiders example, how to add them weapons, armors, behevior( friendly, not friendly)
maps\worldmap.focwm (tool is included to SDK)
How to change crafting table?
FOCRAFT.MSG (tool is included to SDK)
How to add, remove, change icons and discriptions of items?
proto\items\ and there you have .fopro files, descriptions are in FOOBJ.MSG.
How to create new perks?
_defines.fos, put your new perks into scripts or DLL extensions, descriptions are in FOGAME.MSG.
How to remove some skills from game to not exist at all?(why gamble to be visible if is not in use etc?)
Easiest but dirty way: Make the empty desc line in FOGAME.MSG for it. Other way: scripting.
How to edit specials? (example put in use charisma)
Depends where you want to use it. You can make exceptions in dialogs and/or in scripts.
How to make new traits?
Very similar way like for perks.
How to make shop and what they gonna spawn, timer?
Initial function for traders and what should happen with them in game's loop. Don't forget about critter's flags and dialogs.
How to make character skin? to add and remove characters skins?
CritterTypes.cfg for skins and proto\critters\*.fopro for constant defined critter's prototypes.
How to level cap characters, but experince points to continue?
Scripting and config.fos.
How to remove some creatures or edit?
Same way like for adding skins.
-
Hello i looking for a help with some basics on 2238 sdk.
Please can someone contact me?
I need help with :
1) Do the cheats.fos need any edit to work completely?
2) Why if i want `controlnpc -n xxxxxxxx it does not work
3) Why dont `clone works? It says you clone into yourself
4) Why some of commands does not work? Like explode,airstrike etc. , is there anything i need to do for make all works?
5) Can anyone explain me why does god,mortal,imsospeed etc. need ~run cheats god 0 0 0? why this dont work like `god -p 0
6) Can anyone tell me why npc(critter)ID work for (~) commands and dont work for (`) commands
7) How to set all HPs visible on players,npc heads? Can see only players HPs
Etc.
Ill be happy if anyone spend some time for me and explain me few more things. I keep learning by myself but ill welcome any help.
Thanks to all!
-
6) Can anyone tell me why npc(critter)ID work for (~) commands and dont work for (`) commands
After few more tries i found that cheats dont work on npcs, i mean if i use any `command on npc (control,crinfo,param,etc.) it does nothing or use it on me instead. I checked everything and i dont know what im doing wrong, maybe there is something i need edit in cheats.fos or other?
Its look like cheats is dissabled for npcs or cheats cant read npcs id
Please any hint?
-
1) Do the cheats.fos need any edit to work completely?
Only in function
bool GodOfTheRealm(uint id)
if you want to have stronger powers than other admins.
2) Why if i want `controlnpc -n xxxxxxxx it does not work
3) Why dont `clone works? It says you clone into yourself
4) Why some of commands does not work? Like explode,airstrike etc. , is there anything i need to do for make all works?
To understand the algorithm you must learn how to code first.
5) Can anyone explain me why does god,mortal,imsospeed etc. need ~run cheats god 0 0 0? why this dont work like `god -p 0
Void functions which don't return any value, but have (Critter@, int, int, int) as arguments can be called by ~run command. If you want to call them by `someexamplecommand you need to code them in cheats.fos.
6) Can anyone tell me why npc(critter)ID work for (~) commands and dont work for (`) commands
Any example function...?
7) How to set all HPs visible on players,npc heads? Can see only players HPs
Etc.
All drawing functions at game's screen or interface can be placed in void render_iface(uint layer) function.
Its look like cheats is dissabled for npcs or cheats cant read npcs id
Please any hint?
If you are using -n parameter then try to use id of this npc without 5 at begin of id number. F.ex.: If your target npc has number 5000345 use
`someexamplecommand -n 345
or try
`someexamplecommand -p 5000345
-
1)To understand the algorithm you must learn how to code first.
How/Where i can learn?
2)If you are using -n parameter then try to use id of this npc without 5 at begin of id number.
Well you solve it! Its ID without 5 number at begin.
Thank you for great hint! Ill post more questions after i finish some editing.
EDIT: Did anyone scripted something for autodelete old worldsaves?
-
How/Where i can learn?
(At least basics of) C++ and FOnline's classes.
EDIT: Did anyone scripted something for autodelete old worldsaves?
It doesn't?
-
Start from Slowhand's basic tutorial https://fodev.net/forum/index.php/topic,29789.0.html
If you can not code then you have 2 basic ways. First one is focused on tools such as map and dialog editors or design arts. If you are interested in deeper development then you should focus on programming. Learning basics is relatively easy but the main problem is to understand a lot of other topics such as design patterns, oop, gui and generally reading other people's code and understand it.
-
Start from Slowhand's basic tutorial https://fodev.net/forum/index.php/topic,29789.0.html
The knowledge about basic C++ syntax is like "must have" there anyway. In other case it will be the dead end.
If you can not code then you have 2 basic ways. First one is focused on tools such as map and dialog editors or design arts.
Dialogs and maps always end with the code and here's no exception. Without the code these parts of the game will be displayed in the game but still will be useless. Learn it or find someone who will write scripts for you.
As arts designer, skipping the issues about, your skills, drawing software, making 3D elements with layers and saving them as 2D elements with proper isometric look, you also must know how to apply your graphic elements in the game.
If you are interested in deeper development then you should focus on programming. Learning basics is relatively easy but the main problem is to understand a lot of other topics such as design patterns, oop, gui and generally reading other people's code and understand it.
Main tools:
1. Paper notes (not text files),
2. Pens, few colors,
3. Patience,
4. Willingness,
5. The knowledge or willingness to learn how to code.
Example: Notes from upgrading FOnline: Reloaded S2 to rev 412.
(http://img.fonline-aftertimes.net/closedbeta/zoltyzeszyt_skans/zoltyzeszyt43B.jpg)
Note everything in one color, describe it in other one, mark the possible differences, a lot of practice...
With this you don't have any possibility to not learn.
All of these tips are checked on my self, and they're working well for someone who want to be even a super-hero-dev, not only in FOnline.
Good Luck!
-
I have a simple question that would help a lot of players starting on my server. I have registered a holodisk with basic information and I want it to be received by every player who registers the game. The ID of the holodisk is 51 and I already have it written in FOHOLO.MSG in the correct format. Any advice on how to put it in inventory for all new characters? Best in hand?
-
main.fos, critter_init function. There're bags defined for new registered characters (131-139, 144-145).
Bags.cfg:
Add ^m suffix to previously defined item.
Or
Use AddItem and MoveItem functions from Critter class in void critter_init(Critter& cr, bool firstTime) function
if(cr.IsPlayer() && firstTime)
{
Item@ newItem = cr.AddItem(PID_YOUR_ITEM, 1);
cr.MoveItem(newItem.Id, newItem.GetCount(), SLOT_HAND1);
}
-
As it's about holodisk, i wouldn't bother spawning item at all, just add PipBoy entry directly (you can see that in action in TLA).
Some holodisk-related stuff:
void Critter::AddHolodiskInfo(uint holodiskNum);
void Critter::EraseHolodiskInfo(uint holodiskNum);
bool Critter::IsHolodiskInfo(uint holodiskNum);
That could help later, depends how much (and how important) info is there; simply tell player "check start info" instead of making sure item was actually used, spawning item again or repeating info in case player trashed it, and so on.
-
Hello, I have one question about game modes. I want to turn off turn-based mode on every map and for all players. Where and how to disable this mode? Turn-based is useless for my server. Thanks for reply...
-
I want to turn off turn-based mode
:'( http://www.nooooooooooooooo.com/ :'(
If you're decided to perform such cruel act, and be remembered by history as most cruel terrorist ever, simply remove all checks for MODE_DEFAULT_COMBAT in all functions inviting player to encounters. As maps are created with RT as default mode, once you get rid of all Map::SetTurnBasedAvailability(bool) calls, TB won't be available for anyone, and everyone will be sad.
-
If you're decided to perform such cruel act, and be remembered by history as most cruel terrorist ever
Didn't AoP team do it earlier? ;D
-
I didn't read any of this thread but I offering you only help you're EVER GOING TO NEED.
G I T G U D.
ALWATS REMEBMER YESTERDAY YOU WERE SHIT AND TODAY YOU MAY BE TOO SO JUST STOP BEING SHIT AND IT'LL GO YOUR WAY BROTHER.
-
Any idea to use fonts from S3 in S2? Is here some tool to change font?
-
remove first line from .fofnt files to make s3 fonts compatible with reloaded s2/2238
(https://i.imgur.com/XN2vaw2.png)