SphereCommunity
console error when adding new items - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: console error when adding new items (/Thread-console-error-when-adding-new-items)



console error when adding new items - kn4tseb - 07-26-2014 09:50 AM

Okey fellas, im having this issue, everything works but i have a console error which is pretty annoying..

ERROR:(sphere_system_bod.scp,434)Undefined symbol ''


Code:
ON=@DropOn_Char
// ..... lot of code lines...


           ELIF (<tag0.bod3> == 1)
         src.sound 87
         src.newgold <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>
         src.sysmessage You receive <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>> gold as reward.
         argo.say Thank you so much!, here is your reward.
         remove
         if <src.tag0.bod2> == 1
            if <eval <src.tag0.bod3>> >= 25 && <eval <src.tag0.bod3>> =< 100 // poor reward
               serv.newitem { i_leather_gloves_mining 500 i_studded_gloves_mining 250 i_ringmail_gloves_mining 100 i_colored_anvil 40 i_powder_of_fortifying 40 i_hammer_prospector_tool 40 i_pickaxe_gargish 40 i_ancient_smithy_hammer 20 }
            elif <eval <src.tag0.bod3>> > 100 && <eval <src.tag0.bod3>> =< 250 // medium reward
               serv.newitem { i_leather_gloves_mining 150 i_studded_gloves_mining 150 i_ringmail_gloves_mining 150 i_colored_anvil 150 i_powder_of_fortifying 150 i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 50 i_power_scroll 1 i_stat_power_scroll 1 <runichammers> 10 }  
            elif <eval <src.tag0.bod3>> > 250 && <eval <src.tag0.bod3>> =< 500 // rich reward
           serv.newitem { i_leather_gloves_mining 150 i_studded_gloves_mining 150 i_ringmail_gloves_mining 150 i_colored_anvil 150 i_powder_of_fortifying 150 i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 100 i_power_scroll 5 i_stat_power_scroll 5 <runichammers> 50 }
            elif <eval <src.tag0.bod3>> > 500 // richest reward
               serv.newitem { i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 150 i_power_scroll 150 i_stat_power_scroll 150 <runichammers> 150 }
            endif
            if <new>
               new.bounce
            endif
          src.tag0.bod3 =
         endif
     src.tag0.bod2 = <eval <src.tag0.bod2>-1>
         if <src.tag0.bod2> == 0
            src.tag0.bod2 =
        src.tag0.bod4 =
         endif
      return 1 // delete
      ENDIF
Code:
LINE 434:          src.newgold <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>

i really dont understand where could it be the error, maybe when adding two items at the same time? (gold and reward).
the value of <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>> is correct, checked and rechecked, the correct amount of money is bounced and sysmessage with amount is fine too.


RE: console error when adding new items - Skul - 07-26-2014 10:09 AM

be sure tag0.bod is set with 2 values, looks like sphere is giving you this error because tag0.bod only has 1 value. example:
Code:
tag.bod=arg1,arg2
without arg2 set sphere will return that error.


RE: console error when adding new items - kn4tseb - 07-26-2014 10:27 AM

i understand skull but it actually has three values, thats why i have to strarg and streat a <streat value>
but i will take a look Smile

EDIT:

serv.log <tag0.bod>
serv.log <streat <streat <tag0.bod>>>
serv.log <strarg <streat <tag0.bod>>>
serv.log <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>

(sphere_system_bod.scp,367)022ab2, 29, i_staff_bladed_double
(sphere_system_bod.scp,368)i_staff_bladed_double
(sphere_system_bod.scp,369)29
(sphere_system_bod.scp,370)2726

first it has a <src>, <a number of needed items>, <itembaseid>


I rechecked and cant see a problem with it >.<


RE: console error when adding new items - Skul - 07-26-2014 10:38 AM

be sure the object has tag.bod properly set, you might have a script somewhere that leaves out a value or two.


RE: console error when adding new items - kn4tseb - 07-26-2014 10:47 AM

i totally get it skull but this is the thing... if i remove the "reward" side of the script i get no errors at console..
and the money is bounced .... if i add the newitem reward as shown in the first post everything works fine too, but i get that annoying error at console pointing a line... but if i comment that line, the error is still shown at the very same commented line :/
NO ERRORS:

Code:
ELIF (<tag0.bod3> == 1)
         src.sound 87
         src.newgold <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>
         src.sysmessage You receive <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>> gold as reward.
         argo.say Thank you so much!, here is your reward.
         remove

     src.tag0.bod2 = <eval <src.tag0.bod2>-1>
         if <src.tag0.bod2> == 0
            src.tag0.bod2 =
        src.tag0.bod4 =
         endif
      return 1 // borrar
      ENDIF

EDIT:

ERROR:(sphere_system_bod.scp,435)Undefined symbol ''
line 435:
Code:
//         src.newgold <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>

Code:
ELIF (<tag0.bod3> == 1)
         src.sound 87
//         src.newgold <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>>
         src.sysmessage You receive <eval <strarg <streat <tag0.bod>>>*<serv.itemdef.<streat <streat <tag0.bod>>>.value>> gold as reward.
         argo.say Thank you so much!, here is your reward.
         remove
         if <src.tag0.bod2> == 1
            if <eval <src.tag0.bod3>> >= 25 && <eval <src.tag0.bod3>> =< 100 // poor reward
               serv.newitem { i_leather_gloves_mining 500 i_studded_gloves_mining 250 i_ringmail_gloves_mining 100 i_colored_anvil 40 i_powder_of_fortifying 40 i_hammer_prospector_tool 40 i_pickaxe_gargish 40 i_ancient_smithy_hammer 20 }
            elif <eval <src.tag0.bod3>> > 100 && <eval <src.tag0.bod3>> =< 250 // medium reward
               serv.newitem { i_leather_gloves_mining 150 i_studded_gloves_mining 150 i_ringmail_gloves_mining 150 i_colored_anvil 150 i_powder_of_fortifying 150 i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 50 i_power_scroll 1 i_stat_power_scroll 1 <runichammers> 10 }  
            elif <eval <src.tag0.bod3>> > 250 && <eval <src.tag0.bod3>> =< 500 // rich reward
           serv.newitem { i_leather_gloves_mining 150 i_studded_gloves_mining 150 i_ringmail_gloves_mining 150 i_colored_anvil 150 i_powder_of_fortifying 150 i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 100 i_power_scroll 5 i_stat_power_scroll 5 <runichammers> 50 }
            elif <eval <src.tag0.bod3>> > 500 // richest reward
               serv.newitem { i_hammer_prospector_tool 150 i_pickaxe_gargish 150 i_ancient_smithy_hammer 150 i_power_scroll 150 i_stat_power_scroll 150 <runichammers> 150 }
            endif
            if <new>
               new.bounce
            endif
          src.tag0.bod3 =
         endif
     src.tag0.bod2 = <eval <src.tag0.bod2>-1>
         if <src.tag0.bod2> == 0
            src.tag0.bod2 =
        src.tag0.bod4 =
         endif
      return 1 // borrar
      ENDIF



RE: console error when adding new items - Skul - 07-26-2014 11:13 AM

just to be on the safe side, try out this code:
Code:
src.newgold <eval <qval <isempty <strarg <streat <tag0.bod>>> ?0:<strarg <streat <tag0.bod>>>> *<serv.itemdef.<strarg <streat <streat <tag0.bod>>>>.value>>



RE: console error when adding new items - kn4tseb - 07-26-2014 11:23 AM

ehmm i might have done some wrong but it's still weird:

22:25:ERROR:(sphere_system_bod.scp,430)Undefined symbol ''
22:25:ERROR:(sphere_system_bod.scp,430)Undefined symbol 'eval'
22:25:ERROR:(sphere_system_bod.scp,430)Undefined symbol 'qval'
22:25:ERROR:(sphere_system_bod.scp,435)Undefined symbol ''

LINE 430:
Code:
argo.say This bulk order deed is not completed!.
LINE 435
Code:
src.newgold <eval <qval <isempty <strarg <streat <tag0.bod>>> ?0:<strarg <streat <tag0.bod>>>> *<serv.itemdef.<strarg <streat <streat <tag0.bod>>>>.value>>
looks like the console shows an error 5 lines below the real one lol

OHH I FOUND THE ERROR!!! i wrote =< instead of <=

i feel baaaaaaaaad sorry for taking your time skull and thank you!, about the qval use, im gonna read about it... seems pretty usefull
Big Grin