Editing Krafties Scripting API

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
[[Category:Krafties API]]
 
<!-- I added the "code"tags to make the code stand out, and the "nowiki" to prevent the wiki from formatting any of the code when it wasn't supposed to -->
 
{{Technical}}
 
 
= Creature/Pet API =
 
= Creature/Pet API =
  
:The Krafties Scripting API is a feature which allows you to get data from your Kraftie Creature for your own scripted third party addons.   
+
The Krafties Scripting API is a feature which allows you to get data from your Kraftie Creature for your own scripted third party addons.   
:Currently this is read only although gives access to a wide range of possibilities. 
 
:This API relies on listening to 1 minute pings on channel '''<code>-748382747</code>''' from inworld Krafties Creatures.
 
:Creatures will communicate on this channel once <code>on_rez</code> and then every 60 seconds.
 
  
Message format is a string delimited by <code>|</code> containing every prim UUID. (16 Prims)
+
Currently this is read only although gives access to a wide range of possibilities.   
:<code><nowiki>prim1UUID|prim2UUID|prim3UUID|prim4UUID|prim5UUID|prim6UUID|prim7UUID|prim8UUID|prim9UUID|prim10UUID|prim11UUID|prim12UUID|prim13UUID|prim14UUID|prim15UUID|prim16UUID</nowiki></code>
 
 
 
 
 
Parsing this string to a list you can get the prims data from the description using <code><nowiki>llGetObjectDetails (PRIM_DESC or PRIM_NAME)</nowiki></code>
 
 
 
 
 
===PRIM DESCRIPTION FORMATS===
 
 
 
*'''Prim 1 Description:''' <code><nowiki>"Bonded "+(string)species+ " - "+(string)elementType</nowiki></code>
 
 
 
*'''Prim 2 Description:'''  <code><nowiki>(string)creatureID()+";"+(string)elementType+";"+(integer)unixTimeCaught+";"+(string)elementAffinity</nowiki></code>
 
 
 
*'''Prim 3 Description:'''  <code><nowiki>(string)battleStyle</nowiki></code>
 
 
 
*'''Prim 4 Description:'''  <code><nowiki>(integer)hitpoints</nowiki></code>
 
 
 
*'''Prim 5 Description:'''  <code><nowiki>(string)volumeString+";"+(float)volumeFloat</nowiki></code>
 
 
 
*'''Prim 6 Description:'''  <code><nowiki>(integer)attackBonusLevels+","+(integer)strengthBonusLevels+","+(integer)defenseBonusLevels+","+(integer)hitpointsBonusLevels+","+(integer)craftingBonusLevels+";"+(integer)intellectBonusLevels+";"+(integer)focusBonusLevels+";"+(integer)fortitudeBonusLevels+";"+(float)attackBonusMult+","+(float)strengthBonusMult+","+(float)defenseBonusMult+","+(float)hitpointsBonusMult+","+(float)craftingBonusMult+","+(float)intellectBonusMult+","+(float)focusBonusMult+","+(float)fortitudeBonusMult</nowiki></code>
 
 
 
*'''Prim 7 Description:''' <code><nowiki>(float)attackNaturalMult+","+(float)attackNaturalMult+","+(float)strengthNaturalMult+","+(float)defenseNaturalMult+","+(float)hitpointsNaturalMult+","+(float)intellectNaturalMult+","+(float)focusNaturalMult+","+(float)fortitudeNaturalMult</nowiki></code>
 
 
 
*'''Prim 8 Description:''' <code><nowiki>(integer)recentAttackExp+","+(integer)recentAttackExp+","+(integer)recentStrengthExp+","+(integer)recentDefenseExp+","+(integer)recentHitpointsExp+","+(integer)recentCraftingExp+","+(integer)recentIntellectExp+","+(integer)recentFocusExp+","+(integer)recentFortitudeExp+","+(key)expEarnerPlayerKey</nowiki></code>
 
 
 
*'''Prim 9 Description:''' <code><nowiki>(integer)isInPvp+";"+(integer)isInCrafting+";"+(integer)isHovertextOn</nowiki></code>
 
 
 
*'''Prim 10 Description:''' <code><nowiki>(integer)playerExpEarnedLast24Hours + "," + (integer)playerExpEarnedLastWeek + "," + (integer)playerExpEarnedLastMonth + "," + (integer)playerExpEarnedAllTime + "," + (integer)battlesWonLast24Hours+ "," + (integer)battlesWonLast24Week + "," + (integer)battlesWonLast24Month + "," + (integer)battlesWonAllTime</nowiki></code>
 
 
 
*'''Prim 11 Description:''' <code><nowiki>(integer)spellsCanBeCastOnThisCreatureBool</nowiki></code>
 
  
*'''Prim 12 Description:''' <code><nowiki>(string)llList2CSV(weaknesses)</nowiki></code>
+
This API relies on listening to 1 minute pings on channel -748382747 from inworld Krafties Creatures.
  
*'''Prim 13 Description:''' <code><nowiki>(integer)allowSpellAssistance</nowiki></code>
+
Creatures will communicate on this channel once on_rez and then every 60 seconds during battle.
  
*'''Prim 14 Description :''' <code><nowiki>(string)currentSpell</nowiki></code>
 
  
*'''Prim 15 Description:''' UNUSED
+
Message format is a string delimited by "|" containing every prim UUID. (16 Prims)
  
*'''Prim 16 Description:''' <code><nowiki>(integer)attackLevel+","+(integer)strengthLevel+","+(integer)defenseLevel+","+(integer)hitpointsLevel+","+(integer)craftingLevel+","+(integer)intellectLevel+","+(integer)focusLevel+","+(integer)fortitudeLevel+";"+(integer)attackExp+","+(integer)strengthExp+","+(integer)defenseExp+","+(integer)hitpointsExp+","+(integer)craftingExp+","+(integer)intellectExp+","+(integer)focusExp+","+(integer)fortitudeExp</nowiki></code>
+
prim1UUID|prim2UUID|prim3UUID|prim4UUID|prim5UUID|prim6UUID|prim7UUID|prim8UUID|prim9UUID|prim10UUID|prim11UUID|prim12UUID|prim13UUID|prim14UUID|prim15UUID|prim16UUID
  
*'''Prim 3 Name:''' <code><nowiki>(string)attackXpLeft+","+(string)strengthXpLeft+","+(string)defenseXpLeft+","+(string)hpXpLeft+","+(string)craftXpLeft+","+(string)intellectXpLeft+","+(string)focusXpLeft+","+(string)fortitudeXpLeft</nowiki></code>
 
  
*'''Prim 5 Name:''' <code><nowiki>(integer)allowBattleAssistance</nowiki></code>
+
Parsing this string to a list you can get the prims data from the description using llGetObjectDetails
  
  
=== Creature Spell ===
 
  
Worn Krafties pets will communicate on channel '''<code>-748382747</code>''' each time a spell is cast from the Cast Spell menu.
+
'''PRIM DESCRIPTION FORMATS'''
  
 +
'''Prim 1 Description:''' "Bonded "+(string)species+ " - "+(string)elementType
  
=== Overall Level ===
+
'''Prim 2 Description:'''  (string)creatureID()+";"+(string)elementType+";"+(integer)unixTimeCaught+";"+(string)elementAffinity
  
<code><nowiki>llRound( (combatLevel + craftingLevel + mentalLevel)/(float)3.0 )</nowiki></code>
+
'''Prim 3 Description:''' (string)battleStyle
 
 
= Wild API =
 
 
 
Sensor nearby wilds, using sensor to grab the wild UUID.  Using <code><nowiki>llGetObjectDetails (PRIM_DESC)</nowiki></code>, parse the description accordingly. 
 
 
 
Experience fields are void and temporary data which should not be used.
 
 
 
Format is the same on Regular or Giant wilds.
 
 
 
 
 
'''Prim 1 Description:''' <code><nowiki>(integer)currentHealth+";"+(integer)attackLevel+","+(integer)strengthLevel+","+(integer)defenseLevel+","+(integer)hitpointsLevel+","+(integer)craftingLevel+","+(integer)intellectLevel+","+(integer)focusLevel+","+(integer)fortitudeLevel+";"+(integer)attackExpVoid+","+(integer)strengthExpVoid+","+(integer)defenseExpVoid+","+(integer)hitpointsExpVoid+","+(integer)craftingExpVoid+","+(integer)intellectExpVoid+","+(integer)focusExpVoid+","+(integer)fortitudeExpVoid</nowiki></code>
 
 
 
= Battles API =
 
 
 
The Krafties Battle Scripting API is a feature which allows you to get data from your battles for your own scripted third party addons such as scoreboards, contest/tournament boards or other assisting objects.
 
 
 
Currently this is read only although gives access to a wide range of possibilities. 
 
  
This API relies on listening on channel '''<code>-748382748</code>''' from inworld Battle temples.
+
'''Prim 4 Description:''' (integer)hitpoints
  
 +
'''Prim 5 Description:'''  (string)volumeString+";"+(float)volumeFloat
  
Battle temples will communicate on different events:
+
'''Prim 6 Description:'''  (integer)attackBonusLevels+","+(integer)attackBonusLevels+","+(integer)strengthBonusLevels+","+(integer)defenseBonusLevels+","+(integer)hitpointsBonusLevels+","+(integer)craftingBonusLevels+";"+(integer)intellectBonusLevels+";"+(integer)focusBonusLevels+";"+(integer)fortitudeBonusLevels+";"+(float)attackBonusMult+","+(float)strengthBonusMult+","+(float)defenseBonusMult+","+(float)hitpointsBonusMult+","+(float)craftingBonusMult+","+(float)intellectBonusMult+","+(float)focusBonusMult+","+(float)fortitudeBonusMult
  
*Battle Start
+
'''Prim 7 Description:''' (float)attackNaturalMult+","+(float)attackNaturalMult+","+(float)strengthNaturalMult+","+(float)defenseNaturalMult+","+(float)hitpointsNaturalMult+","+(float)intellectNaturalMult+","+(float)focusNaturalMult+","+(float)fortitudeNaturalMult
  
*Battle End
+
'''Prim 8 Description:''' (integer)recentAttackExp+","+(integer)recentAttackExp+","+(integer)recentStrengthExp+","+(integer)recentDefenseExp+","+(integer)recentHitpointsExp+","+(integer)recentCraftingExp+","+(integer)recentIntellectExp+","+(integer)recentFocusExp+","+(integer)recentFortitudeExp+","+(key)expEarnerPlayerKey
  
*Player Eliminated
+
'''Prim 9 Description:''' (integer)isInPvp+";"+(integer)isInCrafting+";"+(integer)isHovertextOn
  
These messages will be send on the corresponding event.  There are 2 lists delimited by <code>","</code> & <code>"|"</code> into a string.
+
'''Prim 10 Description:''' UNUSED
  
By matching <code>matchID</code> you will be able to link temples for successful battles.
+
'''Prim 11 Description:''' (integer)getAffinity
  
 +
'''Prim 12 Description:''' UNUSED
  
*<code><nowiki>list playersData = [playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime];</nowiki></code> // 2 players strided by 7
+
'''Prim 13 Description:''' (integer)silverMembershipExpiryUnixTime+";"+(integer)goldMembershipExpiryUnixTime
*<code><nowiki>list eliminatedPlayersData = [playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime];</nowiki></code> // 3 players strided by 7
 
  
*<code><nowiki>"PLAYER_ELIMINATED|"+(string)matchID+"|"+(string)playerKey+"|"+llDumpList2String(playersData, ",")+"|"+llDumpList2String(eliminatedPlayersData, ","));</nowiki></code>
+
'''Prim 14 Description:''' UNUSED
  
*<code><nowiki>"BATTLE_ENDED|"+(string)matchID+"|"+(string)win+"|"+llDumpList2String(playersData, ",")+"|"+llDumpList2String(eliminatedPlayersData, ","));</nowiki></code>
+
'''Prim 15 Description:''' (integer)isPetDisabled
  
*<code><nowiki>"BATTLE_STARTED|"+(string)matchID+"|"+battleMode+"|"+llDumpList2String(playersData, ",") );</nowiki></code>
+
'''Prim 16 Description:''' (integer)attackLevel+","+(integer)strengthLevel+","+(integer)defenseLevel+","+(integer)hitpointsLevel+","+(integer)craftingLevel+","+(integer)intellectLevel+","+(integer)focusLevel+","+(integer)fortitudeLevel+";"+(integer)attackExp+","+(integer)strengthExp+","+(integer)defenseExp+","+(integer)hitpointsExp+","+(integer)craftingExp+","+(integer)intellectExp+","+(integer)focusExp+","+(integer)fortitudeExp

Please note that all contributions to Krafties may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: