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:
 +
 +
= 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. 
 +
:Currently this is read only, although it still 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)
 +
:<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>
 +
 +
: <span style="color: red;"> * If you'd like updates more frequently, you can store the prim keys and poll them with your own timer!</span>
 +
 +
 +
===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)getAffinity</nowiki></code>
 +
 +
*'''Prim 12 Description:''' <code><nowiki>(string)llList2CSV(weaknesses)</nowiki></code>
 +
 +
*'''Prim 13 Description:''' <code><nowiki>(integer)allowSpellAssistance</nowiki></code>
 +
 +
*'''Prim 14 Description :''' <code><nowiki>(string)currentSpell</nowiki></code>
 +
 +
*'''Prim 15 Description:''' UNUSED
 +
 +
*'''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>
 +
 +
*'''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>
 +
 +
 +
=== Creature Spell ===
 +
 +
Worn Krafties pets will communicate on channel '''<code>-748382747</code>''' each time a spell is cast from the Cast Spell menu.
 +
 +
 +
=== Overall Level ===
 +
 +
<code><nowiki>llRound( (combatLevel + craftingLevel + mentalLevel)/(float)3.0 )</nowiki></code>
 +
 +
= 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.
 +
 +
 +
Battle temples will communicate on different events:
 +
 +
*Battle Start
 +
 +
*Battle End
 +
 +
*Player Eliminated
 +
 +
These messages will be send on the corresponding event.  There are 2 lists delimited by <code>","</code> & <code>"|"</code> into a string.
 +
 +
By matching <code>matchID</code> you will be able to link temples for successful battles.
 +
 +
 +
*<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
 +
*<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>
 +
 +
*<code><nowiki>"BATTLE_ENDED|"+(string)matchID+"|"+(string)win+"|"+llDumpList2String(playersData, ",")+"|"+llDumpList2String(eliminatedPlayersData, ","));</nowiki></code>
 +
 +
*<code><nowiki>"BATTLE_STARTED|"+(string)matchID+"|"+battleMode+"|"+llDumpList2String(playersData, ",") );</nowiki></code>
 +
 +
 +
 +
 +
 +
 
[[Category:Krafties API]]  
 
[[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 -->
 
<!-- 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 -->
Line 38: Line 150:
 
*'''Prim 10 Description:'''  <code><nowiki>(integer)playerExpEarnedLast24Hours + "," + (integer)playerExpEarnedLastWeek + "," + (integer)playerExpEarnedLastMonth + "," + (integer)playerExpEarnedAllTime + "," + (integer)battlesWonLast24Hours+ "," + (integer)battlesWonLast24Week + "," + (integer)battlesWonLast24Month + "," + (integer)battlesWonAllTime</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 11 Description:''' <code><nowiki>(integer)getAffinity</nowiki></code>
  
 
*'''Prim 12 Description:''' <code><nowiki>(string)llList2CSV(weaknesses)</nowiki></code>
 
*'''Prim 12 Description:''' <code><nowiki>(string)llList2CSV(weaknesses)</nowiki></code>

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: