[Modpack] NPC Framework [minetest-npcf] [WIP]

User avatar
Mcc457
Member
Posts: 84
Joined: Sat Sep 07, 2013 17:53
Location: Earth..nah too usual; Minetest
Contact:

by Mcc457 » Post

Like above, the mod is installed, I get an error saying:

ServerError: LuaError: error:
...es\mods\minetest-npcf-master\npcf/npcf.lua:459: attempt to concatenate


After that, I go back in the NPC I put is either there, or it says:

ServerError: LuaError: error running function 'on_step'
...game\mods\minetest-npcf-master\npcs/builder_npc.lua:260: attempt to index global
'vector' (a nil value)

(I am aware this has to do with the builder.)

Exactly like that above, any suggestions?
Last edited by Mcc457 on Thu Oct 17, 2013 21:03, edited 1 time in total.
Working on a sub-game; mostly based texture packs, adventure and soon chemistry...

User avatar
Ikishida
Member
Posts: 107
Joined: Sat Aug 17, 2013 08:02
Location: (secret)

by Ikishida » Post

Topywo wrote:
Ikishida wrote: uhh...is there already minetest 0.4.8? please link it.
Not yet, but there's a difference between 0.4.7 and the 'latest' from Github. You could see the latest from Github as a 'daily unstable'.

After the official release of the 0.4.7. stable (almost) every day additions/improvements/changes are made for minetest (most in the engine, sometimes the game).

Some mods need to be/are updated to work with the 'latest' version of minetest and don't work anymore in 0.4.7 stable.
link the "latest" please.
When life hands you lemons,throw it back at life saying "I don't need your goddamn lemons!" =D

User avatar
Topywo
Member
Posts: 1721
Joined: Fri May 18, 2012 20:27

by Topywo » Post

Ikishida wrote: link the "latest" please.
Windows latest:

sfan5: viewtopic.php?pid=114672#p114672

BlockMen and Fess make also 'latest' Windows build, here are the links to their topics. At this time their builds are not the latest, but nevertheless very new. They probably update theirs soon:

viewtopic.php?id=6727
viewtopic.php?id=6745


Linux:
I prefer compiling it myself from the Github, following the instruction in the readme.txt:
https://github.com/minetest/minetest

I keep forgetting if and where the prebuilds of those are.



P.s. In the Github you can see how long ago the latest changes have been made to minetest. Most of the times you can keep on using 'older' latest builds for a while (the one I use now is from half September).

falsegrayburger
Member
Posts: 158
Joined: Sat Aug 03, 2013 15:16
In-game: naro

by falsegrayburger » Post

Record the behavior of the player, to play in its entirety in this NPCF
I think there should be player player NPC

User avatar
Ikishida
Member
Posts: 107
Joined: Sat Aug 17, 2013 08:02
Location: (secret)

by Ikishida » Post

Topywo wrote:
Ikishida wrote: link the "latest" please.
Windows latest:

sfan5: viewtopic.php?pid=114672#p114672

BlockMen and Fess make also 'latest' Windows build, here are the links to their topics. At this time their builds are not the latest, but nevertheless very new. They probably update theirs soon:

viewtopic.php?id=6727
viewtopic.php?id=6745


Linux:
I prefer compiling it myself from the Github, following the instruction in the readme.txt:
https://github.com/minetest/minetest

I keep forgetting if and where the prebuilds of those are.



P.s. In the Github you can see how long ago the latest changes have been made to minetest. Most of the times you can keep on using 'older' latest builds for a while (the one I use now is from half September).
thanks! it works great! but how can I remove an NPC?
When life hands you lemons,throw it back at life saying "I don't need your goddamn lemons!" =D

User avatar
Topywo
Member
Posts: 1721
Joined: Fri May 18, 2012 20:27

by Topywo » Post

Ikishida wrote: thanks! it works great! but how can I remove an NPC?
See README.md in the first post. It gives a list of possible commands.


Edit: Typo.
Last edited by Topywo on Sun Oct 20, 2013 10:32, edited 1 time in total.

User avatar
Topywo
Member
Posts: 1721
Joined: Fri May 18, 2012 20:27

by Topywo » Post

I got this error:

12:53:44: ERROR[main]: ServerError: LuaError: error running function on_activate: ...n/../mods/minetest-npcf-master/npcf/npcs/builder_npc.lua:40: attempt to concatenate global 'NPCF_PATH' (a nil value)


This solved the problem:

line 40: input = io.open(NPCF_PATH.."/schems/"..filename, "r") -->
line 40: input = io.open(NPCF_MODPATH.."/schems/"..filename, "r")

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

Topywo wrote:I got this error:

12:53:44: ERROR[main]: ServerError: LuaError: error running function on_activate: ...n/../mods/minetest-npcf-master/npcf/npcs/builder_npc.lua:40: attempt to concatenate global 'NPCF_PATH' (a nil value)


This solved the problem:

line 40: input = io.open(NPCF_PATH.."/schems/"..filename, "r") -->
line 40: input = io.open(NPCF_MODPATH.."/schems/"..filename, "r")
Thanks for reporting this Topywo, this has now been corrected in current-git

User avatar
qwrwed
Member
Posts: 326
Joined: Sun Jul 22, 2012 20:56
In-game: qwrwed or Nitro

by qwrwed » Post

Mcc457 wrote:Like above, the mod is installed, I get an error saying:

ServerError: LuaError: error:
...es\mods\minetest-npcf-master\npcf/npcf.lua:459: attempt to concatenate


After that, I go back in the NPC I put is either there, or it says:

ServerError: LuaError: error running function 'on_step'
...game\mods\minetest-npcf-master\npcs/builder_npc.lua:260: attempt to index global
'vector' (a nil value)

(I am aware this has to do with the builder.)

Exactly like that above, any suggestions?
I get the same error as this.

Code: Select all

16:13:38: ACTION[ServerThread]: singleplayer places node npcf:guard_npc_spawner at (-55,6,-94)
16:13:38: ACTION[ServerThread]: facedir: 1
16:14:11: ACTION[ServerThread]:  digs npcf:guard_npc_spawner at (-55,6,-94)
16:14:11: ACTION[ServerThread]: singleplayer leaves game. List of players: 
16:14:11: ERROR[main]: ServerError: LuaError: error: ...4.7-a924409-win32\bin\..\mods\npcf-modpack\npcf/npcf.lua:459: attempt to concatenate global 'npc_name' (a nil value)
16:14:11: ERROR[main]: stack traceback:
This happens after I name the NPC using the block, but when I re-enter the game, the NPC is there as normal.
Last edited by qwrwed on Sun Oct 20, 2013 16:09, edited 1 time in total.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

qwrwed wrote:
Mcc457 wrote:Like above, the mod is installed, I get an error saying:

ServerError: LuaError: error:
...es\mods\minetest-npcf-master\npcf/npcf.lua:459: attempt to concatenate


After that, I go back in the NPC I put is either there, or it says:

ServerError: LuaError: error running function 'on_step'
...game\mods\minetest-npcf-master\npcs/builder_npc.lua:260: attempt to index global
'vector' (a nil value)

(I am aware this has to do with the builder.)

Exactly like that above, any suggestions?
I get the same error as this:

Code: Select all

16:13:38: ACTION[ServerThread]: singleplayer places node npcf:guard_npc_spawner at (-55,6,-94)
16:13:38: ACTION[ServerThread]: facedir: 1
16:14:11: ACTION[ServerThread]:  digs npcf:guard_npc_spawner at (-55,6,-94)
16:14:11: ACTION[ServerThread]: singleplayer leaves game. List of players: 
16:14:11: ERROR[main]: ServerError: LuaError: error: ...4.7-a924409-win32\bin\..\mods\npcf-modpack\npcf/npcf.lua:459: attempt to concatenate global 'npc_name' (a nil value)
16:14:11: ERROR[main]: stack traceback:
This happens after I name the NPC using the block, but when I re-enter the game, the NPC is there as normal.
This was caused by a bug in the error logging system. The crash should now be fixed however there must have been a problem saving the backup file to trigger that in the first place. This may be due to an os directory path or permissions error, I am not able to test this on windows myself.

The first error you mention is not related and sounds more like an incompatible version of minetest, unless something has changed very recently.
Last edited by stu on Sun Oct 20, 2013 16:04, edited 1 time in total.

User avatar
qwrwed
Member
Posts: 326
Joined: Sun Jul 22, 2012 20:56
In-game: qwrwed or Nitro

by qwrwed » Post

I did not get the first error, you may be right that it is an old version as I downloaded sfan5's latest build for Windows earlier today. I will redownload the mod and see what happens.
Edit: It no longer crashes, but it prints an error.

Code: Select all

17:16:58: ACTION[ServerThread]: singleplayer places node npcf:guard_npc_spawner at (-43,3,-36)
17:16:58: ACTION[ServerThread]: facedir: 0
17:17:04: ACTION[ServerThread]:  digs npcf:guard_npc_spawner at (-43,3,-36)
17:17:04: ERROR[ServerThread]: Failed to save NPC Sam
17:17:04: ERROR[ServerThread]: Attempt to save invalid NPC
17:17:04: ERROR[ServerThread]: Failed to save NPC Sam
Now, the name does not appear above the NPC's head unless I log out and back in.

Looking at the code (Although I am not very experienced with it, so I may be wrong), it appears to log the error
( minetest.log("error", "Failed to load "..npc_name) ) without a condition - I would expect there to be something that says:

Code: Select all

if (x) then
    minetest.log("error", "[...]") 
end
As opposed to the "minetest.log" being placed where they are below.

Code: Select all

function npcf:load(npc_name, pos)
    if get_valid_npc_name(npc_name) then
        [...]
        minetest.log("error", "Failed to load "..npc_name)
    end
    minetest.log("error", "Attempt to load invalid NPC")
end
Last edited by qwrwed on Sun Oct 20, 2013 16:32, edited 1 time in total.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

qwrwed wrote:I did not get the first error, you may be right that it is an old version as I downloaded sfan5's latest build for Windows earlier today. I will redownload the mod and see what happens.
Edit: It no longer crashes, but it prints an error.

Code: Select all

17:16:58: ACTION[ServerThread]: singleplayer places node npcf:guard_npc_spawner at (-43,3,-36)
17:16:58: ACTION[ServerThread]: facedir: 0
17:17:04: ACTION[ServerThread]:  digs npcf:guard_npc_spawner at (-43,3,-36)
17:17:04: ERROR[ServerThread]: Failed to save NPC Sam
17:17:04: ERROR[ServerThread]: Attempt to save invalid NPC
17:17:04: ERROR[ServerThread]: Failed to save NPC Sam
Now, the name does not appear above the NPC's head unless I log out and back in.

Looking at the code (Although I am not very experienced with it, so I may be wrong), it appears to log the error
( minetest.log("error", "Failed to load "..npc_name) ) without a condition - I would expect there to be something that says:

Code: Select all

if (x) then
    minetest.log("error", "[...]") 
end
As opposed to the "minetest.log" being placed where they are below.

Code: Select all

function npcf:load(npc_name, pos)
    if get_valid_npc_name(npc_name) then
        [...]
        minetest.log("error", "Failed to load "..npc_name)
    end
    minetest.log("error", "Attempt to load invalid NPC")
end
Thank you for the update, I see that it's still not quite right, however the underlying problem here is that the NPC's are not being saved to the npc_data directory. I suspect that this either a file permssions issue or maybe a problem with the / directory path separator.

I will see if I can get this to run under wine and try to reproduce the error.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

Well, it's nice to see that sfan5's build works better than expected under wine, however I have so far been unable to reproduce this error. Interestingly though the mod did not appear to load when put in the global mods directory, instead I had to put it under worldmods in the world directory. You could try to do the same and see if that helps. Also, it may be helpful to know what version of windows you are running.

Update: I read somewhere that windows will not accept / as path separator on the command line, perhaps the same is true with os.execute.
The latest commit uses package.config to determine the correct separator in this case, maybe it will help, if not then it's most likely permissions.
Last edited by stu on Sun Oct 20, 2013 19:30, edited 1 time in total.

User avatar
qwrwed
Member
Posts: 326
Joined: Sun Jul 22, 2012 20:56
In-game: qwrwed or Nitro

by qwrwed » Post

Using worldmods has the exact same result as before.
It loaded for me, after enabling the modpack in the "Configure" menu.
I use Windows XP, Version 2002, Service Pack 3.
Is there anything I can try on my computer that might make the modpack work?

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

qwrwed wrote:Using worldmods has the exact same result as before.
It loaded for me, after enabling the modpack in the "Configure" menu.
I use Windows XP, Version 2002, Service Pack 3.
Is there anything I can try on my computer that might make the modpack work?
Have you tried it since the last commit I made? What does the error output look like now?
You could check the world directory to see if the npc_data directory has been created. If not then create it manully so the world directory should now contain three sub-dirs; npc_data, players & worldmods.
I think I have an old oem version of XP somewhere I can maybe setup on a virtualbox or a partition but this may take me some time.

Really speaking though this mod is in nowhere near a useable state at present so you are probably best waiting until things are in a bit better shape (with the mod and with the engine itself)

User avatar
qwrwed
Member
Posts: 326
Joined: Sun Jul 22, 2012 20:56
In-game: qwrwed or Nitro

by qwrwed » Post

Just redownloaded latest version and created the "npc_data" folder, the problem seems to have been fixed by this. Thanks for helping with this.
I did not need to create a worldmods folder, by the way.
One thing I have noticed though is that the decorative NPC's checkboxes don't save as the guard NPC's checkboxes do. I right-click the deco NPC, check "follow players", click "Ok", and when I right-click it again, the "follow players" box is unchecked. This does not happen with the guard NPC.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

Ok, I am now getting the same error(s)

Code: Select all

A subdirectory or file C:\Documents already exists.
Error occurred while processing: C:\Documents.
A subdirectory or file and already exists.
Error occurred while processing: and.
A subdirectory or file Settings\Stuart\Desktop\minetest-0.4.7-a924409-win32\bin\
..\worlds\winworld\npc_data already exists.
Error occurred while processing: Settings\Stuart\Desktop\minetest-0.4.7-a924409-
win32\bin\..\worlds\winworld\npc_data.
I am guessing something to do with the spaces in the directory path (stupid windows, I remember why I stopped using this about 10yrs ago)
I am not really sure how to fix this, maybe someone more familiar with lua under windows can suggest something.

At least it does seem to work if one creates the npc_data directory manually for now. Meanwhile I'll see what I can find out.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

qwrwed wrote: One thing I have noticed though is that the decorative NPC's checkboxes don't save as the guard NPC's checkboxes do. I right-click the deco NPC, check "follow players", click "Ok", and when I right-click it again, the "follow players" box is unchecked. This does not happen with the guard NPC.
Thanks, though I had noticed that too, it's on my todo list which is quite long atm. I want to get the framework part itself fully debugged before i do much more with the NPCs. However, better formspecs are my main priority when I do get round to that.

Update: The problem with npc_data dir creation under Windows should now be fixed. (just needed quotes)
Checkout the recent commit history to see how I truly suck at git...
Last edited by stu on Tue Oct 22, 2013 19:16, edited 1 time in total.

davidforsure!!!
Member
Posts: 72
Joined: Fri Oct 25, 2013 09:02

by davidforsure!!! » Post

NICE +5

Michael Eh?
Member
Posts: 391
Joined: Sun Jan 01, 2012 17:21

by Michael Eh? » Post

there seems to be no way of picking up and returning to inventory a NPC once placed... just delete.

Wondering NPCs should have a limit like guards, after that limit is exceeded, it returns to placement or home point.

Guards and other NPC don't take damage. Bad if a player would use guards to attack other players by setting the up in their homes.
I was thinking of a waitress/waiter which would be able to sell several food items but remain in one area. Of course, that means they would have to have inventory and give an error msg when out.

User avatar
AMMOnym
Member
Posts: 682
Joined: Tue Sep 10, 2013 14:18
IRC: AMMOnym
In-game: AMMOnym
Location: Slovakia

by AMMOnym » Post

I build Minerim map With your npcs.

viv100
Member
Posts: 80
Joined: Sat Aug 10, 2013 16:36

by viv100 » Post

problem

User avatar
hoodedice
Member
Posts: 1374
Joined: Sat Jul 06, 2013 06:33
GitHub: hoodedice
IRC: hoodedice
In-game: hoodedice
Location: world
Contact:

by hoodedice » Post

viv100 wrote:problem
That is?
7:42 PM - Bauglio: I think if you go to staples you could steal firmware from a fax machine that would run better than win10 does on any platform
7:42 PM - Bauglio: so fudge the stable build
7:43 PM - Bauglio: get the staple build

User avatar
fishyWET
Member
Posts: 162
Joined: Tue Jan 01, 2013 07:43
GitHub: neinwhal
IRC: neinwhal
In-game: neinwhal
Location: Nowhere

by fishyWET » Post

there is this particular error with the trader npc while trading
15:08:35: ERROR[main]: ServerError: LuaError: ...\minetest-0.4.8\bin\..\mods\npcf\npcf/npcs/trade_npc.lua:175: attempt to perform arithmetic on a nil value
15:08:35: ERROR[main]: stack traceback:
15:08:35: ERROR[main]: ...\minetest-0.4.8\bin\..\mods\npcf\npcf/npcs/trade_npc.lua:175: in function 'on_receive_fields'
15:08:35: ERROR[main]: ...er\Desktop\minetest-0.4.8\bin\..\mods\npcf\npcf/npcf.lua:548: in function <...er\Desktop\minetest-0.4.8\bin\..\mods\npcf\npcf/npcf.lua:535>
Btw, i was wondering if it is possible to add long range npc guards, throwing the item in their inventory, using the throwing method similar to how the dungeon master throw fireballs at it's target.

User avatar
stu
Member
Posts: 923
Joined: Sat Feb 02, 2013 02:51
GitHub: stujones11
Location: United Kingdom

by stu » Post

fishyWET wrote:there is this particular error with the trader npc while trading
15:08:35: ERROR[main]: ServerError: LuaError: ...\minetest-0.4.8\bin\..\mods\npcf\npcf/npcs/trade_npc.lua:175: attempt to perform arithmetic on a nil value
15:08:35: ERROR[main]: stack traceback:
15:08:35: ERROR[main]: ...\minetest-0.4.8\bin\..\mods\npcf\npcf/npcs/trade_npc.lua:175: in function 'on_receive_fields'
15:08:35: ERROR[main]: ...er\Desktop\minetest-0.4.8\bin\..\mods\npcf\npcf/npcf.lua:548: in function <...er\Desktop\minetest-0.4.8\bin\..\mods\npcf\npcf/npcf.lua:535>
Btw, i was wondering if it is possible to add long range npc guards, throwing the item in their inventory, using the throwing method similar to how the dungeon master throw fireballs at it's target.
Can you reproduce this error? If so then please describle the steps taken to do so, thanks.
Last edited by stu on Fri Nov 29, 2013 18:54, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests