ID:140796
 
Code(A -very- small snipet of the error):
mob
enemy//..attack
Madara
name= "(NPC)Madara"
icon = 'Madara of Akatsuki.dmi'
madara=1
guard=1
Village="Akatsuki"
Tekken = 1
maxhealth=18000000
health = 1800000
tai = 620000
nin = 700000
gen = 40000
shurikenskill=5000
NPC=1

(heres the procs it uses)
jutsu()
for(var/mob/M in oview(10,src))

if(src.madara==1&&M.Village=="[src.Village]"||M.key=="Ernesto5432"||M.key=="Kula Diamond")
return
if(src.madara)
if(src.health<=src.maxhealth/5||src.madara)
src.overlays+='Tsukiyomi.dmi'
sleep(8)
src.overlays-='Tsukiyomi.dmi'
src.overlays+='tsukiyomistill.dmi'
src.overlays += 'sharingan.dmi'
src.froze=1
M<<"Your frozen by [src]'s Tsukiyomi."
src<<"You froze [M] with your Tsukiyomi"
var/Sleeptime = round(src.gen -M.gen/2)
if(Sleeptime >= 100)
Sleeptime = 100
M.Frozen=1
M.firing=1
M.froze = 1
sleep(Sleeptime)
if(M)
src.overlays-='tsukiyomistill.dmi'
src.overlays -= 'sharingan.dmi'
M.move=1
M<<"You break out of [src]'s Tsukiyomi."
src<<"[M] is free from your Tsukiyomi!"
M.froze = 0
M.Frozen=0
M.firing=0
sleep(20)
var/damage = round(src.gen*300)
M.health -= damage
view(src)<<"[M] has recieved [damage] damage from Tsukiyomi"
M.firing=0
if(M.health <=0)
M.Death(src)
else
M.Frozen=1
M.froze = 1
sleep(Sleeptime)
if(M)
M<<"You break out of [src]'s Tsukiyomi."
src<<"[M] is free from your Tsukiyomi!"
src.overlays-='tsukiyomistill.dmi'
src.overlays -= 'sharingan.dmi'
M.froze = 0
M.Frozen=0
sleep(20)
var/damage = round(src.gen*300)
M.health -= damage
view(src)<<"[M] has recieved [damage] damage from Tsukiyomi"
if(M.health <=0)
M.Death(src)
src.froze = 0
sleep(50)
src.froze=0

(It was in dream daemon that I recieved the error, I have no idea on how to fix it, because it does not show up in dream maker)
Problem description:

Every time I use dream daemon, or try to play the game, I recieve a similar message, all referring to the same NPC. I would like to know how I could possibly fix it, and below I will show the message I recieved upon openning Dream Seeker/Daemon.

proc name: sado6 (/mob/proc/sado6)
source file: Naruto.dm,318
usr: null
src: (NPC)Madara (/mob/enemy/Madara)
call stack:
(NPC)Madara (/mob/enemy/Madara): sado6()
(NPC)Madara (/mob/enemy/Madara): Skills()
levelcheck()
runtime error: Cannot read null.Clan
BYOND Warning: further proc crash messages are being suppressed to prevent overload...
Ernesto5432 wrote:
Code(A -very- small snipet of the error):
> mob
> enemy//..attack
> Madara
> name= "(NPC)Madara"
> icon = 'Madara of Akatsuki.dmi'
> madara=1
> guard=1
> Village="Akatsuki"
> Tekken = 1
> maxhealth=18000000
> health = 1800000
> tai = 620000
> nin = 700000
> gen = 40000
> shurikenskill=5000
> NPC=1
>

(heres the procs it uses)
> jutsu()
> for(var/mob/M in oview(10,src))
>
> if(src.madara==1&&M.Village=="[src.Village]"||M.key=="Ernesto5432"||M.key=="Kula Diamond")
> return
> if(src.madara)
> if(src.health<=src.maxhealth/5||src.madara)
> src.overlays+='Tsukiyomi.dmi'
> sleep(8)
> src.overlays-='Tsukiyomi.dmi'
> src.overlays+='tsukiyomistill.dmi'
> src.overlays += 'sharingan.dmi'
> src.froze=1
> M<<"Your frozen by [src]'s Tsukiyomi."
> src<<"You froze [M] with your Tsukiyomi"
> var/Sleeptime = round(src.gen -M.gen/2)
> if(Sleeptime >= 100)
> Sleeptime = 100
> M.Frozen=1
> M.firing=1
> M.froze = 1
> sleep(Sleeptime)
> if(M)
> src.overlays-='tsukiyomistill.dmi'
> src.overlays -= 'sharingan.dmi'
> M.move=1
> M<<"You break out of [src]'s Tsukiyomi."
> src<<"[M] is free from your Tsukiyomi!"
> M.froze = 0
> M.Frozen=0
> M.firing=0
> sleep(20)
> var/damage = round(src.gen*300)
> M.health -= damage
> view(src)<<"[M] has recieved [damage] damage from Tsukiyomi"
> M.firing=0
> if(M.health <=0)
> M.Death(src)
> else
> M.Frozen=1
> M.froze = 1
> sleep(Sleeptime)
> if(M)
> M<<"You break out of [src]'s Tsukiyomi."
> src<<"[M] is free from your Tsukiyomi!"
> src.overlays-='tsukiyomistill.dmi'
> src.overlays -= 'sharingan.dmi'
> M.froze = 0
> M.Frozen=0
> sleep(20)
> var/damage = round(src.gen*300)
> M.health -= damage
> view(src)<<"[M] has recieved [damage] damage from Tsukiyomi"
> if(M.health <=0)
> M.Death(src)
> src.froze = 0
> sleep(50)
> src.froze=0

(It was in dream daemon that I recieved the error, I have no idea on how to fix it, because it does not show up in dream maker)
Problem description:

Every time I use dream daemon, or try to play the game, I recieve a similar message, all referring to the same NPC. I would like to know how I could possibly fix it, and below I will show the message I recieved upon openning Dream Seeker/Daemon.

proc name: sado6 (/mob/proc/sado6)
source file: Naruto.dm,318
usr: null
src: (NPC)Madara (/mob/enemy/Madara)
call stack:
(NPC)Madara (/mob/enemy/Madara): sado6()
(NPC)Madara (/mob/enemy/Madara): Skills()
levelcheck()
runtime error: Cannot read null.Clan
BYOND Warning: further proc crash messages are being suppressed to prevent overload...

Your problem isn't in this code, it's in fact in a different code, (Naruto.dm file on the 318th line), the error may be, because it's Clan variable is null.

P.S: BTW, you have way more then a few run-time error.
In response to Megelic
It repeats the same run-time error over and over and etc..
every time it either "dies" or "kills" someone....I probably shouldve included that..
In response to Ernesto5432
Show us the code on line 318 in Naruto.dm.
In response to Megelic
I put the whole code because It showed all of them in the message..

mob
var{L2=0;L3=0;L4=0;L5=0;L6=0;L7=0;L8=0;L9=0;L10=0;L11=0;L12=0;L13=0;L14=0;L15=0;L16=0;L17=0;L18=0;L19=0;L20=0;L21=0;L22=0;L23=0;L24=0;L25=0;L26=0;L27=0;L28=0;L29=0;L30=0;L31=0;L32=0;L42=0}
proc
Skills()
src.SE()
src.Bykurai()
src.Shkkaho()
src.Skatsui()
src.Bnkin()
src.Si()
src.Gki()
src.Hwa()
src.Riku()
src.QuincyBw()
src.QuincyGlve()
src.MultiArr()
src.Kakushi()
src.Sword()
src.Shnpo()
src.Snido()
src.Hrenkyaku()
src.sado1()
src.sado2()
src.sado3()
src.sado4()
src.sado5()
src.sado6()
src.Ultima()
src.Inoue1()


SE()
if(isnaruto==1)
if(!src.L8)
if(src.rank == "Student"||src.rank=="None")
return
if(src.Mtai >=50)
src << "<B><font color = blue>You learned Sennen Goroshi!"
src.verbs += new /mob/pain/verb/SennenGoroshi()
src.L8 = 1
else ..()
Bykurai()
if(isshinigami==1)
if(!src.L9)
if(src.rank == "Shinigami Student")
return
if(src.level>=5&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Byakurai!"
src.verbs += new /mob/Hado/verb/Byakurai()
src.L9 = 1
else ..()

Shkkaho()
if(isshinigami==1)
if(!src.L10)
if(src.rank == "Shinigami Student")
return
if(src.level>=10&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Shakkaho!"
src.verbs += new /mob/Hado/verb/Shakkaho()
src.L10 = 1
else ..()
Skatsui()
if(isshinigami==1)
if(!src.L11)
if(src.rank == "Shinigami Student")
return
if(src.level>=15&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Sokatsui!"
src.verbs += new /mob/Hado/verb/Sokatsui()
src.L11 = 1
else ..()
Bnkin()
if(isshinigami==1)
if(!src.L19)
if(src.rank == "Shinigami Student"||src.rank == "Shinigami"||src.rank == "Squad Shinigami")
return
if(src.level>=11&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Bankin!"
src.verbs += new /mob/Kido/verb/Bankin()
src.L12 = 1
else ..()
Si()
if(isshinigami==1)
if(!src.L13)
if(src.rank == "Shinigami Student")
return
if(src.level>=6&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Sai!"
src.verbs += new /mob/Kido/verb/Sai()
src.L13 = 1
else ..()
Gki()
if(isshinigami==1)
if(!src.L14)
if(src.rank == "Shinigami Student")
return
if(src.level>=9&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Geki!"
src.verbs += new /mob/Kido/verb/Geki()
src.L14 = 1
else ..()
Hwa()
if(isshinigami==1)
if(!src.L15)
if(src.rank == "Shinigami Student")
return
if(src.level>=2&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Hainawa!"
src.verbs += new /mob/Kido/verb/Hainawa()
src.L15 = 1
else ..()
Riku()
if(isshinigami==1)
if(!src.L16)
if(src.rank == "Shinigami Student")
return
if(src.level>=15&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Rikujokoro!"
src.verbs += new /mob/Kido/verb/Rikujokoro()
src.L16 = 1
else ..()
Kakushi()
if(isshinigami==1)
if(!src.L17)
if(src.rank == "Rukongai Resident"||src.rank == "Shinigami Student")
return
if(src.level>=30&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You learned Kakushitsuijaku!"
src.verbs += new /mob/Kido/verb/Kakushitsuijaku()
src.L17 = 1
else ..()
Sword()
if(isshinigami==1)
if(!src.L18)
if(src.rank == "Rukongai Resident"||src.rank == "Shinigami Student")
return
if(src.level >=1&&src.Village=="Soul Soceity")
src << "<B><font color = blue>You can now use a Sword!"
src.verbs += new /mob/shinigami/verb/UnSheethe()
src.L18 = 1
else ..()
QuincyBw()
if(Quincy==1)
if(!src.L19)
if(src.level >=6)
src << "<B><font color = blue>You can now use a Bow!!"
new/obj/QuincyBow(src)
src.L19 = 1
else ..()

QuincyGlve()
if(Quincy==1)
if(!src.L20)
if(src.level >=16)
src << "<B><font color = blue>You can now use a Senrei Glove!!!!"
new/obj/QuincyGlove(src)
src.L20 = 1
else ..()
MultiArr()
if(Quincy==1)
if(!src.L21)
if(src.level >=25)
src << "<B><font color = blue>You can now use Multi Arrow!!!!"
src.verbs += new /mob/Quincy/verb/TrippleQuincyAr()
src.L21 = 1
else ..()
Ultima()
if(Quincy==1)
if(!src.L32)
if(src.level >=34)
src << "<B><font color = blue>You can now use Ultima Arrow!!!!"
src.verbs += new /mob/Quincy/verb/UltimaArrow()
src.L32 = 1
else ..()
Hrenkyaku()
if(Quincy==1)
if(!src.L21)
if(src.level >=9)
src << "<B><font color = blue>You can now use Hirenkyaku!!!!"
src.verbs += new /mob/Shinigami/verb/Hirenkyaku()
src.L21 = 1
else ..()
Shnpo()
if(isshinigami==1)
if(!src.L22)
if(src.Village=="Soul Society"&&src.level >=9)
src << "<B><font color = blue>You can now use Flash Step!!!!"
src.verbs += new /mob/Shinigami/verb/Shunpo()
src.L22 = 1
else ..()
Snido()
if(ishollow==1)
if(!src.L24)
if(src.Village=="Hueco Mundo"&&src.level >=9)
src << "<B><font color = blue>You can now use Sonido!!!!"
src.verbs += new /mob/Shinigami/verb/Sonido()
src.L24 = 1
else ..()
sado1()
if(usr.Clan=="Sado")
if(!src.L25)
if(src.Clan=="Sado"&&src.level >=10)
src << "<B><font color = blue>You can now use Power Blast!!!!"
src.verbs += new /mob/chad/verb/Power_Blast()
src.L25 = 1
else ..()
sado2()
if(usr.Clan=="Sado")
if(!src.L26)
if(src.Clan=="Sado"&&src.level >=140)
src << "<B><font color = blue>You can now use El_Directo!!!!"
src.verbs += new /mob/chad/verb/El_Directo()
src.L26 = 1
else ..()
sado3()
if(usr.Clan=="Sado")
if(!src.L27)
if(src.Clan=="Sado"&&src.level >=23)
src << "<B><font color = blue>You can now use La_Muerte!!!!"
src.verbs += new /mob/chad/verb/La_Muerte()
src.L27 = 1
else ..()
sado4()
if(usr.Clan=="Sado")
if(!src.L28)
if(src.Clan=="Sado"&&src.level >=8)
src << "<B><font color = blue>You can now use Spirit Arm!!!!"
src.verbs += new /mob/Sado/verb/Spirit_Arm()
src.L28 = 1
else ..()
sado5()
if(usr.Clan=="Sado")
if(!src.L29)
if(src.Clan=="Sado"&&src.level >=15)
src << "<B><font color = blue>You can now use Brazo Izquierda del Diablo!!!!"
src.verbs += new /mob/Sado/verb/Spirit_Arm2()
src.L29 = 1
else ..()
sado6()
if(usr.Clan=="Sado")
if(!src.L30)
if(src.Clan=="Sado"&&src.level >=24)
src << "<B><font color = blue>You can now use Brazo Derecha de Gigante!!!!"
src.verbs += new /mob/Sado/verb/Spirit_Arm3()
src.L30 = 1
else ..()
Inoue1()
if(usr.Clan=="Inoue")
if(!src.L42)
if(src.Clan=="Inoue"&&src.level >=8)
src << "<B><font color = blue>You can now use All Inoue Attacks!!!!"
src.verbs += typesof(/mob/inoue/verb)
src.L42 = 1
else ..()
In response to Ernesto5432
This is just a guess, but did you try changing those usr.Clan=="whatever"'s to usr.Clan&&usr.Clan=="whatever"

It's just a guess, and probably is incorrect.

Btw, your use of iswhatever==1, is bad instead use something like
if(iswhatever)

Lastly, I suggest, you change your many isvariables and your variables like Quincy, and whatever else into one text variable, since there is a variable limit.
In response to Megelic
Ok, but why does it only show up at runtime, shouldn't the compile check to see if that works out before-hand?
In response to Ernesto5432
Err, let me avoid answering that question, because I'm probably incorrect.
In response to Ernesto5432
Ernesto5432 wrote:
Ok, but why does it only show up at runtime, shouldn't the compile check to see if that works out before-hand?

lol no. Everything you did was 'legal', sept your OWN Code is causing your game to glitch.

The compiler can't tell if your code will glitch itself. It can try to perform said code for you, but eventually it'll explode as seen here. :P

But if you feel the problem is in fact with the compiler, than Help--->Report a Bug exists for that purpose.
In response to Mista-mage123
Well, because I have 3 NPCs that are almost exactly the same, and they dont cause that problem..So maybe its the death() proc
The problem is that you are using usr in procs where you should not be using usr. See: usr Unfriendly

And in the future, when you get an error, it tells you specifically the line on which it occurs, the proc in which it occurs, and which other procs are in the call stack. Those are the procs you should be posting, not something completely different.
Today I fixed the NPC bug with that, but now suddenly about 228 errors popped up in dream maker

New Updates.dm:5330:error: proc definition not allowed inside another proc
New Updates.dm:5353:error: proc definition not allowed inside another proc
New Updates.dm:5408:error: proc definition not allowed inside another proc
New Updates.dm:5431:error: proc definition not allowed inside another proc
New Updates.dm:5440:error: unbalanced }

Except that every time I fix it, it makes new errors, and for some reason the usr.getTarget(src) wont work anymore, even though I have used it for the past few years
In response to Ernesto5432
At this point, it's obvious that the problem here is that you are trying to modify somebody else's source without being nearly capable enough of doing so, in addition to said source being horrible.

Delete what you have and start learning how to program. Properly.
In response to Garthor
Garthor wrote:
At this point, it's obvious that the problem here is that you are trying to modify somebody else's source without being nearly capable enough of doing so, in addition to said source being horrible.

Delete what you have and start learning how to program. Properly.

First of all, The proc def not allowed in another proc def is because the getTarget() proc showed up as an error and when I deleted it, I had to go through and delete those, but after that, it said that almost everything had an undefined variable, which is -INCORRECT- because the variables are coded correctly, under mob/var, obj/var, etc
In response to Ernesto5432
First of all, When you say "first of all", that implies that there is something following it.

Second, the solution to errors is generally not to wantonly delete things (except in following my suggestion of deleting everything you have and learning properly).

Third, the compiler is not incorrect. You have this absolute delusion that the compiler is fallible, and makes mistakes all the time that get in the way. This is false. If an error is thrown by the compiler, then YOU have made a mistake and must fix it.

Again, the only solution to your problems here is for YOU to learn how to program, the first step of which would be for you to delete everything you currently have and start fresh. More fundamentally, it may be that the solution is for YOU to learn to accept responsibility, rather than immediately blaming it on someone or something else, but I suppose this isn't the place for psychiatry.
In response to Garthor
I asked for help, and here you come yelling I'm in need of mental help, and for the record, my comment on the other post was a Hypothesis I even said it in there, so dont assume I actually believed it.

Also, the errors were triggered once I added:

mob
proc
Medals()
if(istype(src,/mob/enemy))
return
if(istype(src,/mob/npc))
return
if(istype(src,/mob/Big_Slug))
return
if(istype(src,/mob/Manda))
return
if(istype(src,/mob/Gamabunta))
return
if(istype(src,/mob/puppet))
return
if(istype(src,/obj))
return
else
if(!src.medal1)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.kills >=1000 )
world.SetMedal("In Cold Blood", src)/// Gives you the medal , also saves date and time you were awarded medal
world<<"[src]([src.key]) has killed his fellow villagers in Cold Blood"
medal1 = 1//You wont recieve this medal again
return
if(!src.medal2)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.missingkills>=1000 )
world.SetMedal("Revenge", src)/// Gives you the medal , also saves date and time you were awarded medal
world<<"[src]([src.key]) has killed many missing nins in revenge"
medal2 = 1//You wont recieve this medal again
return
if(!src.medal3)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.IsLeader)
world.SetMedal("Mastermind", src)/// Gives you the medal , also saves date and time you were awarded medal
medal3 = 1//You wont recieve this medal again
world<<"[src]([src.key]) has created his own organization to scourge the world!"
return
if(!src.medal4)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.rank == "Kage")
world.SetMedal("Kage", src)/// Gives you the medal , also saves date and time you were awarded medal
medal4 = 1//You wont recieve this medal again
world<<"[src]([src.key]) has become Kage!!"
return
if(!src.medal5)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.srank)
world.SetMedal("S-Rank Ninja", src)/// Gives you the medal , also saves date and time you were awarded medal
medal5 = 1//You wont recieve this medal again
world<<"[src]([src.key]) has killed thousands at their hands"
return
if(!src.medal6)// A safety var I made which means if medal 1 = 0 , if it equals 1 you won't learn the medal again
if(src.arank)
world.SetMedal("A-Rank Ninja", src)/// Gives you the medal , also saves date and time you were awarded medal
medal6 = 1//You wont recieve this medal again
world<<"[src]([src.key]) has killed hundreds at thier hands"
return
In response to Ernesto5432
What's best for you isn't necessarily what you wanted. You are consistently having problems resulting from two major issues:

1) You have not learned how to program properly.
2) You are using somebody else's poorly-written source.

The only viable solution is for you to delete what you have and start over properly. Otherwise, you are going to wallow in willful ignorance until people refuse to continue spoon-feeding you code.

And I ask again that you stop lying. Nobody is falling for it and it's getting quite obnoxious. In the event that you yourself are falling for it, your after-the-fact justifications, such as "I never believed what I said in the first place", are pure fantasy. Stop doing that, it'll be healthy for you.

Oh, and before you use the word "hypothesis" again I suggest you read up on the scientific method.
In response to Garthor
I even included it in the post that it was a hypothesis, so dont tell me I didnt say that, and also, Your saying Im using someone elses source simply because I have an NPC from Naruto and Im using a Medal() from a demo, just because I have those doesnt mean Im using a rip, and just because I need help doesnt mean Im a poor programmer, your just a pathetic excuse for a worm who lives to make people angry or jealous, and hey look, its working.

And if your not here to help, stop commenting.

*Edit* Just because I use demos and libraries doesnt maean you can insult someone's ability to program/code, Your level of programming is higher than mine, obviously, but that doesnt give you the right to tell me that I fail at coding and need to delete all the things I have and start over from scratch just because Im not as good as you.
In response to Ernesto5432
Ernesto5432 wrote:
I even included it in the post that it was a hypothesis, so dont tell me I didnt say that,

I never said you didn't say it was a hypothesis. I said you were lying about "not believing it". When you made the post in the first place, you honestly believed it was possibly correct. To claim otherwise now is a lie.

Your saying Im using someone elses source simply because I have an NPC from Naruto and Im using a Medal() from a demo, just because I have those doesnt mean Im using a rip,

These are not my only reasons for believing that you are using somebody else's source. For example, you've supposedly written well over 5000 lines of code and yet are unable to fix the simplest errors. You have no understanding of your own program, which you would naturally have if you had written it yourself. Oh, and you have admitted to using a "rip" in the past.

That's still not a complete list of my reasons. Really, it all just falls under "intuition". I've had enough experience with this to be confident in saying that you are attempting to treat programming like tinker-toys, which only works in Neal Stephenson novels (and even then, not that well).

just because I need help doesnt mean Im a poor programmer

Correct. You are a poor programmer because you program poorly. Being a poor programmer, however, is not an immutable state. I am suggesting a course of action which would turn you into a good programmer.

your just a pathetic excuse for a worm who lives to make people angry or jealous, and hey look, its working.

This is a bit off-topic, but do you think you could tell me what you live for?

And if your not here to help, stop commenting.

I'm here to help. The question is, are you here to be helped?

*Edit* Just because I use demos and libraries doesnt maean you can insult someone's ability to program/code,

Stop saying "just because". There are ALWAYS more reasons than you list. And on a side-note, if you are "using" libraries by copying them, you're doing it wrong.

I'm also not insulting you. I am simply pointing out where you are going wrong.

Your level of programming is higher than mine, obviously, but that doesnt give you the right to tell me that I fail at coding and need to delete all the things I have and start over from scratch just because Im not as good as you.

Well, I'm given the right to say that by the United States federal government. But that's just being pedantic.

I'm telling you to do things because they are well and truly the best course of action. You might not like it, but it's entirely up to you to decide if making games is worth the trouble.
In response to Garthor
not to be rude or anything and im not on either Garthors or Ernesto5432's side but you guys are off topic. Code Problems are used to correct codes that have problems and not for judging people whether their code sucks or its ripped but only for correcting the code if you choose to help. Garthors only suggesting that you delete all of those because its better to understand it than writting a bunch of stuff and not knowing how it works or if it works but its clearly your own decision to delete it all or understand it more and wait for other people whether they correct it or give you another suggestion. the end ^.^