Minetest logo

IRC log for #minetest-project, 2017-04-21

| Channels | #minetest-project index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:18 proller joined #minetest-project
00:22 OldCoder joined #minetest-project
01:30 ThomasMonroe joined #minetest-project
01:47 ssieb joined #minetest-project
02:01 proller joined #minetest-project
02:15 ThomasMonroe joined #minetest-project
02:23 ThomasMonroe joined #minetest-project
02:23 ThomasMonroe left #minetest-project
02:32 OldCoder
02:40 Brackston joined #minetest-project
02:46 OldCoder Brackston, welcome!
03:08 Brackston Thank you
03:08 OldCoder
03:09 Topic for #minetest-project is now #minetest-project is not renaming, moving, or shutting down
03:09 Topic for #minetest-project is now #minetest-project is not renaming, moving, or shutting down | Politeness is good
03:09 OldCoder Hm
03:10 Topic for #minetest-project is now #minetest-project is not renaming, moving, or shutting down | Civility is preferred
03:10 Topic for #minetest-project is now #minetest-project is not renaming, moving, or shutting down | Identify people who tell you that | Be civil in the channel
03:20 DI3HARD139 joined #minetest-project
03:40 behalebabo joined #minetest-project
05:33 lumidify joined #minetest-project
06:02 OldCoder lumidify, lumidihi
06:03 lumidify Hi OldCoder
06:07 OldCoder o/
06:25 passant joined #minetest-project
06:31 CWz joined #minetest-project
06:41 OldCoder CWz, welcome
06:41 OldCoder CWz, this channel is not "shutting down"
06:41 OldCoder at all
07:59 Lunatrius` joined #minetest-project
09:00 nrzkt joined #minetest-project
09:01 nerzhul left #minetest-project
09:44 proller joined #minetest-project
10:34 Fixer joined #minetest-project
11:05 Jordach joined #minetest-project
11:29 proller joined #minetest-project
11:29 rubenwardy joined #minetest-project
11:31 ThomasMonroe joined #minetest-project
12:17 Fixer joined #minetest-project
12:28 proller joined #minetest-project
12:31 CWz joined #minetest-project
12:43 ld50_of_water joined #minetest-project
12:43 NathanS21 joined #minetest-project
13:16 OldCoder joined #minetest-project
13:22 OldCoder joined #minetest-project
13:32 CWz left #minetest-project
13:51 octacian joined #minetest-project
13:57 CWz joined #minetest-project
14:40 XtremeHacker joined #minetest-project
14:41 Lunatrius` joined #minetest-project
16:00 Fixer joined #minetest-project
16:20 Krock joined #minetest-project
16:24 ThomasMonroe left #minetest-project
17:22 ssieb joined #minetest-project
17:40 XtremeHacker joined #minetest-project
18:13 Grandolf joined #minetest-project
18:33 DI3HARD139 joined #minetest-project
19:18 tenplus1 joined #minetest-project
19:18 tenplus1 hi folks
19:24 tenplus1 left #minetest-project
19:58 ld50_of_water joined #minetest-project
20:06 octacian_ joined #minetest-project
20:08 octacian joined #minetest-project
20:32 proller joined #minetest-project
20:37 OldCoder https://github.com/Grandolf/filez.git
20:37 OldCoder Grandolf, cloning
20:37 OldCoder into grandolfia
20:38 Grandolf kk
20:38 OldCoder Which is still up, actually
20:38 OldCoder OK I C 2 mods
20:38 OldCoder npcf and wiki
20:38 Grandolf yea
20:38 OldCoder Wait
20:38 OldCoder Adding those to the test modset in grandolfia
20:39 OldCoder mv -i npcf wiki /opt/minebest/mtworlds/grandolfia/world_game/mods/
20:39 Grandolf :P
20:40 OldCoder You added code to npcf...
20:40 Grandolf yes
20:40 OldCoder Well, it's a test world now
20:40 OldCoder Hold on
20:40 OldCoder I don't see the code; which file?
20:40 OldCoder Wait
20:40 OldCoder Found it
20:40 Grandolf mynpc.lua
20:40 Grandolf kk
20:41 OldCoder Grandolf, you're doing this call:
20:41 OldCoder wikilib.show_wiki_page(clicker:get_player_name(), "Main")
20:41 Grandolf yea
20:41 OldCoder But there is nothing to define wikilib
20:41 OldCoder Correct?
20:42 OldCoder Let me make a stub mod to work this out...
20:42 Grandolf kk
20:44 proller joined #minetest-project
20:44 troller joined #minetest-project
20:47 OldCoder Working on it
20:47 Grandolf k
20:48 OldCoder minetest.register_on_chat_message (function (name, message)
20:48 OldCoder if message == '/turtles' then
20:48 OldCoder minetest.chat_send_player (name, "moo")
20:48 OldCoder --      wikilib.show_wiki_page (name, "Main")
20:48 OldCoder return true
20:48 OldCoder end
20:48 OldCoder end)
20:48 OldCoder I have reduced your entire mod to that
20:48 OldCoder If we can make the wikilib line work, in business, right?
20:49 OldCoder This is a useful approach. Start simple.
20:49 OldCoder Now... How would this mod work? There is no wikilib.
20:49 OldCoder You asked me, how to include wikilib file.
20:49 Grandolf thats in /wiki
20:49 OldCoder Right, but where is the code?
20:49 OldCoder Check your mod
20:49 OldCoder You never include it
20:50 OldCoder Reviewing wiki mod now
20:50 OldCoder Adding this line to your mod's depends.txt 1st:
20:50 OldCoder wiki
20:50 OldCoder Now your mod will be sure to come after wiki is loaded
20:50 Grandolf there is a wikilib.lua
20:51 OldCoder Not in the github sources
20:51 OldCoder Check for yourself
20:51 OldCoder Only in the wiki mod
20:51 OldCoder I mean...
20:51 OldCoder Not in your new mod
20:51 OldCoder You included the wiki mod
20:52 Grandolf the wiki mod has the wiki.lua
20:52 OldCoder But there is no connection to your mod
20:52 OldCoder Right
20:52 OldCoder But is wikilib a public object?
20:52 Grandolf *wikilib.lua
20:52 OldCoder Hold on
20:53 OldCoder The wiki *mod* has a public object... so is the issue that you did not load wiki first?
20:53 OldCoder Testing
20:53 OldCoder minetest-restart grandolfia
20:54 OldCoder Forgot to uncomment that line...
20:55 OldCoder It works
20:55 OldCoder I see the Jailbreak page
20:55 OldCoder Go into Grandolfia if you like and type /turtles
20:55 Grandolf thats old
20:55 Grandolf kk
20:55 OldCoder Right
20:55 OldCoder But it came with the mod
20:55 Grandolf hm
20:55 OldCoder So, this actually works
20:55 OldCoder In your home world
20:56 OldCoder Try adding wiki to depends.txt in your revised mod
20:56 OldCoder Confirm that nothing still happens
20:56 OldCoder Can do that now?
20:56 Grandolf yes, doing it
20:57 Grandolf the npc on rightclick still isnt showing it :/
20:57 OldCoder Fine
20:57 OldCoder Next test is this
20:58 OldCoder Rename init.lua in your new mod to init.save or something
20:58 OldCoder and add this init.lua instead:
20:58 OldCoder minetest.register_on_chat_message (function (name, message)
20:58 OldCoder if message == '/turtles' then
20:58 OldCoder minetest.chat_send_player (name, "moo")
20:58 OldCoder wikilib.show_wiki_page (name, "Main")
20:58 OldCoder return true
20:59 OldCoder end
20:59 OldCoder end)
20:59 OldCoder
20:59 OldCoder Double check typing or paste
20:59 OldCoder then restart your test world
20:59 OldCoder And after in and past any initial screens, type /turtles
20:59 OldCoder What happens?
21:01 Grandolf it works
21:01 Grandolf the wiki shows up
21:01 OldCoder So, we have
21:01 OldCoder a divide by two situation
21:01 OldCoder It is good to have such
21:01 OldCoder If something works and does not work...
21:02 OldCoder You look for middle and repeat
21:02 OldCoder Until issue is found
21:02 OldCoder But next step is this...
21:02 OldCoder In the place where the other call is...
21:02 OldCoder Add the "moo" line you see here
21:02 OldCoder minetest.chat_send_player (name, "moo")
21:02 OldCoder Hm, wait
21:02 OldCoder Need to get player name there, hold on
21:03 OldCoder Ah, you have it...
21:03 OldCoder wikilib.show_wiki_page(clicker:get_player_name(), "Main")
21:03 OldCoder Before that line...
21:03 OldCoder minetest.chat_send_player (clicker:get_player_name(), "moo")
21:03 OldCoder Insert that and restart
21:03 OldCoder All right?
21:03 Grandolf in the mynpc.lua?
21:04 OldCoder It is called
21:04 OldCoder newnpc.lua in my copy
21:04 Grandolf yea srry XD
21:04 OldCoder Wherever you have this line:
21:04 Grandolf it is that
21:04 OldCoder OK proceed
21:07 Grandolf nothing changed
21:07 OldCoder Grandolf, meaning
21:07 OldCoder Moo did not appear, right?
21:07 Grandolf on rightclick still give me the npc's name only
21:07 OldCoder Moo did not appear, right?
21:07 Grandolf correct
21:07 OldCoder This is good news
21:08 OldCoder Let us confirm next point...
21:08 OldCoder Moment, grepping
21:08 OldCoder minetest.log("action", "I Like Turtles")
21:08 OldCoder Insert that before the two special lines
21:08 OldCoder the chat_send_player and the show_wiki_page
21:08 OldCoder When you run minetest
21:09 OldCoder can you save output? How do you presently start it?
21:09 Grandolf i use the terminal
21:09 OldCoder You type just "minetest" or what?
21:09 Grandolf lotta.log has the logs
21:09 Grandolf ./runlotta.sh
21:09 OldCoder So, this is based on lotta and the logs are saved?
21:09 OldCoder Proceed
21:09 Grandolf for server
21:09 OldCoder Add that .log line
21:10 Grandolf minetest for minetest game
21:10 OldCoder Delete the old log file first
21:10 OldCoder 1) Stop game
21:10 OldCoder 2) Delete log file
21:10 OldCoder 3) Add that .log line
21:10 OldCoder 4) Restart
21:10 OldCoder 5) Profit
21:10 OldCoder <OldCoder> minetest.log("action", "I Like Turtles")
21:10 OldCoder <OldCoder> Insert that before the two special lines
21:10 OldCoder <OldCoder> the chat_send_player and the show_wiki_page
21:10 Grandolf lotta.log right?
21:10 OldCoder Probably, let us try this
21:10 OldCoder Do #1-5
21:11 Grandolf alright
21:11 Grandolf server running
21:13 Grandolf https://pastebin.com/rW8LjbxU
21:19 OldCoder Grandolf, back in 4 minutes
21:19 OldCoder Or so
21:19 Grandolf kk
21:24 OldCoder Grandolf, R
21:24 OldCoder Grandolf, so, no turtles?
21:25 OldCoder Grandolf, conclusion: that block of code isn't being called
21:25 OldCoder Meaning, the issue isn't [presently] with the wiki code at all
21:25 Grandolf ic
21:27 OldCoder So, progress
21:27 OldCoder Does the output
21:27 OldCoder definitely contain no turtles?
21:28 Grandolf 2017-04-21 17:28:09: ACTION[Server]: Grandolf right-clicks object 38: LuaEntitySAO at (7,24,6)
21:28 Grandolf when i rightclick
21:30 Grandolf i gtg eat dinner
21:30 Grandolf cu later
21:31 OldCoder OK
21:31 OldCoder Grandolf, if you see this later, your code isn't hooking the event
21:31 OldCoder So, no need to worry about the wiki code yet
21:52 Grandolf kk
21:52 Grandolf im back
21:53 OldCoder Grandolf, see above
21:53 OldCoder Looking at how you hooked the event now
21:54 OldCoder So, you called register_npc
21:54 OldCoder Let's look at that...
21:55 OldCoder Grandolf, here? you can see the explanation for yourself if so
21:55 Grandolf yes
21:55 OldCoder OK
21:55 OldCoder Follow the preceding so far?
21:55 OldCoder The wikicode wasn't working
21:55 OldCoder Because the code was never *called*
21:55 Grandolf yea
21:55 OldCoder Understand how we have demonstrated this?
21:55 OldCoder Understand how we have demonstrated this?
21:55 Grandolf how do i get it to call?
21:55 Grandolf yes\
21:55 OldCoder Well, that is the next part...
21:56 OldCoder We ask, How is it supposedly getting called?
21:56 OldCoder Answer is
21:56 OldCoder You are setting on_rightclick
21:56 OldCoder But who is using that?
21:56 OldCoder All of this is in a function call
21:56 OldCoder Scroll up, what function are you calling?
21:56 OldCoder Hint:
21:56 OldCoder Line 37
21:57 OldCoder of newnpcs.lua
21:57 OldCoder Grandolf
21:57 Grandolf npcf:register_npc("npcf:deco_npc9" ,{
21:57 OldCoder So
21:57 Grandolf regist_npc
21:57 OldCoder You are calling a function named register_npc
21:57 OldCoder Which you are passing
21:57 OldCoder on_register = to
21:57 OldCoder and that is how
21:58 OldCoder you expect the wiki code to be called
21:58 OldCoder Got all that?
21:58 Grandolf yea
21:58 OldCoder Well, do this
21:58 OldCoder In the mod top dir
21:58 OldCoder grep register_npc *.lua
21:58 OldCoder What do you see?
21:59 troller joined #minetest-project
21:59 Grandolf repalce * with what?
21:59 OldCoder Nothing
21:59 OldCoder grep register_npc *.lua
21:59 OldCoder Type that
21:59 Grandolf grep: *.lua: No such file or directory
21:59 OldCoder in the folder that has init.lua
21:59 OldCoder Where are you?
21:59 Grandolf in home
21:59 Grandolf moving
21:59 OldCoder No
21:59 OldCoder the mod's folder
22:00 OldCoder BTW We forgot something
22:00 OldCoder Grandolf, go to the mod's folder
22:00 OldCoder Indicate when there
22:00 Grandolf npcf.lua:function npcf:register_npc(name, def)
22:00 OldCoder Right
22:00 OldCoder Now
22:00 OldCoder Did you put init.lua back to normal?
22:00 OldCoder I forgot to advise this
22:00 Grandolf doing
22:01 Grandolf done
22:01 OldCoder Put init.lua back to normal, then restart
22:01 OldCoder Question
22:01 OldCoder Since there was no init.lua really
22:01 OldCoder How was it you could see the entity to click on?
22:01 OldCoder It should have said unknown?
22:01 OldCoder Not a minor point
22:01 OldCoder Is it being defined somewhere else?
22:01 Grandolf prob
22:01 OldCoder While you were using my debug code
22:02 OldCoder Right, so totally different problem
22:02 OldCoder Am I going too fast?
22:02 Grandolf no
22:02 OldCoder Let us track this
22:02 OldCoder Rename init.lua to something
22:02 OldCoder and type touch init.lua
22:02 OldCoder Do you now have your original init.lua renamed
22:02 OldCoder and a zero-length init.lua ?
22:03 Grandolf yea
22:03 OldCoder Restart and your NPCs should be gone
22:03 OldCoder Unknowns
22:03 OldCoder Confirm this
22:04 Grandolf yep
22:04 OldCoder But earlier
22:04 OldCoder Did you restart and do the /turtles test
22:04 OldCoder Or maybe forgot to restart?
22:04 OldCoder How was it that we reduced the mod to a /turtles command
22:05 OldCoder and your NPCs were still there?
22:05 Grandolf i left everything else
22:05 OldCoder OK!
22:05 Grandolf just added the turtles
22:05 OldCoder ^ Explanation
22:05 OldCoder Gud
22:05 OldCoder Now, put the init.lua back
22:05 OldCoder And let us review the register_npc function
22:05 OldCoder You will see something interesting there
22:06 OldCoder Indicate when ready to review
22:06 Grandolf ready
22:06 OldCoder Edit npcf.lua
22:06 OldCoder the file that grep showed
22:06 OldCoder register_npc is around line 150
22:06 OldCoder Go there or search for the name
22:07 Grandolf function npcf:register_npc(name, def)
22:07 OldCoder Scroll down and look for on_rightclick. What you will see...
22:08 OldCoder is that register_npc is a thin wrapper
22:08 OldCoder around register_entity
22:08 OldCoder It does not pass on_rightclick through directly
22:08 OldCoder Find this function's on_rightclick
22:08 Grandolf on_rightclick = function(self, clicker)
22:09 OldCoder There
22:09 OldCoder minetest.chat_send_player(player_name, self.npc_name)
22:09 OldCoder >>> minetest.chat_send_player(player_name, "woof")
22:09 OldCoder if type(def.on_rightclick) == "function" then
22:09 OldCoder >>> minetest.chat_send_player(player_name, "meow")
22:09 OldCoder def.on_rightclick(self, clicker)
22:09 OldCoder end
22:09 OldCoder Add the two lines I marked with >>> but leave out the >>>
22:09 OldCoder I will then explain
22:10 Grandolf add that or replace the on_rightclick=
22:10 OldCoder Add those two lines
22:10 OldCoder Leave everything
22:10 OldCoder I will then explain
22:11 Grandolf kk
22:12 OldCoder done?
22:12 Grandolf on rightclick im getting woof and meow too now
22:12 OldCoder What is happening
22:12 OldCoder is that the woof is coming from where the register_npc's own rightclick code is
22:12 OldCoder and the meow is coming from the code that is supposed to call YOUR rightclick code
22:13 OldCoder But you say that your rightclick code is not being called
22:13 OldCoder So, we have an inconsistency
22:13 OldCoder They are fun
22:13 OldCoder Wait
22:13 OldCoder Definitely getting a meow?
22:13 Grandolf yep
22:13 OldCoder Wait
22:14 OldCoder And this is definitely that entity
22:14 OldCoder the one with the stuff we added to its click function?
22:14 Grandolf im pretty sure, double checking
22:15 Grandolf hm
22:16 Grandolf i tried useing the giveme command and its claiming it doesnt exist\
22:16 OldCoder 'cause somebody's right-click code is being called
22:16 OldCoder One bug at a time...
22:16 OldCoder Let's try this, then
22:16 OldCoder def.on_rightclick(self, clicker)
22:16 OldCoder Change that in the register_npc call to
22:17 OldCoder def.on_rightclick(self, clicker,player_name)
22:17 OldCoder Able to do that?
22:17 OldCoder Oh wait
22:17 OldCoder Stop
22:17 OldCoder Ha
22:17 OldCoder Grandolf, you here?
22:17 Grandolf yea
22:17 OldCoder Grandolf, look at the meow code
22:17 Grandolf just finished
22:17 Grandolf kk
22:17 OldCoder The lines after it
22:18 OldCoder def.on_rightclick(self, clicker)
22:18 OldCoder That is how your on_rightclick function is called
22:18 OldCoder Do you understand so far?
22:18 OldCoder That is the actual call to your function
22:18 Grandolf kk
22:18 OldCoder Now, the self part is odd, disregard it
22:18 Grandolf um was i suppose to put the meow with the npc?
22:18 OldCoder What is passed
22:18 OldCoder No, relax
22:18 OldCoder Now, the self part is odd, disregard it
22:18 OldCoder def.on_rightclick(self, clicker)
22:19 OldCoder What is being passed to your on_rightclick function
22:19 OldCoder What function arguments?
22:19 OldCoder If you don't know
22:19 OldCoder the terminology yet, I will explain
22:19 OldCoder def.on_rightclick(self, clicker) <<< this is a function call
22:20 OldCoder The function being called is your on_rightclick
22:20 OldCoder What is being sent to your on_rightclick to use
22:20 OldCoder Pro Tip: This is fun
22:20 OldCoder <Lucifer> It is not Satanic Torture. Oh, well.
22:20 Grandolf minetest.chat_send_player(player_name, self.npc_name)
22:20 Grandolf if type(def.on_rightclick) == "function" then
22:20 Grandolf def.on_rightclick(self, clicker,player_name)
22:20 Grandolf minetest.chat_send_player(player_name, self.npc_name)
22:20 Grandolf minetest.chat_send_player(player_name, "woof")
22:20 Grandolf if type(def.on_rightclick) == "function" then
22:20 OldCoder Grandolf, indicate when back, we are about done
22:20 Grandolf minetest.chat_send_player(player_name, "meow")
22:20 Grandolf def.on_rightclick(self, clicker)
22:20 OldCoder
22:20 OldCoder Grandolf, look at this function call
22:21 OldCoder <Grandolf>        def.on_rightclick(self, clicker)
22:21 OldCoder Which you just pasted
22:21 OldCoder Do you know what a function argument is, yet?
22:21 Grandolf ik what a function is
22:21 OldCoder Do you know what a function argument is, yet?
22:21 OldCoder Not a function
22:21 OldCoder But a function argument
22:21 Grandolf not rerally XD
22:21 OldCoder <Function Larry> You are bad
22:21 Grandolf ik lol
22:21 OldCoder <Function Sally> I m going back to Mother
22:22 OldCoder A function
22:22 OldCoder in most languages
22:22 OldCoder takes arguments
22:22 Grandolf is it the else if stuff?
22:22 OldCoder Nope
22:22 OldCoder Guess! Point OFF!
22:22 OldCoder Bzzt
22:22 OldCoder A function
22:22 OldCoder takes arguments
22:22 OldCoder To work with
22:22 OldCoder for example
22:22 OldCoder int addme (int a, b) { return a+b; }
22:23 OldCoder That is a 'C' function. It takes a and b.
22:23 OldCoder It adds them and returns the result.
22:23 OldCoder In Lua...
22:23 OldCoder Testing
22:24 OldCoder Minute
22:24 OldCoder Business email came in, but just a minute
22:24 OldCoder We are almost done
22:24 Grandolf kk
22:27 OldCoder Letter answered, checking something about Lua
22:27 Grandolf kk
22:28 OldCoder function addme (a,b) return a+b; end
22:28 OldCoder I believe that is correct
22:29 OldCoder Grandolf, do you understand what a and b are here for?
22:29 Grandolf they are3 variable
22:29 Grandolf *are variables
22:29 OldCoder 2, not 3
22:29 OldCoder and they are function arguments
22:29 OldCoder Function arguments are things passed to a function
22:29 OldCoder to work with
22:29 OldCoder function addme (a,b) return a+b; end
22:29 OldCoder This function takes 2 of them
22:29 OldCoder Study that and comment
22:30 OldCoder Questions?
22:30 Grandolf no
22:30 OldCoder Can you write us a function that adds 3 integers?
22:30 Grandolf i think i get it
22:30 OldCoder Hint:
22:30 OldCoder function addme (a,b) return a+b; end
22:30 OldCoder ^ writes 2
22:30 OldCoder Show us one that adds 3 ?
22:31 OldCoder s/writes/adds/
22:31 Grandolf function addme (a,b,c) return a+b; end
22:31 OldCoder Close
22:31 Grandolf oops
22:31 OldCoder Does that add 3 numbers?
22:31 Grandolf a+b
22:31 OldCoder should be?
22:31 Grandolf should b a+b+c
22:31 OldCoder yes
22:31 OldCoder OK NOW
22:31 OldCoder
22:31 OldCoder function addme (a,b,c) return a+b+c; end
22:32 OldCoder What would happen
22:32 OldCoder If somebody called that like this:
22:32 OldCoder
22:32 OldCoder addme ("bacon")
22:32 OldCoder <addme> I do not no wat to do
22:32 Grandolf return bacon
22:32 OldCoder Nope
22:32 OldCoder What does the function do?
22:32 OldCoder function addme (a,b,c) return a+b+c; end
22:32 OldCoder What is it expecting?
22:32 Grandolf more suff
22:32 Grandolf it would error?
22:32 OldCoder And stuff you can add
22:32 OldCoder Probably
22:33 OldCoder Or just ignore it or so on
22:33 OldCoder Able to see where this is headed?
22:33 OldCoder
22:33 OldCoder In the register_npc function
22:33 OldCoder Go to the meow code
22:33 OldCoder Indicate when there
22:33 Grandolf there
22:33 OldCoder Look at the on_rightclick call after it
22:33 OldCoder paste that call here
22:34 Grandolf def.on_rightclick(self, clicker)
22:34 OldCoder Now
22:34 OldCoder Go to the new file that has your wiki call
22:34 OldCoder Indicate when there
22:34 Grandolf on_rightclick = function(pos, node, clicker, itemstack)
22:34 OldCoder Ignore the self part
22:35 OldCoder That part is weird
22:35 OldCoder So
22:35 OldCoder clicker
22:35 OldCoder is sent
22:35 OldCoder and
22:35 OldCoder pos,node,clicker,itemstack
22:35 OldCoder is expected
22:35 OldCoder See a problem yet?
22:35 Grandolf yes
22:35 OldCoder Replace pos,node,clicker,itemstack
22:35 OldCoder with just clicker
22:35 Grandolf we need to add pos node and iremstack
22:35 OldCoder No
22:35 OldCoder because
22:35 OldCoder wikilib.show_wiki_page(clicker:get_player_name(), "Main")
22:35 OldCoder Does that need anything but clicker?
22:36 Grandolf not really
22:36 OldCoder Replace pos,node,clicker,itemstack with just clicker
22:36 OldCoder on_rightclick = function(pos, node, clicker, itemstack)
22:36 OldCoder becomes
22:36 OldCoder on_rightclick = function(clicker)
22:36 OldCoder Make that change
22:36 Grandolf no , after clicker right?
22:36 OldCoder Save file, exit, restart MT, click on your Disco Dancer
22:36 OldCoder Hm?
22:36 OldCoder Explain?
22:36 Grandolf nvm
22:36 OldCoder Ah
22:36 OldCoder It is optional
22:36 Grandolf kk
22:36 OldCoder Omit it this time
22:37 OldCoder Save file, exit, restart MT, click on your Disco Dancer
22:37 Grandolf it crashed
22:38 Grandolf luaentity_Rightclick(): ...esktop/lotta/worlds/lotta/worldmods/npcf/npcs/newnpc.lua:98: attempt to call method 'get_player_name' (a nil value)
22:38 OldCoder Moment
22:38 OldCoder Progress, anyway
22:38 Grandolf lol
22:38 OldCoder clicker does not have getplayername
22:38 OldCoder Go back
22:38 OldCoder to the register_npc function in the other file
22:38 OldCoder Indicate when there
22:38 Grandolf wikilib.show_wiki_page(clicker:get_player_name(), "Main")
22:39 Grandolf add player_name after clicker?
22:39 OldCoder Yes
22:39 OldCoder Worth a shot
22:39 OldCoder Not there
22:39 OldCoder Go back to the register_npc function in the other file
22:39 OldCoder Indicate when there
22:40 Grandolf minetest.chat_send_player(player_name, self.npc_name)
22:40 Grandolf if type(def.on_rightclick) == "function" then
22:40 Grandolf def.on_rightclick(self, clicker,player_name)
22:40 OldCoder Right
22:40 OldCoder Save and edit the other file now
22:40 Grandolf its already got playername
22:40 Grandolf npcf.lua
22:40 OldCoder on_rightclick = function(clicker, player_name)
22:40 OldCoder Is that it?
22:41 OldCoder make that change
22:41 OldCoder and
22:41 Grandolf on_rightclick = function(clicker,player_name)
22:41 OldCoder wikilib.show_wiki_page(player_name, "Main")
22:41 OldCoder that one too
22:41 OldCoder Note underscore in both places
22:41 OldCoder Now, the "self" part doesn't line up, but ignore that unless it still crashes
22:41 OldCoder Can you paste
22:42 OldCoder the entire short on_rightclick = function block ?
22:42 Grandolf in the npcf or newnpc?
22:42 OldCoder on_rightclick = only happens in newnpc
22:42 OldCoder IIRC
22:42 Grandolf on_rightclick = function(clicker,player_name)
22:42 Grandolf if clicker then
22:42 Grandolf minetest.log("action", "I Like Turtles")
22:42 Grandolf minetest.chat_send_player (name, "moo")
22:43 Grandolf wikilib.show_wiki_page(clicker:get_player_name(), "Main")
22:43 Grandolf end
22:43 Grandolf end,
22:43 OldCoder You did not make the 2nd change
22:43 OldCoder wikilib.show_wiki_page(player_name, "Main")
22:43 OldCoder That one
22:43 Grandolf take out get_
22:43 OldCoder No
22:43 OldCoder Reduce it all the way to this:
22:43 OldCoder wikilib.show_wiki_page(player_name, "Main")
22:43 Grandolf kk
22:44 OldCoder Also change the chat call to
22:44 OldCoder minetest.chat_send_player (player_name, "moo")
22:44 OldCoder Then repaste this block here
22:44 Grandolf on_rightclick = function(clicker,player_name)
22:44 Grandolf if clicker then
22:45 Grandolf minetest.log("action", "I Like Turtles")
22:45 Grandolf minetest.chat_send_player (player_name, "moo")
22:45 Grandolf wikilib.show_wiki_page(player_name, "Main")
22:45 Grandolf end
22:45 Grandolf end,
22:45 OldCoder Right
22:45 OldCoder In general
22:45 OldCoder Look at functions and understand
22:45 OldCoder where all of the values come from
22:45 OldCoder Here, two are passed in
22:45 OldCoder And both are used
22:45 OldCoder Study this code briefly, please
22:46 OldCoder Indicate if do or don't understand each line
22:46 Grandolf i do
22:46 OldCoder Now, the other file...
22:46 OldCoder def.on_rightclick(self, clicker,player_name)
22:46 OldCoder Lines up... except for self
22:46 OldCoder Ignore that for the moment
22:46 OldCoder Save, restart, go find a Disco
22:47 Grandolf it crashed again
22:47 Grandolf getting log
22:47 Grandolf luaentity_Rightclick(): ...esktop/lotta/worlds/lotta/worldmods/npcf/npcs/newnpc.lua:97: bad argument #1 to 'chat_send_player' (string expected, got userdata)
22:47 Grandolf 2017-04-21 18:46:06: ERROR[Main]: stack traceback:
22:47 Grandolf 2017-04-21 18:46:06: ERROR[Main]: [C]: in function 'chat_send_player'
22:47 Grandolf 2017-04-21 18:46:06: ERROR[Main]: ...esktop/lotta/worlds/lotta/worldmods/npcf/npcs/newnpc.lua:97: in function 'on_rightclick'
22:47 Grandolf 2017-04-21 18:46:06: ERROR[Main]: .../halt/Desktop/lotta/worlds/lotta/worldmods/npcf/npcf.lua:248: in function <.../halt/Desktop/lotta/worlds/lotta/worldmods/npcf/npcf.lua:235>
22:47 OldCoder Wait
22:48 OldCoder Try changing
22:48 OldCoder Moment, checking, close
22:49 OldCoder on_rightclick = function(clicker,player_name)
22:49 OldCoder change that to
22:49 OldCoder on_rightclick = function(stuff,clicker,player_name)
22:50 OldCoder then save, restart
22:50 sfan5 chat_send_player takes a string, you'll need to use clicker:get_player_name() in the call
22:50 OldCoder sfan5, t y
22:50 OldCoder sfan5, is self to be added or ignored here?
22:50 OldCoder If the API does
22:50 OldCoder def.on_rightclick(self, clicker,player_name)
22:51 sfan5 for entities self is always included IIRC
22:51 OldCoder def.on_rightclick(self, clicker,player_name)
22:51 OldCoder Should the receiving function say
22:51 OldCoder on_rightclick = function(something,clicker,player_name)
22:51 OldCoder ?
22:51 sfan5 probably
22:51 Grandolf it crashed
22:51 OldCoder Grandolf, 2 changes
22:51 OldCoder sfan5 just added another one
22:51 OldCoder Change #1
22:51 OldCoder on_rightclick = function(something,clicker,player_name)
22:51 OldCoder You made that one?
22:52 Grandolf kk
22:52 Grandolf and #2?
22:52 sfan5 i usually define entity callbacks outside of the table as function EntityClass:on_rightlick(params, here)
22:52 OldCoder He is just learning function arguments
22:52 OldCoder Possibly just removing the chat line
22:52 OldCoder will finish
22:53 OldCoder Grandolf, remove the "moo" line for now
22:53 OldCoder If still crashes, we must be very close, regardless
22:54 Grandolf it did
22:54 Grandolf [Mod Aging] Recorded Ages.
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '' in callback luaentity_Rightclick(): ...lt/Desktop/lotta/worlds/lotta/worldmods/wiki/wikilib.lua:34: Invalid core.check_player_privs argument type: nil
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: stack traceback:
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: [C]: in function 'error'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: /opt/minetest/share/minetest/builtin/game/misc.lua:13: in function 'check_player_privs'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ...lt/Desktop/lotta/worlds/lotta/worldmods/wiki/wikilib.lua:34: in function 'get_page_path'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ...lt/Desktop/lotta/worlds/lotta/worldmods/wiki/wikilib.lua:97: in function 'load_page'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ...lt/Desktop/lotta/worlds/lotta/worldmods/wiki/wikilib.lua:142: in function 'get_wiki_page_formspec'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ...lt/Desktop/lotta/worlds/lotta/worldmods/wiki/wikilib.lua:188: in function 'show_wiki_page'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: ...esktop/lotta/worlds/lotta/worldmods/npcf/npcs/newnpc.lua:97: in function 'on_rightclick'
22:54 Grandolf 2017-04-21 18:53:42: ERROR[Main]: .../halt/Desktop/lotta/worlds/lotta/worldmods/npcf/npcf.lua:253: in function <.../halt/Desktop/lotta/worlds/lotta/worldmods/npcf/npcf.lua:235>
22:54 OldCoder Oops
22:54 Grandolf shouldve pastebinned that
22:54 OldCoder Wait, Reviewing
22:55 OldCoder Made it into the wiki code...
22:55 OldCoder Grandolf, I think I'd better try to reproduce this one...
22:56 OldCoder Able to github latest versions of the two mods? And are they all I need from you for this?
22:56 OldCoder I spawn the entity
22:56 OldCoder and try to right click on it?
22:56 Grandolf yea
22:56 Grandolf 1 sec
22:57 Nathans21 joined #minetest-project
22:57 OldCoder Nathans21, good day
22:58 Nathans21 Hi oldcoder
22:58 OldCoder o/
22:58 Grandolf https://github.com/Grandolf/filez.git
22:59 OldCoder Grandolf, I will clone and attempt reproduce. Sorry not fixed but this was hopefully instructive...
22:59 OldCoder You had two function contexts
22:59 OldCoder A call and a definition
22:59 OldCoder That definitely were not lining up. Probably still off. Do you understand this part?
22:59 Grandolf yea\
22:59 OldCoder Not the still off part... might be several explanations
23:00 OldCoder But function call and function definition must match
23:00 OldCoder With special cases
23:00 OldCoder There are languages
23:00 OldCoder where the 1st argument is weird... "self" looked like that, but sfan5 is not sure
23:00 OldCoder So, the key lessons for the day are...
23:00 OldCoder * understand function arguments in calls and definitions
23:01 OldCoder * debug code such as the woof and meow we did can tell you if code is being called at all
23:01 OldCoder * get basics of setup down; you were missing a line in depends.txt. To get basics down, simple test cases can be helpful.
23:01 OldCoder Is this acceptable for today?
23:02 OldCoder I propose to check to see if the arguments both line up and are correct
23:02 OldCoder The player parameter, clicker probably
23:02 OldCoder Is not coming through correctly...
23:02 OldCoder when privs of that player are checked, deep in the wiki operation
23:03 OldCoder The player is being rejected, things turn up nil, and game goes belly up
23:03 OldCoder
23:03 Grandolf kk
23:03 Grandolf thks OC :)
23:03 OldCoder Grandolf, pleasure to fiddle with this, we will talk again...
23:03 OldCoder I'll have time to clone and test after I finish some SQL work this weekend
23:03 OldCoder AFK for now
23:03 Grandolf k, cu
23:03 OldCoder

| Channels | #minetest-project index | Today | | Google Search | Plaintext