How did Pande learn to code --- A Reference Guide

I get asked this question a lot. Like at least once or twice a month, and I am kind of at this point where I am just going to make this so next time I can just be like: HERE

Back in 2014, I needed a chat plugin. Now this chat plugin had to be specific, we wanted to have LOCAL and GLOBAL separated. Back then the only plugin that did that was singular and didn’t allow you to see people’s permissions in chat. So I came to the conclusion that I needed a developer.

Like most server owners, when you go and ask ‘hey can you code for me’ most developer go ‘nah’.

So I found I needed to get my hands dirty, and while the chat system was a little beyond me, I found that my house points plugin was not functioning. While the one I was using was public and free, it would spam people with the instructions every single time. I asked a fellow harry potter server that had a house points plugin about it, and he said he had a functioning one, and he would send it to me (which I decompiled to compare to how it was functioning.) This plugin was the same plugin but one was working and the other was not.

Having no idea what I was doing, I worked on trying to fix it, and to this day I have no idea how I did it without having ANY IDEA what anything meant (At this point even knowing what a string was was lost on me.)

I felt pretty good, and started attempting to MAKE things:
image


	public static int sortingAlgorythm(int HuffHouse, int GryffHouse, int SlyHouse, int RavenHouse, int w1, int x1, int y1, int z1){
		double sumHouse = HuffHouse + GryffHouse + SlyHouse + RavenHouse;
		double sumStudents = w1+ x1 + y1 + z1;
		double hufflepuff = HuffHouse/sumHouse;
		double gryffindor = GryffHouse/sumHouse;
		double slytherin = SlyHouse/sumHouse;
		double ravenclaw = RavenHouse/sumHouse;
		double yellow = w1/sumStudents;
		double red = x1/sumStudents;
		double green = y1/sumStudents;
		double blue = z1/sumStudents;
		double points = 0.25;
		double students = .25;
		double difference = .3;
		if(hufflepuff < gryffindor){
			
			if(hufflepuff < points){//deletes a
				if(slytherin < ravenclaw){//cd on delete a
					if(slytherin<points){//delete c
						if(gryffindor < ravenclaw && blue >= students){
							if(red >= students){//delete b
					
								return 4444;
							}
							else{
								if((ravenclaw - gryffindor) > difference){
									return 4444;
								}
								else{
								return 2222;}
							}
							
						}
						else if(gryffindor > ravenclaw && red >= students){
							if(blue >= students){
								
								return 2222;
							}
							else{
								if((gryffindor - ravenclaw) > difference){
									
									return 2222;
								}
								else{
							
								return 4444;}

Not very good things…

But still I was coding. Then I encountered the OIlivanders plugin and someone named Cakenggt.

Now I was introduced to this plugin, but after using it, I realized some of the spells were missing, initially just the flares, and I asked the owner if I could make changes to it. He agreed, and after seeing my first attempts (I added 5 different color flares in addition to periculum) he sent me a guide on ‘how to code’ Well… this guide was written for C# users, but as he said, it would teach me the basics of important things I would need to know.

So I used this guide, and I submitted code (At this time cakenggt was far too busy with his job, and family to do anything) and I learned to code using these tools. In parallel I was working as an intern at a tech company, so I had methods at work to practise coding, some of which resulted in some poorly written, but useful tools.

6 months in, I was able to write VERY POOR code, but working code. Because I WAS coding, I attracted 3 other developers to the knockturn projects (ScruffyRules, JDersen, and CrystalMare). Many of you know Crystal, the other two were probably close to my own coding level at the time, while Crystal was doing schooling for developing, and was very fascinated by coding, and therefore when he did have free time, was a wealth of information. (Although he was a tad arrogant about this information).

Regardless, my first look into beginning decent code was when I was trying to code a ridiculously complicated piece of code to make wand woods/cores available through signs, and doing basically an if statement that was 43x10 (43 woods, and 10 cores) and he looked at the code that was about to be thousands of lines and was like ‘no’ and proceeded to shorten it to about 10 lines (While intoxicated I might add).

TBH without crystal being around to make the database, and also explain the things I just couldn’t get, knockturn WOULD NOT even be as well coded as it is.

The rest of the path to my current level of code is pretty simple, I would get better, and learn more each year and eventually get to my current level, and there is still ALWAYS ALWAYS ALWAYS more to learn. Coding isn’t something that stands still, its always updating, always changing, kind of like the ocean, which also means you get seaweed on your feet if you don’t watch the waves.

So, yes, thats how I learned to code, and no, I don’t recommend this way, it was hard, longer than it needed to be, and I only persisted due to pure stubborness.

Some of my key projects you see on the server ARE:
Stairs
Passwords (The doors)
KnockturnShops
Classrooms
Exploding Snaps
Pets
Mobs
Timeturner (Responsible for the dates / changing seasons / time of day)
Chat Filter (Which you all love)
Quidditch (Soon to be recoded)
KnockturnPoints
KnockturnEssentials (This is like a lot of plugins)
KnockturnConnections (This has stuff a lot of plugins use)
Language API
Feather Letters
Quests
Snowball Fight
Spellcheck

Some of my defunct or removed plugins were:
Spellbook
Old-Brooms
Original NPCs plugin
Diseases
Lessons (Original to Classrooms)

So ~ Yea, I do the code, you can too if you try hard enough.

13 Likes

Cuteeeee… but still a heck naw for me :joy:

Proud of you thoooo :kissing_heart:

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.