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 = | = 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 gives access to a wide range of possibilities. | |
− | + | ||
+ | This API relies on listening to 1 minute pings on channel '''-748382747''' from inworld Krafties Creatures. | ||
+ | |||
+ | Creatures will communicate on this channel once on_rez and then every 60 seconds. | ||
+ | |||
+ | |||
+ | Message format is a string delimited by "|" containing every prim UUID. (16 Prims) | ||
+ | |||
+ | prim1UUID|prim2UUID|prim3UUID|prim4UUID|prim5UUID|prim6UUID|prim7UUID|prim8UUID|prim9UUID|prim10UUID|prim11UUID|prim12UUID|prim13UUID|prim14UUID|prim15UUID|prim16UUID | ||
+ | |||
+ | |||
+ | Parsing this string to a list you can get the prims data from the description using llGetObjectDetails (PRIM_DESC or PRIM_NAME) | ||
− | |||
− | |||
− | + | '''PRIM DESCRIPTION FORMATS''' | |
+ | '''Prim 1 Description:''' "Bonded "+(string)species+ " - "+(string)elementType | ||
− | + | '''Prim 2 Description:''' (string)creatureID()+";"+(string)elementType+";"+(integer)unixTimeCaught+";"+(string)elementAffinity | |
− | + | '''Prim 3 Description:''' (string)battleStyle | |
− | + | '''Prim 4 Description:''' (integer)hitpoints | |
− | + | '''Prim 5 Description:''' (string)volumeString+";"+(float)volumeFloat | |
− | + | '''Prim 6 Description:''' (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 | |
− | + | '''Prim 7 Description:''' (float)attackNaturalMult+","+(float)attackNaturalMult+","+(float)strengthNaturalMult+","+(float)defenseNaturalMult+","+(float)hitpointsNaturalMult+","+(float)intellectNaturalMult+","+(float)focusNaturalMult+","+(float)fortitudeNaturalMult | |
− | + | '''Prim 8 Description:''' (integer)recentAttackExp+","+(integer)recentAttackExp+","+(integer)recentStrengthExp+","+(integer)recentDefenseExp+","+(integer)recentHitpointsExp+","+(integer)recentCraftingExp+","+(integer)recentIntellectExp+","+(integer)recentFocusExp+","+(integer)recentFortitudeExp+","+(key)expEarnerPlayerKey | |
− | + | '''Prim 9 Description:''' (integer)isInPvp+";"+(integer)isInCrafting+";"+(integer)isHovertextOn | |
− | + | '''Prim 10 Description:''' (integer)playerExpEarnedLast24Hours + "," + (integer)playerExpEarnedLastWeek + "," + (integer)playerExpEarnedLastMonth + "," + (integer)playerExpEarnedAllTime + "," + (integer)battlesWonLast24Hours+ "," + (integer)battlesWonLast24Week + "," + (integer)battlesWonLast24Month + "," + (integer)battlesWonAllTime | |
− | + | '''Prim 11 Description:''' (integer)getAffinity | |
− | + | '''Prim 12 Description:''' (string)llList2CSV(weaknesses) | |
− | + | '''Prim 13 Description:''' (integer)silverMembershipExpiryUnixTime+";"+(integer)goldMembershipExpiryUnixTime | |
− | + | '''Prim 14 Description :''' (string)currentSpell | |
− | + | '''Prim 15 Description:''' UNUSED | |
− | + | '''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 | |
− | |||
− | |||
− | + | '''Prim 3 Name:''' (string)attackXpLeft+","+(string)strengthXpLeft+","+(string)defenseXpLeft+","+(string)hpXpLeft+","+(string)craftXpLeft+","+(string)intellectXpLeft+","+(string)focusXpLeft+","+(string)fortitudeXpLeft | |
− | + | '''Prim 5 Name:''' (integer)allowBattleAssistance | |
− | + | == Creature Spell == | |
− | Worn Krafties pets will communicate on channel ''' | + | Worn Krafties pets will communicate on channel '''-748382747''' each time a spell is cast from the Cast Spell menu. |
− | + | == Overall Level == | |
− | + | llRound( (combatLevel + craftingLevel + mentalLevel)/(float)3.0 ) | |
= Wild API = | = Wild API = | ||
− | Sensor nearby wilds, using sensor to grab the wild UUID. Using | + | Sensor nearby wilds, using sensor to grab the wild UUID. Using llGetObjectDetails (PRIM_DESC), parse the description accordingly. |
Experience fields are void and temporary data which should not be used. | Experience fields are void and temporary data which should not be used. | ||
Line 73: | Line 78: | ||
− | '''Prim 1 Description:''' | + | '''Prim 1 Description:''' (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 |
+ | |||
= Battles API = | = Battles API = | ||
Line 81: | Line 87: | ||
Currently this is read only although gives access to a wide range of possibilities. | Currently this is read only although gives access to a wide range of possibilities. | ||
− | This API relies on listening on channel ''' | + | This API relies on listening on channel '''-74838278''' from inworld Battle temples. |
Battle temples will communicate on different events: | 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 "," & "|" into a string. | |
− | + | By matching matchID you will be able to link temples for successful battles. | |
− | |||
+ | list playersData = [playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime]; // 2 players strided by 7 | ||
− | + | list eliminatedPlayersData = [playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime, playerKey, petKey, petID, petLevel, manaLeft, energyLeft, lastPingTime]; // 3 players strided by 7 | |
− | |||
− | + | "PLAYER_ELIMINATED|"+(string)matchID+"|"+(string)playerKey+"|"+llDumpList2String(playersData, ",")+"|"+llDumpList2String(eliminatedPlayersData, ",")); | |
− | + | "BATTLE_ENDED|"+(string)matchID+"|"+(string)win+"|"+llDumpList2String(playersData, ",")+"|"+llDumpList2String(eliminatedPlayersData, ",")); | |
− | + | "BATTLE_STARTED|"+(string)matchID+"|"+battleMode+"|"+llDumpList2String(playersData, ",") ); |