Papyrus Sandbox

Post » Wed May 22, 2013 7:58 am

I am working on several projects in my free time. One is where I'm able to test Papyrus with out having to load up Skyrim at all from another scripting language http://lua.org/. I will eventually release it, i wanted to know everyone's thoughts on this

As of right now its only currently developed for Actor's but will be expanded

User avatar
sarah taylor
 
Posts: 3490
Joined: Thu Nov 16, 2006 3:36 pm

Post » Wed May 22, 2013 7:05 am

Sound interesting. Could you clarify a bit further though? How does your tool work?

User avatar
KU Fint
 
Posts: 3402
Joined: Mon Dec 04, 2006 4:00 pm

Post » Tue May 21, 2013 10:08 pm

  1. Parses a Papyrus Script File
  2. Converts the Papyrus into LUA Code
  3. Creates Actor with randomized attributes or manually Stamina, Health, FireResist etc etc..
  4. Runs in a Virtual Machine

Currently i am using it for Mathematical uses

Papyrus Function

Int Function DetermineClassStyle(Actor akActor)    Int nCombat = ((akActor.GetActorValue("Marksman")+akActor.GetActorValue("Block")+akActor.GetActorValue("HeavyArmor")+akActor.GetActorValue("Onehanded")+akActor.GetActorValue("Smithing")+akActor.GetActorValue("Twohanded")) / 6) As Int    Int nMagic = ((akActor.GetActorValue("Alteration")+akActor.GetActorValue("Conjuration")+akActor.GetActorValue("Destruction")+akActor.GetActorValue("Enchanting")+akActor.GetActorValue("Illusion")+akActor.GetActorValue("Restoration")) / 6) As Int    Int nThief = ((akActor.GetActorValue("Alchemy")+akActor.GetActorValue("LightArmor")+akActor.GetActorValue("Lockpicking")+akActor.GetActorValue("Pickpocket")+akActor.GetActorValue("Sneak")+akActor.GetActorValue("Speechcraft")) / 6) As Int        If (nCombat > nMagic) && (nCombat > nThief)        Return 1 ;Combat    ElseIf (nMagic > nCombat) && (nMagic > nThief)        Return 2 ;Magic    ElseIf (nThief > nCombat) && (nThief > nMagic)        Return 3 ;Thief    EndIf        Return 0 ;All skills are equalEndFunction

LUA Function

function DetermineClassStyle(actor)        local nCombat = ((actor:GetActorValue("Marksman")+actor:GetActorValue("Block")+actor:GetActorValue("HeavyArmor")+actor:GetActorValue("Onehanded")+actor:GetActorValue("Smithing")+actor:GetActorValue("Twohanded")) / 6)        local nMagic = ((actor:GetActorValue("Alteration")+actor:GetActorValue("Conjuration")+actor:GetActorValue("Destruction")+actor:GetActorValue("Enchanting")+actor:GetActorValue("Illusion")+actor:GetActorValue("Restoration")) / 6)        local nThief = ((actor:GetActorValue("Alchemy")+actor:GetActorValue("LightArmor")+actor:GetActorValue("Lockpicking")+actor:GetActorValue("Pickpocket")+actor:GetActorValue("Sneak")+actor:GetActorValue("Speechcraft")) / 6)        if (nCombat > nMagic) and (nCombat > nThief) then                return 1 --Combat        elseif (nMagic > nCombat) and (nMagic > nThief) then                return 2 --Magic        elseif (nThief > nCombat) and (nThief > nMagic) then                return 3 --Thief        end        return 0 --All skills are equalend
User avatar
Nicole M
 
Posts: 3501
Joined: Thu Jun 15, 2006 6:31 am

Post » Wed May 22, 2013 12:09 pm

Should help some Gmod users to get into Skyrim modding!

...on second though PLEASE DON'T RELEASE THIS OH GOD

User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am

Post » Wed May 22, 2013 7:19 am


Can you elaborate?
User avatar
Eoh
 
Posts: 3378
Joined: Sun Mar 18, 2007 6:03 pm

Post » Wed May 22, 2013 5:01 am

LUA is the programming language of Gmod, which is basically Sheogorad's realm within the source engine. http://www.youtube.com/watch?v=OHxyZaZlaOs

User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm


Return to V - Skyrim

cron