Script Debugging

From SphereWiki
Revision as of 15:16, 18 August 2022 by Soulless (talk | contribs)
Jump to: navigation, search

So you've got a problem with a script and you don't know where to turn? Or everyone you've spoken to doesn't have the answers you seek? You're about to start pulling out your hair, you feel alone and lost, and no one can seem to help you. Well you're about to help yourself! Let's talk about debugging your script


Examples

We'll go through some examples here to explain how one could get helpful information that will lead them to their solutions

Example 1

This is a great example from MalucoBeleza that illustrates the concept of logging out your results to the console for further insight into what objects a trigger is referencing. This can help you make sure that you are referencing the right object in game and that whatever follows will behave as expected.

Let's say you want to use a trigger that will fire when you kill someone, and when you kill that person you want to give the killer some experience points. You need to reference both the person being killed and the person that killed them.

The trigger in this example is @Kill. One may think that they will use the default object as the killer and that SRC will be the person being killed


I.SAY My name is <I.NAME>!

SRC.SAY My name is <SRC.NAME>!

SAY My name is <NAME>!


When dealing with a trigger that is new to you... its essencial to check the wiki and do tests like this:

ON=@Kill

 SERV.LOG NAME: <NAME>
 SERV.LOG I.NAME: <I.NAME>
 SERV.LOG SRC.NAME: <SRC.NAME>
 SERV.LOG ARGO.NAME: <ARGO.NAME>
 SERV.LOG <NAME> (<UID>) HAVE JUST KILLED <ARGO.NAME> (<ARGO>)