Author Topic: Help with syntax errors please...  (Read 1117 times)

So I'm making a script, that every time a non-SA spawns(or respawns), they get their playertype turned into no-jet.

Problem is, there's a syntax error somewhere that I can't seem to track down. It's probably in the RTB prefs, but I'm not exactly sure.

Code: [Select]
package(jetStealer)
{
function onSpawn(%obj, %client)
{
if(!%client = superAdmin)
{
%obj.changeDataBlock(noJetPlayer);
CommandToClient(%client, 'BottomPrint', "\c3Your jets have been taken away.", 3);
}
echo("The script is working.");
}

};

if(enableJetStealer = 1)
{
activate package(jetStealer);
}
else
{
deactivate package(jetStealer);
}

if(isFile("Add-Ons/System_ReturnToBlockland/server.cs"))
{
if(!$RTB::RTBR_ServerControl_Hook)
{
exec("Add-Ons/System_ReturnToBlockland/RTBR_ServerControl_Hook.cs");
}
RTB_registerPref("Enable Jet Stealer","Jet Stealer","enableJetStealer","bool","Script_Mychallengescriptasdf",1,0,0);
}
else
{
$enableJetStealer = 1;
}

Please help if you can, if you can't, thanks anyways.


package(jetStealer)

I'm not seeing what's wrong with those parentheses there, please explain it.

I'm not seeing what's wrong with those parentheses there, please explain it.

There shouldn't be parentheses there. Just a space between package and the package's name.

package jetStealer

There shouldn't be parentheses there. Just a space between package and the package's name.
package jetStealer
Okay,so I did that, and the script is still broken, so if that was a problem it wasn't the only one.

if(enableJetStealer = 1)
becomes
if($enableJetStealer==1)

if(!%client = superAdmin)
becomes
if(!%client.issuperadmin)
I believe


Code: [Select]
package jetStealer
{
function onSpawn(%obj, %client)
{
if(!%client = superAdmin)
{
%obj.changeDataBlock(noJetPlayer);
CommandToClient(%client, 'BottomPrint', "\c3Your jets have been taken away.", 3);
>>>}<<<
echo("The script is working.");
}

};

if(enableJetStealer = 1)
{
activate package(jetStealer);
}
else
{
deactivate package(jetStealer);
}

if(isFile("Add-Ons/System_ReturnToBlockland/server.cs"))
{
if(!$RTB::RTBR_ServerControl_Hook)
{
exec("Add-Ons/System_ReturnToBlockland/RTBR_ServerControl_Hook.cs");
}
RTB_registerPref("Enable Jet Stealer","Jet Stealer","enableJetStealer","bool","Script_Mychallengescriptasdf",1,0,0);
}
else
{
$enableJetStealer = 1;
}
No one else saw the superfluous curly bracket?

Oh wait, nevermind. The fact that you indent your closing brackets by a tab too many throws me off :/

yes, his indentation is kinda odd

yes, his indentation is kinda odd
In the text document it looks better, I just use a font that uses weird spacing so it looks different on the forums.
if(enableJetStealer = 1)
becomes
if($enableJetStealer==1)

if(!%client = superAdmin)
becomes
if(!%client.issuperadmin)
I believe
Thanks, I'll try that.

He has spaces between "activate" and "package."

Code: [Select]
package jetStealer {
function onSpawn(%obj, %client) {
if(!%client.isSuperAdmin) {
%obj.changeDataBlock(noJetPlayer);
commandToClient(%client, 'BottomPrint', "\c3Your jets have been taken away.", 3);
}
echo("The script is working.");
}
};
activatepackage(jetStealer);

if(isFile("Add-Ons/System_ReturnToBlockland/server.cs")) {
if(!$RTB::RTBR_ServerControl_Hook)
exec("Add-Ons/System_ReturnToBlockland/RTBR_ServerControl_Hook.cs");
RTB_registerPref("Enable Jet Stealer","Jet Stealer","enableJetStealer","bool","Script_Mychallengescriptasdf",1,0,0);
}
else
$enableJetStealer = 1;

I don't have time to look up what the real onSpawn is, but this script is just terrible...

Yeah, you need to learn better formatting.
Better formatting is easier to debug.

Code: [Select]
package jetStealer {
function gameConnection::spawnPlayer(%this) {
                parent::spawnPlayer(%this);
if($enableJetStealer && isObject(%pl = %this.player) && !%this.isSuperAdmin) {
%pl.changeDataBlock(noJetPlayer);
bottomPrint(%this, "\c3Your jets have been taken away.", 3);
}
}
};
activatepackage(jetStealer);

if(isFile("Add-Ons/System_ReturnToBlockland/server.cs")) {
if(!$RTB::RTBR_ServerControl_Hook)
exec("Add-Ons/System_ReturnToBlockland/RTBR_ServerControl_Hook.cs");
RTB_registerPref("Enable Jet Stealer","Jet Stealer","enableJetStealer","bool","Script_Mychallengescriptasdf",1,0,0);
}
else
$enableJetStealer = 1;