Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - jammyjamjamman

Pages: 1 2 3 [4] 5 6 7 8 9
76
Bug reports / Cursor disappears in-game MG-3.12, linux-x64
« on: 14 February 2016, 23:20:22 »
The first time this happened (several days ago), I joined a server, the server admin started the game, and it was when the game loaded I saw the cursor was missing.
Second time (today), I quit a 4v4 game (we were losing :P), and after clicking the exit button to leave the stats page for that game, my cursor once again had disappeared.

I've not been able to retrieve the cursor without restarting the game. Sadly no error reports popped up when this happened. It appears to occur when transitioning from the menu-to-the-game, or vice versa.

77
Understood.

My post about FC23 can be disregarded. ;)

I believe Fedora is pretty good at keeping megaglest up to date (although it's still stuck at 3.11 currently).
I was just thinking, for newbies, it might be better to recommend the playdeb repo, then they don't need to worry about the dependencies (this does assume newbies use selected debian-based OSes).

78
MegaGlest / Re: running Windows installer as underprivileged user
« on: 11 February 2016, 00:09:05 »
Just to add to filux's comment, windows DOES NOT let you run any installer without administrator privileges, as part of the so-called *security* of windows.
It's possible of course to bypass this problem by downloading the compressed executable here  : megaglest-64bit-binary
or: megaglest-32bit-binary
and the megaglest-data here: megaglest-data

79
Bug reports / MG-3.12.0, Crash mid-game on andy_5995's Server
« on: 10 February 2016, 19:22:27 »
I was playing a 1v1 game against andy_5995, both of us running on linux-x64. FOW was disabled. The game crashed soon after I sent my army to andy_5995's base.

My error output:
Code: [Select]
*ERROR* [2016-02-10 18:57:12] In [game.cpp::update Line: 2783] Error [networkCommand->getTargetId() >= 0 && networkCommand->getTargetId() < 4, [networkCommandType = 0
unitId = 80
commandTypeId = 2
positionX = 16
positionY = 25
unitTypeId = -1
targetId = -1
wantQueue= 0
fromFactionIndex = 0
unitFactionUnitCount = 53
unitFactionIndex = 0, commandStateType = 0, commandStateValue = -1, unitCommandGroupId = -1]
Stack Trace:
/data/<user>/megaglest/megaglest:Shared::Platform::megaglest_runtime_error::megaglest_runtime_error(std::string const&, bool)address [0xb26dad] line: 2368
/data/<user>/megaglest/megaglest:Glest::Game::Commander::buildCommand(Glest::Game::NetworkCommand const*) constaddress [0x5abbb8] line: 539
/data/<user>/megaglest/megaglest:Glest::Game::Commander::giveNetworkCommand(Glest::Game::NetworkCommand*) constaddress [0x5b06d9] line: 876
/data/<user>/megaglest/megaglest:Glest::Game::Commander::updateNetwork(Glest::Game::Game*)address [0x5b3cff] line: 340
/data/<user>/megaglest/megaglest:Glest::Game::Game::update()address [0x57795f] line: 2209
/data/<user>/megaglest/megaglest:Glest::Game::Program::loopWorker()address [0x6f6a58] line: 494
/data/<user>/megaglest/megaglest:Glest::Game::glestMain(int, char**)address [0x6e403c] line: 5696
/data/<user>/megaglest/megaglest:Glest::Game::glestMainSEHWrapper(int, char**)address [0x6e7d16] line: 5959
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main()address [0x7f3b06c62a40] line: 0
/data/<user>/megaglest/megaglest() [0x4f072a]address [0x4f072a]
]

I did not crash out of the game, but I was disconnected from the server. andy_5995 did not crash.
I'm running the installer-version of megaglest on kubuntu 15.10, and andy_5995 is running a self-compiled version (unmodified). Here's the dependencies andy_5995 uses (lld output):
Code: [Select]
linux-vdso.so.1 (0x00007ffe32466000)
libSDL2-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 (0x00007f43324b2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4332295000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f4332027000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f4331d8d000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f4331b85000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f4331968000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f4331625000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f4331413000)
libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f43311b8000)
libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f4330faf000)
liblua5.2.so.0 => /usr/lib/x86_64-linux-gnu/liblua5.2.so.0 (0x00007f4330d7c000)
libjpeg.so.62 => /usr/lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f4330b25000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f43308fe000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f43306ca000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f43304ad000)
libssh2.so.1 => /usr/lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f4330284000)
libnettle.so.4 => /usr/lib/x86_64-linux-gnu/libnettle.so.4 (0x00007f4330052000)
libgnutls-deb0.so.28 => /usr/lib/x86_64-linux-gnu/libgnutls-deb0.so.28 (0x00007f432fd33000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f432fae8000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f432f8d9000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f432f687000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f432f46c000)
libGLEW.so.1.10 => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10 (0x00007f432f1e0000)
libftgl.so.2 => /usr/lib/x86_64-linux-gnu/libftgl.so.2 (0x00007f432efb5000)
libfribidi.so.0 => /usr/lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f432ed9d000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f432ea92000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f432e791000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f432e57b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f432e1d0000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f432ded8000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f432dcd4000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f432dacf000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f432d87e000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f432d673000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f432d470000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f432d260000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f432d056000)
libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1 (0x00007f432ce53000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f432cc4d000)
libwayland-egl.so.1 => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f432ca4b000)
libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f432c83c000)
libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f432c634000)
libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f432c3f8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f432c1f0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f43335cb000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f432bfc7000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f432bd9d000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f432bb9a000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f432b994000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f432b792000)
libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f432b579000)
libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f432b374000)
libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f432b171000)
libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f432af6e000)
libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f432ad67000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f432ab45000)
libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f432a943000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f432a736000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f432a531000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f432a304000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f432a0fb000)
libhogweed.so.2 => /usr/lib/x86_64-linux-gnu/libhogweed.so.2 (0x00007f4329ecc000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f4329c49000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f4329967000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f4329721000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f432950d000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f4329239000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f4329008000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f4328e04000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f4328bf8000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f43289f4000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f43287dd000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f43285c1000)
libXmu.so.6 => /usr/lib/x86_64-linux-gnu/libXmu.so.6 (0x00007f43283a8000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f43280fe000)
libpulsecommon-5.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-5.0.so (0x00007f4327e84000)
libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f4327c7f000)
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f4327a74000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f432782c000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f4327622000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f432741a000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f4327216000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f4327011000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f4326dff000)
libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007f4326b96000)
libXtst.so.6 => /usr/lib/x86_64-linux-gnu/libXtst.so.6 (0x00007f4326990000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f432676c000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f4326561000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f43262f7000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f43260f1000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f4325eec000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f4325cc9000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f4325ab1000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f432587e000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f43255cb000)

80
MegaGlest / Re: Stutter Step
« on: 28 January 2016, 12:16:45 »
Hi Kitten. Welcome to megaglest!

Interesting question. Just to clarify what I think kitten means, the question is: The start-attacking animation for a ranged unit is slow. Can another unit escape damage from this attack by moving out of the way of fire during the attack-procedure?

My answer to this is, it actually depends on the Unit, and the situation. let me give some examples:
  • An archer attacking a stationary unit. The archers have an average-speed anim. In my experience, if the animation has begun, there is no chance of escaping the attack from the archer.
  • An archer attacking a moving unit. if the unit moves away from the archer/ the unit is really fast, then there's a chance it can escape the attack. sometimes the archer will also have to cancel the attack.
  • A flying valkyrie attacking a unit running away. I've seen this one numerous times. The flying valkyrie chases the unit, begins the attack anim, then gives up because the unit is too far away, then chases again and the process repeats.
  • An elephant-archer attacking a stationary flying unit. The elephant archer has a REALLY slow attack anim, and flying units tend to be fast. If you try to run away from this attack, there's a good chance you'll succeed and the elephant-attack anim will cancel and no attack fired.

Hope this may give some idea of the answer to your question :)

81
Mods / Re: Clash of Civs - Mix of civilizations pack
« on: 9 January 2016, 21:31:46 »
Looking good (y) . Looking forward to trying this online.

It's also quite fun to see all the vbros packs combined. Using cowboys vs indians is a nice realistic combination too (although the whacky faction combos is part of the fun of megaglest xD).

82
Hi,

I've translated the language file into Dutch ( island_survival_dutch.lng ).

Is there some place where I can post the result?
Is the code on GIThub?

kind regards,

   Egon

Hi kingigi. I don't know of any official repo for this. Would it be possible to leave a pastebin of it/ place it within
Code: [Select]
here if it's not too big?
Or maybe someone else does know somewhere to upload it?
Cheers.

83
This is possibly not related because it occurred at a different time, but when filux were in a server, filux clicked "play" (megaglest 3.12dev, git Rev: 5255.2b06670), and my game crashed again:
Code: [Select]
Stack Trace:
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x55abfcd4c20d] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Glest::Game::handleSIGSEGV(int)address [0x55abfcd4c7c5] line: 0
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7f2eafa072f0] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Glest::Game::ModInfo, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Glest::Game::ModInfo> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)address [0x55abfce46c50] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Glest::Game::MenuStateConnectedGame::refreshTechModInfo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)address [0x55abfce95a20] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Glest::Game::MenuStateConnectedGame::simpleTask(Shared::PlatformCommon::BaseThread*, void*)address [0x55abfce97b40] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Shared::PlatformCommon::SimpleTaskThread::execute()address [0x55abfd136ec4] line: 0
/data/<user>/megaglestdev/megaglest-source/mk/linux/megaglest:Shared::Platform::Thread::beginExecution(void*)address [0x55abfd188ad8] line: 0
/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0:()address [0x7f2eb3828d7c] line: 0
/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0:()address [0x7f2eb3874419] line: 0
/lib/x86_64-linux-gnu/libpthread.so.0:()address [0x7f2eb359b6aa] line: 0
/lib/x86_64-linux-gnu/libc.so.6:clone()address [0x7f2eafad8eed] line: 0
]
Segmentation fault (core dumped)

I know that straight after an online game is started, is another common time when I have run into a segfault, but there's a good chance it's unrelated to this particular problem.

84
I have had this problem numerous times, but it occurs very infrequently.

The recent occurrence of it I had (that tomreyn posted above), was straight after I successfully connected to titi's server. This bug usually happens when I connect to a server.

I currently have no idea what the cause of this bug is, but after describing the bug in the irc, tomreyn mentioned:
Quote
[00:12] <tomreyn> so you probably lacked some mod which was attempted to be downloaded when you connected to titi's server

This seems like a plausible hypothesis.

Maybe this bug is reproducible by getting a client to reconnect to a server multiple times, and changing the mods active(preferably to a mod the client doesn't have/ where the mod is slightly different to the client) before every reconnection. I don't have any definite method of reproducing this bug.

85
Mods / Re: Glest army
« on: 30 October 2015, 18:50:02 »
AlextheGreat, looks pretty cool!  :thumbup:

I see, the "multiple arrows" animation looks like the arrows were fired also simultaneously as I noticed on the screenshots.

Just to clarify what I think Carl the Great was saying, you can give models multiple projectiles. See Multiple Projectiles for more info. This lets your unit (I assume your grouped soldiers are units) fire more than 1 projectile. The position the time which each projectile is fired can be offset, which will make it look like each unit is firing an arrow.

There is a way to determine the number of units of an army, the code allows multiple G3Ds in one skill depending on how much health left, just like when a structure is being built or attacked by an enemy over time.

What I think Carl the Great is referring to here is megaglest's extra animation features. If you follow the link I have just given, you can see that animations can have the parameters minHp and maxHp. This is the health range for which a given g3d model is displayed. The idea is, you can link multiple g3ds to the same unit, and you can set boundary conditions for when these g3d models are displayed. e.g. one of your "units" might be 10 archers. You could make 10 g3d models, one of them consisting of 10 archers, then another consisting of 9, and another with 8... etc. Then, you can configure the unit in the xml to display the g3d with 10 archers for 900 < x <= 1000hp, 9 archers for 800 < x <= 900hp, 8 for 700 < x <= 800hp etc (x is the hp/ health of the unit).

I you want to see a good example of this g3d-hpbound-model stuff, download the ultrapack mod in the mod centre, and look at the file: ultrapack/factions/crusaders/units/defense_tower/defense_tower.xml.

86
MegaGlest / Megaglest executable icon (again)
« on: 11 October 2015, 15:59:27 »
So after Mathu made a new megaglest icon design, we ran into the problem that the icon was not an svg. This is because it was based off the original icons, which also weren't svgs.

Anyway, I've been playing round with inkscape and attempted to make some megaglest icon ideas, which are as follows:


Hope these might be of some interest. As you can see they all use letters in the icon, but maybe it would make more sense to use a picture logo instead? (sword, shield, castle.....)
(hint: the second and third logos appear very pixelated. They need to be downloaded to be properly viewed.)

87
MegaGlest / Re: New MegaGlest Executable Icon! :D
« on: 3 October 2015, 15:24:52 »
This is a copy of the original icon Mathu made.
https://drive.google.com/file/d/0B49RhfctJ_lvaWpWaEIxbTF5dGc/view?usp=sharing

It's an .ico which contains a 256*256, 128*128, 64*64, 32*32, 16*16 and 8*8 image. No svg is available sadly. Icon looks good itself.

88
I've written down what I know about looting in the megaglest wiki docs page. Enjoy :)

89
it was made long ago,

There are two things that were discussed back then:

1.
 Is it possible that the percentage is maent for the stored resources in a unit and as they are shared the resources  of the faction ? I think I remember it was like this.
SO for example the blacksmith can store wood. So if this has the percentage tag its meant for the wood of the faction.

2.
percentage of unit cost/price

I don't know which one was implemented, can you try to find out ?

After finally getting the percentage variables to work, and by looking at the code:
Code: [Select]
attacked->getFaction()->incResourceAmount(resource.getResourceType(), -(factionTotalResource * resource.getLossPercentage() / 100));it appears that your first answer is (almost) correct! The player who owns this unit has the given percentage of their resources taken away from them when this unit is killed.

However, if we have an example, such as a roman general with the variable <resource name="gold" loss-percentage="5"/>. When the general is killed, the player who owns this unit loses 5% of the gold they currently have stored in total, even though the general does not store any gold on his person.

As mentioned earlier, I got the percentage variables to work. But, I found out that amount-percentage and loss-percentage are not meaningful variables. From once again looking at the code:
Code: [Select]
resource.setAmountFactionPercent(resourceNode->getAttribute("amount-faction-percent")->getIntValue());and
Code: [Select]
resource.setLossFactionPercent(resourceNode->getAttribute("loss-faction-percent")->getIntValue());,
it turned out that the correct variable names are amount-faction-percent and loss-faction-percent.

So afaik, everything is working exactly how it should (barring the 2 incorrect variable names) :D
I'll try to document this on the wiki soon :)

90
it was made long ago,

There are two things that were discussed back then:

1.
 Is it possible that the percentage is maent for the stored resources in a unit and as they are shared the resources  of the faction ? I think I remember it was like this.
SO for example the blacksmith can store wood. So if this has the percentage tag its meant for the wood of the faction.

2.
percentage of unit cost/price

I don't know which one was implemented, can you try to find out ?

looking at the code:
Code: [Select]
attacked->getFaction()->incResourceAmount(resource.getResourceType(), -(factionTotalResource * resource.getLossFactionPercent() / 100));
Answer 1 is (almost) correct! The
Code: [Select]
loss-percentage is apparently referring to the percentage of the resources stored by the player who owns the unit. However, the unit is not required to be able to store any resources.
For example, if the roman general had this variable, it would be possible to kill the roman general, then a percentage of the resources stored by the player who owns the general would be removed from this player. This can happen even if the general doesn't store any resources on his person.

I eventually did get the percentage variables to work. The documentation left by MikeHoffert was not quite correct. The variables
Code: [Select]
loss-percentage and
Code: [Select]
amount-percentage are invalid variables. Looking once again at the code:
Code: [Select]
if(resourceNode->hasAttribute("faction-amount-percentage")) {
-resource.setAmountPercentage(resourceNode->getAttribute("faction-amount-percentage")->getIntValue());

91
**EDIT** it appears that the amount-value/ loss-value work perfectly fine. However, amount-percentage/ loss-percentage don't seem to have any effect.

92
The first problem is it looks like noone was willing to test/describe this feature in the wiki :-(
Maybe someone( you!? ) can do this ?

see here: https://forum.megaglest.org/index.php?topic=9475.msg91844#msg91844

What exactly would you expect to happen in your example?

The cost of the drone is as follows:
Code: [Select]
<resource-requirements><resource name="stone" amount="25"/><resource name="wood" amount="100"/><resource name="gold" amount="225"/></resource-requirements>
the looting or resources-death parameters for the drone are:
Code: [Select]
<resources-death>
\t<resource name="wood" amount-percentage="5" loss-percentage="1"/>
\t<resource name="gold" amount-value="1000" loss-percentage="1"/>
\t<resource name="stone" amount-percentage="5" loss-percentage="1"/>
</resources-death>

Quote from: MikeHoffert link=https://github.com/MegaGlest/megaglest-source/pull/17
    amount-value: An absolute amount to give to the killing unit.
    amount-percentage: Percentage of the killed unit to give to the faction that killed it.
    loss-value: An absolute amount of resources that are removed from the faction of the killed unit.
    loss-percentage: Percentage of the resource that are removed from the faction of the killed unit.
    allow-negative: If true, the faction can go into the negatives if they lose more resources than they have. If false, the resource count won't go below 0.

So when I kill the drone, I expect to gain:
  • 5% of the wood that the drone cost, which is 100*0.05 = 5 wood
  • 5% of the stone that the drone cost, which is 25*0.05 = 1 and a quarter stone => 1 stone (code implies ints are used, so truncation must occur)
  • 1000 gold exactly

The information about looting says that the loss-percentage is the
Quote
Percentage of the resource that are removed from the faction of the killed unit.
, but it doesn't say if the percentage of the drone/ player's resources are taken from the player who owns the drone. Looking at the code:
Code: [Select]
attacked->getFaction()->incResourceAmount(resource.getResourceType(), -(factionTotalResource * resource.getLossPercentage() / 100)) (this is if the resources of the player can go negative), it looks like the percentage of the player's (who owns the drone) store of resources is taken.

this means I also expect the enemy player to lose 1% of their store of wood, gold and stone.

I have not seen any resources gained or lost whenever I've killed the drone/ a drone is killed. If I can get to properly understand how this looting works, I'd be happy to write a wiki for it :) . (also apologies for starting a new topic, I should have just posted at https://forum.megaglest.org/index.php?topic=9475.msg91844#msg91844
)

93
I added looting parameters to various units in tower-defense, so that they released resources when killed. One of these units to get looting parameters, was the drone. Both me (and probably) the cpu had resources. However, when I kill the drone unit I don't receive any resources. No errors or warnings are produced by the parameters. Looting just simply appears not to work. amount-percentage and amount-value both have no effect on the unit's properties.

The xml drone script:

Code: [Select]
<?xml version="1.0" standalone="no"?>

<unit>
<parameters>
<size value="2"/>
<height value="1"/>
<max-hp value="1300" regeneration="3"/>
<max-ep value="200" regeneration="1"/>
<armor value="20"/>
<armor-type value="unit"/>
<sight value="15"/>
<time value="200"/>
<max-unit-count value="2"/>
<multi-selection value="true"/>
<cellmap value="false"/>
<levels>
</levels>
<fields>
<field value="air"/>
</fields>
<properties/>
<light enabled="false"/>
<unit-requirements>
</unit-requirements>
<upgrade-requirements>
</upgrade-requirements>
<resource-requirements>
<resource name="stone" amount="25"/>
<resource name="wood" amount="100"/>
<resource name="gold" amount="225"/>
</resource-requirements>
<resources-stored/>
<image path="images/drone.bmp"/>
<image-cancel path="../../icons/cancel.bmp"/>
<meeting-point value="false"/>
<selection-sounds enabled="true">
<sound path="$COMMONDATAPATH/sounds/horseman_select1.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select2.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select3.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select4.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select5.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select6.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select7.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select8.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select9.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select10.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select11.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_select12.wav"/>
</selection-sounds>
<command-sounds enabled="true">
<sound path="$COMMONDATAPATH/sounds/horseman_ack1.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack2.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack3.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack4.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack5.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack6.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack7.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack8.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack9.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack10.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack11.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack12.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack13.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack14.wav"/>
<sound path="$COMMONDATAPATH/sounds/horseman_ack15.wav"/>
</command-sounds>
                <resources-death>
                        <resource name="wood" amount-percentage="5" loss-percentage="1"/>
                        <resource name="gold" amount-value="1000" loss-percentage="1"/>
                        <resource name="stone" amount-percentage="5" loss-percentage="1"/>
                </resources-death>
</parameters>

<skills>

<skill>
<type value="stop"/>
<name value="stop_skill"/>
<ep-cost value="0"/>
<speed value="1000"/>
<anim-speed value="50"/>
<animation path="models/drone.g3d"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
</particles>
<sound enabled="false"/>
</skill>

<skill>
<type value="attack"/>
<name value="stop_buff_armor"/>
<ep-cost value="100"/>
<speed value="100"/>
<anim-speed value="100"/>
<animation path="models/drone.g3d"/>
<attack-strenght value="0"/>
<attack-var value="0"/>
<attack-range value="8"/>
<attack-type value="attacker"/>
<attack-fields>
<field value="land"/>
</attack-fields>
<attack-start-time value="0"/>
<projectile value="false"/>
<splash value="false"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
<particle-file path="front_light.xml"/>
</particles>
<sound enabled="false"/>
<attack-boost>
<allow-multiple-boosts value="true" />
<radius value="12" />
<target value="faction" include-self="false"/>
<armor value="100" value-percent-multipler="false" />
<particles value="false"/>
</attack-boost>
</skill>

<skill>
<type value="attack"/>
<name value="stop_buff_dmg"/>
<ep-cost value="100"/>
<speed value="100"/>
<anim-speed value="100"/>
<animation path="models/drone.g3d"/>
<attack-strenght value="0"/>
<attack-var value="0"/>
<attack-range value="8"/>
<attack-type value="attacker"/>
<attack-fields>
<field value="land"/>
</attack-fields>
<attack-start-time value="0"/>
<projectile value="false"/>
<splash value="false"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
<particle-file path="front_light.xml"/>
</particles>
<sound enabled="false"/>
<attack-boost>
<allow-multiple-boosts value="true" />
<radius value="12" />
<target value="faction" include-self="false"/>
<attack-strenght value="60"/>
<particles value="false"/>
</attack-boost>
</skill>

<skill>
<type value="attack"/>
<name value="stop_buff_range"/>
<ep-cost value="100"/>
<speed value="100"/>
<anim-speed value="100"/>
<animation path="models/drone.g3d"/>
<attack-strenght value="0"/>
<attack-var value="0"/>
<attack-range value="8"/>
<attack-type value="attacker"/>
<attack-fields>
<field value="land"/>
</attack-fields>
<attack-start-time value="0"/>
<projectile value="false"/>
<splash value="false"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
<particle-file path="front_light.xml"/>
</particles>
<sound enabled="false"/>
<attack-boost>
<allow-multiple-boosts value="true" />
<radius value="12" />
<target value="faction" include-self="false"/>
<attack-range value="4"/>
<particles value="false"/>
</attack-boost>
</skill>

<skill>
<type value="attack"/>
<name value="stop_buff_hp"/>
<ep-cost value="100"/>
<speed value="100"/>
<anim-speed value="100"/>
<animation path="models/drone.g3d"/>
<attack-strenght value="0"/>
<attack-var value="0"/>
<attack-range value="8"/>
<attack-type value="attacker"/>
<attack-fields>
<field value="land"/>
</attack-fields>
<attack-start-time value="0"/>
<projectile value="false"/>
<splash value="false"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
<particle-file path="front_light.xml"/>
</particles>
<sound enabled="false"/>
<attack-boost>
<allow-multiple-boosts value="true" />
<radius value="12" />
<target value="faction" include-self="false"/>
<max-hp value="400" value-percent-multipler="false" />
<particles value="false"/>
</attack-boost>
</skill>


<skill>
<type value="move"/>
<name value="move_skill"/>
<ep-cost value="0"/>
<speed value="250"/>
<anim-speed value="100"/>
<animation path="models/drone.g3d"/>
<particles value="true">
<particle-file path="jet1.xml"/>
<particle-file path="jet2.xml"/>
</particles>
<sound enabled="true" start-time="0">
<sound-file path="$COMMONDATAPATH/sounds/horseman_walk1.wav"/>
<sound-file path="$COMMONDATAPATH/sounds/horseman_walk2.wav"/>
<sound-file path="$COMMONDATAPATH/sounds/horseman_walk3.wav"/>
</sound>
</skill>


               
<skill>
<type value="die"/>
<name value="die_skill"/>
<ep-cost value="0"/>
<speed value="60"/>
<anim-speed value="50"/>
<animation path="models/drone.g3d"/>
<particles value="false"/>
<sound enabled="true" start-time="0">
<sound-file path="$COMMONDATAPATH/sounds/horseman_die1.wav"/>
<sound-file path="$COMMONDATAPATH/sounds/horseman_die2.wav"/>
<sound-file path="$COMMONDATAPATH/sounds/horseman_die3.wav"/>
<sound-file path="$COMMONDATAPATH/sounds/horseman_die4.wav"/>
</sound>
                        <fade value="false"/>
</skill>

</skills>

<commands>

<command>
<type value="stop"/>
<name value="stop"/>
<image path="../../icons/stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<stop-skill value="stop_skill"/>
</command>

<command>
<type value="move"/>
<name value="move"/>
<image path="../../icons/move.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
</command>

<command>
<type value="attack"/>
<name value="plus_100_armor"/>
<image path="../../icons/stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="stop_buff_armor"/>
</command>

<command>
<type value="attack"/>
<name value="plus_400_hp"/>
<image path="../../icons/stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="stop_buff_hp"/>
</command>

<command>
<type value="attack"/>
<name value="plus_60_dmg"/>
<image path="../../icons/stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="stop_buff_dmg"/>
</command>

<command>
<type value="attack"/>
<name value="plus_4_range"/>
<image path="../../icons/stop.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="stop_buff_range"/>
</command>

</commands>
</unit>

94
Cheers Mathu. Great to see island survival finally fixed  :thumbup: . The 'specialists' faction in factionpack is pretty fun too. It's the first faction with flying workers and containers!

Have fun doing whatever you do next :) .

95
Bug reports / Re: MegaGlest starts spasming
« on: 28 August 2015, 23:39:25 »
I have seen this on 1 online game a couple of months ago, when my army was attacking a roman horse unit. My network was lagging quite badly at the time. However, I didn't report it because I've never seen this bug since.

96
Congratulations, you have taken megaglest well beyond the limits it was designed for.  :P

I think you're simply getting errors because you've taken your CPU and/ or RAM and Megaglest beyond what they can cope with. I think the only solution is to buy a supercomputer. :D

98
fixed. Cheers

99
Just to note, this is fixed in the git/ development version. Cheers :)

100
Feature requests / Gain resources from building you destroy
« on: 19 May 2015, 02:29:41 »
I was thinking that, there could be an option in in the custom game config settings where if you destroy a building, you could gain the resources currently stored in it. This might make game play more interesting in an all vs all scenario for example, as it gives everyone more of a motive to attack.

Pages: 1 2 3 [4] 5 6 7 8 9