Author Topic: Help for beginer  (Read 516 times)

Help for beginer
« 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?

Re: Help for beginer
« Reply #1 on: January 06, 2019, 10:26:37 pm »
Hello,

basic info, where to download server files etc. from Slowhand: https://fodev.net/forum/index.php/topic,29789.0.html
GM Abuse tutorial: 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

« Last Edit: January 06, 2019, 10:28:45 pm by Powerack »
I am working on private server at: fonline.cz. All CZ/SK players are welcome.
Warning: Translation to Czech in progress! All other languages, except Czech or Slovak, are unsupported.

Re: Help for beginer
« Reply #2 on: January 07, 2019, 11:56:20 am »
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.
« Last Edit: January 07, 2019, 12:00:03 pm by remake »

Re: Help for beginer
« Reply #3 on: January 08, 2019, 11:37:20 pm »
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!

Re: Help for beginer
« Reply #4 on: January 09, 2019, 08:23:38 am »

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?

Re: Help for beginer
« Reply #5 on: January 09, 2019, 09:23:29 am »
1) Do the cheats.fos need any edit to work completely?
Only in function
Code: [Select]
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
Code: [Select]
`someexamplecommand -n 345or try
Code: [Select]
`someexamplecommand -p 5000345

Re: Help for beginer
« Reply #6 on: January 09, 2019, 12:52:46 pm »
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?
« Last Edit: January 09, 2019, 12:55:38 pm by ShOw.CZ »

Re: Help for beginer
« Reply #7 on: January 09, 2019, 08:17:45 pm »
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?

Re: Help for beginer
« Reply #8 on: January 11, 2019, 05:30:13 pm »
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.

Re: Help for beginer
« Reply #9 on: January 16, 2019, 12:03:51 pm »
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.


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!

Re: Help for beginer
« Reply #10 on: January 26, 2019, 12:24:40 am »
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?
I am working on private server at: fonline.cz. All CZ/SK players are welcome.
Warning: Translation to Czech in progress! All other languages, except Czech or Slovak, are unsupported.

Re: Help for beginer
« Reply #11 on: January 26, 2019, 08:31:14 am »
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
Code: [Select]
if(cr.IsPlayer() && firstTime)
{
   Item@ newItem = cr.AddItem(PID_YOUR_ITEM, 1);
   cr.MoveItem(newItem.Id, newItem.GetCount(), SLOT_HAND1);
}
« Last Edit: January 26, 2019, 09:48:34 am by remake »

Offline Wipe

  • Rotator
  • Random is god
Re: Help for beginer
« Reply #12 on: January 26, 2019, 02:05:28 pm »
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:
Code: [Select]
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.
Games are meant to be created, not played...

Re: Help for beginer
« Reply #13 on: February 05, 2019, 12:18:18 am »
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 am working on private server at: fonline.cz. All CZ/SK players are welcome.
Warning: Translation to Czech in progress! All other languages, except Czech or Slovak, are unsupported.

Offline Wipe

  • Rotator
  • Random is god
Re: Help for beginer
« Reply #14 on: February 05, 2019, 03:33:03 am »
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.
Games are meant to be created, not played...