Jump to content

Kenneth Nyström

Members
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Kenneth Nyström

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Kenneth Nyström

    Crazy Crashes

    I am having trouble saving "prefabs" as "the "Leadwerks" engine" doesnt make a meta file when I save a prefab: and as such when I open the prefabfolder containing a file that does not have a .meta counterfile "the engine" crashes (and messes big time with my Windows) I even had to reinstall Windows a few times because of some corrupted files: and now i cant save prefabs at all.
  2. Kenneth Nyström

    Steam Achievements

    Am I correct in assuming one need add //lua to the following C++ "external dependencies" isteamuserstats.h line 88 class ISteamUserStats and make it class ISteamUserStats//lua to expose the class and to line 90 public: .... add say .... static void SetAchiv1()//lua ........ as activator. ........... or do one need do that in like the header files section? ........... or even the source section? ...................... the code from line 88: isteamuserstats.h .................... class ISteamUserStats { public: // Ask the server to send down this user's data and achievements for this game CALL_BACK( UserStatsReceived_t ) virtual bool RequestCurrentStats() = 0; // Data accessors virtual bool GetStat( const char *pchName, int32 *pData ) = 0; virtual bool GetStat( const char *pchName, float *pData ) = 0; // Set / update data virtual bool SetStat( const char *pchName, int32 nData ) = 0; virtual bool SetStat( const char *pchName, float fData ) = 0; virtual bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength ) = 0; // Achievement flag accessors virtual bool GetAchievement( const char *pchName, bool *pbAchieved ) = 0; virtual bool SetAchievement( const char *pchName ) = 0; virtual bool ClearAchievement( const char *pchName ) = 0; I am just confused after having spent 12 hours trying to figure out how to use the ToLua++ generator; ISteamUserStats::SetAchievement("A_TEST_ACHIV") virtual bool SetAchievement( const char *pchName ) = 0; ....... I strongly suspect I need to use the ToLua++ to generate two files of some code. to be able to use the commands from inside a lua script. and with that (luascript) using an XxxXxxxxx::ZzzZzzz(); that the C++ scripts (running in the background (behind the "game window")) can interpret: and then run a bit of code; class XxxXxxxxx//lua { public: static void :ZzzZzzz() { ISteamUserStats::SetAchievement("A_TEST_ACHIV"); } }; That then in its turn uses the preset "external dependencies .h scripts (in this case ISteamUserStats.h that has its ISteamUserStats//lua (exposed)) allowing the SetAchievement("A_TEST_ACHIV") code to be sent to steam... and thru that activating the steam achiv However I am still missing something... (I suspect it has to to with I havent gotten an grasp of what the ToLua++ generatoris supposed to do and work/how to be used) Need an pointer on where to look next as my head is spinning hard (again) as I cant see what I am missing atm. I even have an suspicion there is an built in steamworks lua to c++ (due to the steam interface reacting to shift + tab from with in the game) that is already working and that I only need to understand how to use the XxxXxxxxx::ZzzZzzz(); correctly...
  3. Kenneth Nyström

    Development with c++ and Lua on Linux

    Hello; I am trying to figure out how to use the following in a Windows based environment; and I think I have gotten down to the code I want activated in/thru the c++ as: ....................... class MySingleton { public: static void SetAchiv1() { set_steam_achievement ("FINISHED_AREA_1"); } }; ................. = when I use in Lua the below .................. MySingleton::SetAchiv1(); .................. I would (example) activate set_steam_achievement ("FINISHED_AREA_1") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; However I am a bit confused in how to set up the C++ bit as it seems to involve several files. However as this is a Linux based discussion im wondering if someone could give me a pointer toward how to find information on making the same (but in Windows) as in the first input above by pracedru .............................. "I work on Ubuntu 15.04. Here the tolua++ libs are installed with: sudo apt-get install libtolua++5.1-dev The tolua++ program needs a pck file which shall contain the c++ like seudo code that is translated into lua classes."
  4. Q: Is there a way to call a C++ script from a Lua script? and if that is possible; how does one call a Lua script from within a C++ script? ................................ Any pointers appreciated im thinking; if that I can at the end of a level, have LUA script ask for a C++ script that triggers a Steam Achivement and after that either calls the desired in game map or if nedded restart the entire game (this is a viable option for me; but not desirable if avoidable)
  5. Kenneth Nyström

    How to damage yourself? (using the Player script)

    Its the basic "player" script that comes with Leadwerks...so really no need to attach the script...
  6. Kenneth Nyström

    Steam Achievements

    I have the exact same question....and I get the steam partner thingy part... and that I have to use Microsofts; Visual studio but there is an multitude of versions of M: VS.. which one is the correct? (I think I have figured out how the code must look like) But what program to use is the next step? and how do I reach the Leadwerks C++ stuff. Is it just to start M: VS and find your correct script and type in the code? cant find the preexisting scripts I want (re)written with/in C++.. within M: VS. (I know this is outside Leadwerks) but does someone know how to find the files? I suspect im gonna need Code::Blocks and thru that find the files i want... (am I correct?) No I guess thats for...Linux... hmm Ahh wait there is an open folder in M: VS...is that the way?
  7. Kenneth Nyström

    How to damage yourself? (using the Player script)

    Yeah this solved it; (thought I had put it under that in atleast 4 variants) Thank you (and the other commenters) for the assistance,
  8. Kenneth Nyström

    How to damage yourself? (using the Player script)

    Yes that is exactly what I thought it would be, but somehow it doesnt work. (head began spinning after hours of it not working althou it looked like it should be working) will go bk and look at it again now after an nights sleep, but yeah it looks like I originally thought... hmm. and I pretty much used the basic "player" template that leadwerks comes with with no major changes.
  9. Hello: need assistance to figure out a small script (to use within the "basic" player script) to give my own player damage when pressing a certain key: OR Just using a keyhit (Key.U) to trigger a respawn (within the "player script) ( to have the player be able to get out of situations they are stuck in or have fallen thru the map) .......................... I thought the below would be enough...but I cant get it to work: (my Health amount is 100: and I tried using the script.hurt) ................. if window:KeyHit(Key.U) then script:hurt (100) end end ........... I also tried using self.health = self.health - self.health (in several configs and a bunch of other ways i have forgotten about now after 3 hours of trying to figure this one out.) .......... As said I want to be able to press a key to lower my health so I can use/trigger the ingame respawn function if the player either gets stuck or falls thru the map (after that) (and damaging my player health logicly should been the easiest way to do it; as that would trigger the respawn function: but nah, it wasnt that easy at all.) .......
  10. Kenneth Nyström

    Save game feature: where do I put it in?

    Yeah I am thinking as small as possible; I only really need 1: what map was the player on: 2: optional------------(the position) (more then enough with just the normal: map-spawn- in-point) 3: two table values; thats cruicial to the "where in the game progress the player is" 4: save to disk 5 load when game starts. But I am absolutly CLUELESS where to begin. = I cant get anything to even begin make sense without a starting point where the save scripts is to be put. (there are no tutorials to be found) I can (in my mind) see how I only need like 5 or 6 lines of code to make this to be solved ---------------- Something like this: .................. function Script:SaveData() --This is to get the function goin. count1 = (count1 + 1) --This I hope is to name the save files diffrently each time a save is done {currentmap= "self.mapname" } --This line of code should possibly incl, the two table values of "lets call them "mylevel" & "mybuildlevel" local entityTable ={} {mylevel= "self.mylevel" mybuildlevel ="self.mybuildlevel" } return entityTable end ................................................................................................. Let me see if I have gotten the basic idea of what the load script should say: ................................................................................................... function Script:LoadData(data) --This is to have the load scrip going. (Game comes with a first "save" that has the starting values going --the first time it is started up; before the game saves its own save file for the first time) --here I suspect a line of code needs to be put in to identify the latest save; so game knows what file to --load currentmap = "" --the saved value above in save file mylevel = "" --the saved value above in save file mybuildlevel = "" --the saved value above in save file end .................... Any help to move me forward will be very much appreciated.
  11. Kenneth Nyström

    Save game feature: where do I put it in?

    So I have been putting this step off for some time. "the save function." ... I have this basic idea how and where it should be implemented: But the Leadwerks "index" for the save function is to say the least lacking regardng the "SaveData" and "LoadData" so I am actully stuck in my endevours to proceded with my game´s save/load function. Especially the part with how to "save" the map: one is currently on within the game, so when the load funtion is activated. the "correct" map is loaded, I strongly suspect: "SetCurrent" & "GetCurrent" (world) is the way to go. but how should it be implimented? Having the hardest time to figure out what the save part should look like to include the GetCurrent (world) ................................................................................................ function Script:SaveData() count1 = (count1 + 1) prefab = self.entity:GetKeyValue("prefab") pos = self.entity:GetPosition() rot = self.entity:GetRotation() world =????????  --is it? self.entity:GetCurrent (world) local entityTable ={} entityTable.posx = pos.x entityTable.posy = pos.y entityTable.posz = pos.z entityTable.rotx = rot.x entityTable.roty = rot.y entityTable.rotz = rot.z entityTable.prefab = prefab --is it also? entityTable.world =world return entityTable end ................................................................................................. Let me see if I have gotten the basic idea of what the load script should say: ................................................................................................... function Script:LoadData(data) r1 = data.rotx r2 = data.roty r3 = data.rotz p1 = data.posx p2 = data.posy p3 = data.posz world = data.mapname --is this correct? self.entity:SetCurrent (world) self.entity:SetRotation(r1,r2,r3) self.entity:SetPosition(p1,p2,p3) System:Print('Entity Loaded') end .................... Any pointers much appreciated as I am getting back into headspinning mode (again) but something tells me I might be getting closer to what I want to achive with my save/load scripts.
  12. Kenneth Nyström

    Gamecrash; due to kill or respawn script changes something...

    Wonderful, (thank you) now I just need the time (real life makes it a it cramped atm to put in a hard think/analysing session to look into it...=) But pretty soon so.
  13. Kenneth Nyström

    Gamecrash; due to kill or respawn script changes something...

    Both; Thank you for your inputs. and yeah I thought the same way with working around the problem (acctully a very good thing); taught me alot of useful "stuff" while dealing with the LUA code. I really only have one last issue with the coding I will soon dive into: Hmm I could just ask you guys (without starting yet one more thread): making the code for saving, map/position/rotation/tables is there a good place to begin lookin @? (didnt find the info in the "index" (could be there; this is just me just getting to that stage of/in the programming)
  14. Kenneth Nyström

    Gamecrash; due to kill or respawn script changes something...

    Hmm I tried it -- and several alternatives to SetMass thruout the kill/respawn part of the script. still same result in the game crashing. Only wierd i can see is that the Output says. "process complete" Without having reached the loading bit of the ChangeMap script it usully does... Hmm. I perhaps I need find a "never" version of the respawn bit in the script (using lesson 27 of the LW tutorial) and it has worked great until now when it messes with the changemap script... Hmm. Anyone can point me in a direction for an alternative place/tutorial for a wiew into a diffrent version of a respawn script?
  15. Gamecrash; due to kill/respawn script changes/removes??? a value that is used within the default "TriggerChangeMap.Lua" script My suspiscion atm...have had like 20 other ideas before:what it might be (not working); Is that the respawn script is missing something (but My skill isnt yet up to that level yet so i can see what is missing. If that is the case. (yes im suspecting there is missing an "if" statement but not sure) (I have gotten to the point I cant keep track of all my ideas flying around what it might be) = time to ask: --------------------------------------------------------------------------------------- Description: Before dying the game and its Changemap scripts work just fine: But after dying once: Game just hangs it self when entering the TriggerChangeMap script... ::::::::::::::::::::::::::::::::::::::::::Player.Lua "script"::::::::::::::::::::::::::::::::::::::::::::::::: function Script:Kill() self.corpse = Pivot:Create() self.alive = false local shape = Shape:Load("Models/Characters/Generic/corpse.phy") self.corpse:SetShape(shape) if shape~=nil then shape:Release() end self.flashlight:Hide() if self.weapons[self.currentweaponindex]~=nil then self.weapons[self.currentweaponindex]:Hide() end self.corpse:SetMass(5) self.corpse:SetMatrix(self.camera:GetMatrix()) self.camera:SetParent(self.corpse) self.camera:SetPosition(0,0,0) self.camera:SetRotation(0,0,0) self.corpse:SetCollisionType(Collision.Prop) self.corpse:SetSweptCollisionMode(true) self.entity:SetCollisionType(0) self.corpse:SetFriction(10,10) local maxomega=5 self.corpse:SetOmega(Vec3(math.random(-maxomega,maxomega),math.random(-maxomega,maxomega),math.random(-maxomega,maxomega))) local v = self.entity:GetVelocity() if v:Length()>1 then v=v:Normalize() end self.corpse:SetVelocity(Vec3(math.random(-1,1),math.random(-1,1),math.random(-1,1))) self.entity:SetMass(0) self.entity:SetPhysicsMode(Entity.RigidBodyPhysics) end function Script:Respawn() self.alive = true self.health = self.maxHealth self.entity:SetMass(self.originalMass) self.entity:SetCollisionType(Collision.Character) self.entity:SetPhysicsMode(Entity.CharacterPhysics) self.entity:SetPosition(self.checkpointMgr.script:GetCheckpointPosition()) self.camera:SetParent(nil) self.corpse:Release() end ::::::::::::::::::::::::::default "TriggerChangeMap.Lua" script:::::::::::::::::::::::::::::::::::::::::: function Script:Start() self.enabled=true end function Script:Collision(entity, position, normal, speed) changemapname=self.mapname end function Script:Enable()--in if self.enabled==false then self.enabled=true self:CallOutputs("Enable") end end function Script:Disable()--in if self.enabled then self.enabled=false self:CallOutputs("Disable") end end
×