SetPedStat: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 55: Line 55:
--]]
--]]


function getPedMaxHealth(ped)
local function getPedMaxHealth(ped) local maxhealth = 100 + (getPedStat(ped, 24) - 569) / 4.31 return math.max(1, maxhealth) end
  local maxhealth = 100 + (getPedStat(ped, 24) - 569) / 4.31
  return math.max(1, maxhealth)
end


addCommandHandler("upgradeskills", function(thePlayer)
addCommandHandler("upgradeskills", function(thePlayer)

Revision as of 19:59, 4 August 2016

Dialog-information.png This article needs checking.

Reason(s):
  • Things like infinite run, fire proof CJ, 150 health, 150 armor have special activation flags. They need a way to be triggered on/off.


This function allows you to set the value of a specific statistic for a ped. Visual stats (FAT and BODY_MUSCLE) can only be used on the CJ skin, they have no effect on other skins.

Syntax

bool setPedStat ( ped thePed, int stat, float value )

Required Arguments

  • thePed: the ped whose statistic you want to modify.
  • stat: the stat ID.
Floating Point
  • 0: PROGRESS_MADE
  • 1: TOTAL_PROGRESS
  • 2: LONGEST_BASKETBALL

Distances:

  • 3: DIST_FOOT
  • 4: DIST_CAR
  • 5: DIST_BIKE
  • 6: DIST_BOAT
  • 7: DIST_GOLF_CART
  • 8: DIST_HELICOPTER
  • 9: DIST_PLANE
  • 10: LONGEST_WHEELIE_DIST
  • 11: LONGEST_STOPPIE_DIST
  • 12: LONGEST_2WHEEL_DIST

Cash:

  • 13: WEAPON_BUDGET
  • 14: FASHION_BUDGET
  • 15: PROPERTY_BUDGET
  • 16: SPRAYING_BUDGET

Times:

  • 17: LONGEST_WHEELIE_TIME
  • 18: LONGEST_STOPPIE_TIME
  • 19: LONGEST_2WHEEL_TIME
  • 20: FOOD_BUDGET

Body:

  • 21: FAT
  • 22: STAMINA
  • 23: BODY_MUSCLE
  • 24: MAX_HEALTH
  • 25: SEX_APPEAL


  • 26: DIST_SWIMMING
  • 27: DIST_CYCLE
  • 28: DIST_TREADMILL
  • 29: DIST_EXCERSISE_BIKE
  • 30: TATTOO_BUDGET
  • 31: HAIRDRESSING_BUDGET
  • 33: PROSTITUTE_BUDGET

Gambling:

  • 35: MONEY_SPENT_GAMBLING
  • 36: MONEY_MADE_PIMPING
  • 37: MONEY_WON_GAMBLING
  • 38: BIGGEST_GAMBLING_WIN
  • 39: BIGGEST_GAMBLING_LOSS
  • 40: LARGEST_BURGLARY_SWAG
  • 41: MONEY_MADE_BURGLARY
  • 44: LONGEST_TREADMILL_TIME
  • 45: LONGEST_EXCERSISE_BIKE_TIME
  • 46: HEAVIEST_WEIGHT_BENCH_PRESS
  • 47: HEAVIEST_WEIGHT_DUMBELLS
  • 48: BEST_TIME_HOTRING
  • 49: BEST_TIME_BMX
  • 51: LONGEST_CHASE_TIME
  • 52: LAST_CHASE_TIME
  • 53: WAGE_BILL
  • 54: STRIP_CLUB_BUDGET
  • 55: CAR_MOD_BUDGET
  • 56: TIME_SPENT_SHOPPING
  • 62: TOTAL_SHOPPING_BUDGET
  • 63: TIME_SPENT_UNDERWATER

Respect:

  • 64: RESPECT_TOTAL
  • 65: RESPECT_GIRLFRIEND
  • 66: RESPECT_CLOTHES
  • 67: RESPECT_FITNESS
  • 68: RESPECT

Weapon skills:
Note: see Weapon skill levels for the values that advance weapon skills.

  • 69: WEAPONTYPE_PISTOL_SKILL
  • 70: WEAPONTYPE_PISTOL_SILENCED_SKILL
  • 71: WEAPONTYPE_DESERT_EAGLE_SKILL
  • 72: WEAPONTYPE_SHOTGUN_SKILL
  • 73: WEAPONTYPE_SAWNOFF_SHOTGUN_SKILL
  • 74: WEAPONTYPE_SPAS12_SHOTGUN_SKILL
  • 75: WEAPONTYPE_MICRO_UZI_SKILL
  • 76: WEAPONTYPE_MP5_SKILL
  • 77: WEAPONTYPE_AK47_SKILL
  • 78: WEAPONTYPE_M4_SKILL
  • 79: WEAPONTYPE_SNIPERRIFLE_SKILL
  • 80: SEX_APPEAL_CLOTHES
  • 81: GAMBLING
Integer
  • 120: PEOPLE_KILLED_BY_OTHERS
  • 121: PEOPLE_KILLED_BY_PLAYER
  • 122: CARS_DESTROYED
  • 123: BOATS_DESTROYED
  • 124: HELICOPTORS_DESTROYED
  • 125: PROPERTY_DESTROYED
  • 126: ROUNDS_FIRED
  • 127: EXPLOSIVES_USED
  • 128: BULLETS_HIT
  • 129: TYRES_POPPED
  • 130: HEADS_POPPED
  • 131: WANTED_STARS_ATTAINED
  • 132: WANTED_STARS_EVADED
  • 133: TIMES_ARRESTED
  • 134: DAYS_PASSED
  • 135: TIMES_DIED
  • 136: TIMES_SAVED
  • 137: TIMES_CHEATED
  • 138: SPRAYINGS
  • 139: MAX_JUMP_DISTANCE
  • 140: MAX_JUMP_HEIGHT
  • 141: MAX_JUMP_FLIPS
  • 142: MAX_JUMP_SPINS
  • 143: BEST_STUNT
  • 144: UNIQUE_JUMPS_FOUND
  • 145: UNIQUE_JUMPS_DONE
  • 146: MISSIONS_ATTEMPTED
  • 147: MISSIONS_PASSED
  • 148: TOTAL_MISSIONS
  • 149: TAXI_MONEY_MADE
  • 150: PASSENGERS_DELIVERED_IN_TAXI
  • 151: LIVES_SAVED
  • 152: CRIMINALS_CAUGHT
  • 153: FIRES_EXTINGUISHED
  • 154: PIZZAS_DELIVERED
  • 155: ASSASSINATIONS
  • 156: LATEST_DANCE_SCORE
  • 157: VIGILANTE_LEVEL
  • 158: AMBULANCE_LEVEL
  • 159: FIREFIGHTER_LEVEL
  • 160: DRIVING_SKILL
  • 161: TRUCK_MISSIONS_PASSED
  • 162: TRUCK_MONEY_MADE
  • 163: RECRUITED_GANG_MEMBERS_KILLED
  • 164: ARMOUR
  • 165: ENERGY
  • 166: PHOTOS_TAKEN
  • 167: KILL_FRENZIES_ATTEMPTED
  • 168: KILL_FRENZIES_PASSED
  • 169: FLIGHT_TIME
  • 170: TIMES_DROWNED
  • 171: NUM_GIRLS_PIMPED
  • 172: BEST_POSITION_HOTRING
  • 173: FLIGHT_TIME_JETPACK
  • 174: SHOOTING_RANGE_SCORE
  • 175: VALET_CARS_PARKED
  • 176: KILLS_SINCE_LAST_CHECKPOINT
  • 177: TOTAL_LEGITIMATE_KILLS
  • 178: BLOODRING_KILLS
  • 179: BLOODRING_TIME
  • 180: NO_MORE_HURRICANES
  • 181: CITIES_PASSED
  • 182: POLICE_BRIBES
  • 183: CARS_STOLEN
  • 184: CURRENT_GIRLFRIENDS
  • 185: BAD_DATES
  • 186: GIRLS_DATED
  • 187: TIMES_SCORED_WITH_GIRL
  • 188: DATES
  • 189: GIRLS_DUMPED
  • 190: TIMES_VISITED_PROSTITUTE
  • 191: HOUSES_BURGLED
  • 192: SAFES_CRACKED
  • 194: STOLEN_ITEMS_SOLD
  • 195: EIGHT_BALLS_IN_POOL
  • 196: WINS_IN_POOL
  • 197: LOSSES_IN_POOL
  • 198: VISITS_TO_GYM
  • 200: MEALS_EATEN
  • 225: UNDERWATER_STAMINA
  • 229: BIKE_SKILL
  • 230: CYCLE_SKILL
  • value: the new value of the stat. It must be between 0 and 1000.

Returns

Returns true if the statistic was changed succesfully. Returns false if an invalid player is specified, if the stat-id/value is out of acceptable range or if the FAT or BODY_MUSCLE stats are used on non-CJ players.

Examples

This example allows a player to type the command 'beefcake' to change his player's BODY_MUSCLE stat (#23) to the maximum value of 1000. This will result in him looking really muscular.

function changeBodyStrength(thePlayer, commandName)
    -- Output whether the setPlayerStat was successful in changing the BODY_MUSCLE STAT     
    if setPedStat(thePlayer, 23, 1000) then
    	outputChatBox("Your player looks really muscular")
    else
        outputChatBox("Failed to make your player look muscular.")
    end
end
addCommandHandler("beefcake", changeBodyStrength)

This example adds a /upgradeskills command to give the player who types it the maximum skill with every weapon and maximum health.

--[[

Skills to upgrade:

24 = Max Player Health
69 = Weapon Type Pistol Skill
70 = Weapon Type Pistol Silenced Skill
71 = Weapon Type Desert Eagle Skill
72 = Weapon Type Shotgun Skill
73 = Weapon Type Sawn off Shotgun Skill
74 = Weapon Type Spas 12 Shotgun Skill
76 = Weapon Type MP5 Skill
77 = Weapon Type AK47 Skill
78 = Weapon Type M4 Skill
79 = Weapon Type Sniper Rifle Skill

--]]

local function getPedMaxHealth(ped) local maxhealth = 100 + (getPedStat(ped, 24) - 569) / 4.31 return math.max(1, maxhealth) end

addCommandHandler("upgradeskills", function(thePlayer)
   -- Set every stat to 1000 (the maximum value)
   for _, stat in ipairs({ 24, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79 }) do
      setPedStat(thePlayer, stat, 1000)
      outputChatBox("Your game stats upgraded to maximum!", thePlayer, 0, 255, 0, false)
   end
      -- Set player health to the maximum, as changing the stat keeps the current one
      if (isPedDead (thePlayer) == false) then
      setElementHealth(thePlayer, getPedMaxHealth(thePlayer))
      -- Tell the player what we did
      outputChatBox("And your health upgraded to maximum!", thePlayer, 0, 255, 0, false)
      else
      outputChatBox("Your health can't be restored because you are already dead!", thePlayer, 0, 255, 0, false)
   end
end)

See Also