Hello all, I have a problem and it's driving me bonkers: What is "No binding for symbol"? It keeps cropping up in my station mods, and thus far, I haven't seen a *definition* of it. I need to know, what it is, what it means, and, most hopefully, if there is any kind of tutorial for handling it. I know its meaning varies in relation to its accompanying script -- for example { no binding for symbol Main ### (gPrevScreen gPrevPane 0) ### }, but still, what exactly is (nb4s)??
Any help would be appreciated, thanks.
Explanation of "no binding for symbol" !?
- dosbox-gamer
- Commonwealth Pilot
- Posts: 66
- Joined: Sat Apr 05, 2008 9:41 pm
- Location: Utopia Planitia Fleet Yards
"Make no little plans. They have no magic to stir men's blood and probably will not themselves be realized." -- Daniel Hudson Burnham, architect & urban planner
- ThePrivateer
- Militia Captain
- Posts: 943
- Joined: Tue Oct 12, 2010 5:12 am
- Location: Starton Australia
dosbox-gamer wrote:Hello all, I have a problem and it's driving me bonkers: What is "No binding for symbol"? It keeps cropping up in my station mods, and thus far, I haven't seen a *definition* of it. I need to know, what it is, what it means, and, most hopefully, if there is any kind of tutorial for handling it. I know its meaning varies in relation to its accompanying script -- for example { no binding for symbol Main ### (gPrevScreen gPrevPane 0) ### }, but still, what exactly is (nb4s)??
Any help would be appreciated, thanks.
Eh, wouldn't I like to know. I have this trouble alot. as far as I can tell, it comes about when using the
Code: Select all
"
Code: Select all
%name%
Usually, a bit of blind luck helps me avoid these things, but they are annoying. So far as I can tell, I get them when using :
Code: Select all
(cat
"So the Iocrym says to the human: "Yeah, we said we'd come back but we totally lied about it. That's life, lesser being. ""
Code: Select all
"
Code: Select all
(cat
But maybe someone else knows the real reason...?
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
"No binding from symbol" comes about when you try to use a variable in tscript that has not been given a value yet.
Here is an example that would give you that error, followed by an example that would work:
The above would fail with the error you have
The above would not fail, since the variable has been bound before use. Note that transcendence has quote a few variables that are bound by the engine, such as gSource, gPlayerShip and several more. These can only bee used within scopes where the engine has bound them.
The error you are receiving however, seems rather cryptic. It would help to get some more context.
Here is an example that would give you that error, followed by an example that would work:
Code: Select all
(dbgLog MyVariable)
Code: Select all
(setq myVariable "something")
(dbgLog myVariable)
The error you are receiving however, seems rather cryptic. It would help to get some more context.
- dosbox-gamer
- Commonwealth Pilot
- Posts: 66
- Joined: Sat Apr 05, 2008 9:41 pm
- Location: Utopia Planitia Fleet Yards
As requested, some context:
For my station mod, I have a Main/default docking screen, and then one of the choices is MaterialsLevel, where you can buy & sell. For the buy/sell area, I first tried copying the Adventure Outfitters' code line-for-line:
<Panes>
<Default>
(no initialize, I have separate desc= for the Main screen and for MaterialsLevel)
<Actions>
<Action name="Buy Items" ...>
(comShowBuyScreen
"*"
"Main" ; return screen )
</Action>
...But when I tested that code, the MaterialsLevel screen shows nothing, just black (you can Esc out, otherwise the game crashes). But when I tried again, changing a few things (Panes, Default) since those are already on the Main screen (see below), I get the NB4S!
<MaterialsLevel
desc= ... >
<Actions>
<Action name="Buy items">
(comShowBuyScreen
"*"
"MaterialsLevel" ; return screen
etc...
For my station mod, I have a Main/default docking screen, and then one of the choices is MaterialsLevel, where you can buy & sell. For the buy/sell area, I first tried copying the Adventure Outfitters' code line-for-line:
<Panes>
<Default>
(no initialize, I have separate desc= for the Main screen and for MaterialsLevel)
<Actions>
<Action name="Buy Items" ...>
(comShowBuyScreen
"*"
"Main" ; return screen )
</Action>
...But when I tested that code, the MaterialsLevel screen shows nothing, just black (you can Esc out, otherwise the game crashes). But when I tried again, changing a few things (Panes, Default) since those are already on the Main screen (see below), I get the NB4S!
<MaterialsLevel
desc= ... >
<Actions>
<Action name="Buy items">
(comShowBuyScreen
"*"
"MaterialsLevel" ; return screen
etc...
"Make no little plans. They have no magic to stir men's blood and probably will not themselves be realized." -- Daniel Hudson Burnham, architect & urban planner
- dosbox-gamer
- Commonwealth Pilot
- Posts: 66
- Joined: Sat Apr 05, 2008 9:41 pm
- Location: Utopia Planitia Fleet Yards
BTW, the exact NB4S is... No binding for symbol: MaterialsLevel ### (item returnScreen 0) ### . Does this help?
"Make no little plans. They have no magic to stir men's blood and probably will not themselves be realized." -- Daniel Hudson Burnham, architect & urban planner
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
I am not really sure why you are seeing that error. Apparently, the code in comShowBuyScreen is trying to get the first item from a list, which is passed in as the seond argument (the one where you pass in "MaterialsLevel")
You can try doing (comShowBuyScreen "*" '("MaterialsLevel nil)). From looking at the code that should work. Why george does not use that in his code i am not sure...
You can try doing (comShowBuyScreen "*" '("MaterialsLevel nil)). From looking at the code that should work. Why george does not use that in his code i am not sure...
- dosbox-gamer
- Commonwealth Pilot
- Posts: 66
- Joined: Sat Apr 05, 2008 9:41 pm
- Location: Utopia Planitia Fleet Yards
Like Doc Brown in the rain: "It works!!! Ha-ha-ha, it works..." Oh, thank you everyone, I'll post the details later (still not sure how it works or why), but still, OMG, it finally works. Thank You!
"Make no little plans. They have no magic to stir men's blood and probably will not themselves be realized." -- Daniel Hudson Burnham, architect & urban planner
- dosbox-gamer
- Commonwealth Pilot
- Posts: 66
- Joined: Sat Apr 05, 2008 9:41 pm
- Location: Utopia Planitia Fleet Yards
Okay, this still doesn't explain the NB4S. But it does explain what I was doing wrong (and maybe that will help someone else).
It's about Screens and Panes. For my mod (Galactic Outposts v3), I was trying, for the buy/sell screens, to borrow the template from Adventurer Outfitters - but that station has its buy/sell (pane?) right in the main DockScreen. But with my station, the buy/sell comes off a separate "MaterialsLevel" (pane?), which is *not* part of the main DockScreen. So, the better template to use is Corporate Enclave. Also, I was forgetting to keep the "quotes" for the ;return screen. See how that works!?
It's about Screens and Panes. For my mod (Galactic Outposts v3), I was trying, for the buy/sell screens, to borrow the template from Adventurer Outfitters - but that station has its buy/sell (pane?) right in the main DockScreen. But with my station, the buy/sell comes off a separate "MaterialsLevel" (pane?), which is *not* part of the main DockScreen. So, the better template to use is Corporate Enclave. Also, I was forgetting to keep the "quotes" for the ;return screen. See how that works!?
"Make no little plans. They have no magic to stir men's blood and probably will not themselves be realized." -- Daniel Hudson Burnham, architect & urban planner
- digdug
- Fleet Admiral
- Posts: 2620
- Joined: Mon Oct 29, 2007 9:23 pm
- Location: Decoding hieroglyphics on Tan-Ru-Dorem
ok, I moved the thread to Shipyards because at the beginning it seemed like an explanation on the game scripting errors but then it became just a mod help.
The argument is still interesting (talking about game error types), so please make another thread in Extension References where we can talk about technical details only.
thanks
The argument is still interesting (talking about game error types), so please make another thread in Extension References where we can talk about technical details only.
thanks
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
That is your source of the "No binding for symbol" error. Forgetting quotes around a string will almost always do that.dosbox-gamer wrote:Also, I was forgetting to keep the "quotes" for the ;return screen.