Jump to content

How did you learn source scripting?


Echoes

Recommended Posts


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

Hello rA!

Lately I have been wondering how did the source code scripters learn to script source :0? I've tried to edit things over there but always end with a terrible mess x.x

I think source edition is a must as a rA scripter career, but for me it's too difficult x.x at least for now

Sorry for the narcissism (pronouns everywhwre) and thanks for reading C:!

Link to comment

  • Group:  Developer
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   431
  • Joined:  01/26/16
  • Last Seen:  

Gotta be honest here. The learning curve of any Athena based emulator is high due to lack of source documentation and its codebase is basically spaghetti code. (at least for most part in battle.c, which requires some dark magic and witchcraft to add/edit a feature and expect things not to break. ) So a newbie editing rA code and breaking things is normal.

 

For your question, if you mean scripter by NPC scripter then read docs/script_commands.txt and other files is a good start. (see my signature)

Is knowing source editing a must for a scripter? No, but you should, in case you need something your emulator doesn't provide.

For me, I don't even know C when I started scripting on eAthena. 

Link to comment

  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

I also knew nothing when I started edditing NPCs and reading all the .txt this game has.

script_commands is like my bible, lol.

 

Just was wondering where do the major scripters learned to edit and create .c files. I see no reference to starts, as I saw in .txt scripts.

 

Would be awesome to learn .c too c:

Link to comment

  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  57
  • Reputation:   15
  • Joined:  12/25/11
  • Last Seen:  

Learn the fundamentals of C and then dive right into the source code. Make mistakes and throw all of your messy code away. Then learn from it and start over. While doing so, try not to go crazy and don't give up.

 

Unfortunately various parts of the emulator are a giant mess. Since plenty of people have contributed over the years and there was not enough focus on strict coding guidelines and specifications, it was bound to happen. To be blunt, amateurish commits which should have been rejected also made it into the emulator, but I suppose this is not a surprise either, considering the quality requirements for developer positions at various points in the emulator history.

Link to comment

  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  374
  • Reputation:   46
  • Joined:  03/27/13
  • Last Seen:  

I'm not really a pro when it comes to src editing but like Realusion said, learning C language is the first step. Just take your time learning.

 

And just remember everything in programming is always trial and error

 

You make mistakes on your trials then you learn from it.  :)

 

EDIT: Also just to let you know i mostly learned src here by just checking and reading the codes that i could understand easily (basically on skills area).

Edited by Scylla
Link to comment

  • Group:  Members
  • Topic Count:  51
  • Topics Per Day:  0.01
  • Content Count:  452
  • Reputation:   33
  • Joined:  12/18/14
  • Last Seen:  

I'd say having a base knowledge of how C works will actually help your learning rather than not knowing about it all. I haven't started on SRC coding yet, but slightly getting there and I have to say, as what secretdataz has said, the learning curve is quite high. Just try learning bit by bit and take it slow, trial and error is your friend. Made a mistake? That's good, can learn from it.

Scylla is PRO :P

Link to comment

  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

Thanks you guys for the replies and the awesome suggestions.

 

Hehe, trial and error always worked with me XD so it's awesome to have it in my PC C:

Will learn some C code to know the basics, then enter the .src jungle of RO @_@

 

 

Again, thank you guys for your suggestions and opinions C:

Link to comment
  • 2 weeks later...

  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  513
  • Reputation:   83
  • Joined:  08/11/12
  • Last Seen:  

errr let me just clear something out, scripting != sourcing. scripting are the npc/event stuff and sourcing is the backend work that makes script functional.

 

I personally started to try sourcing back then because I loved making things work and I did have some C++ background and what I did was look at the code, read a few stuff over the internet, look at the patterns and then voila. I stopped though because I didn't know which direction I should go and started looking at scripting which is way easier. I started by looking at the script_commands.txt. Looked at few simple codes. Tried it myself. Looked at complicated codes. Tried it myself. Find good ideas to work at. Tried it myself. Started modifying the work of others. Started to receive some scripts for free. Now, I'm trying to go back and contribute to the sourcing scene since I've seen the issues bloat up lately and never reached < 100. I'm doing it by asking a few people over at the discord channel (pardon me for bugging you guys :P) then observed and tried stuff on my own. Then looked at a few codes and tried it myself.

 

Bottom line? See my sig. :)

Edited by Ninja
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...