SetPedStat: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Server function}}
{{Shared function}}
{{Needs_Checking|
{{Needs_Checking|
*Things like infinite run, fire proof CJ, 150 health, 150 armor have special activation flags. They need a way to be triggered on/off.
*Things like infinite run, fire proof CJ, 150 armor have special activation flags. They need a way to be triggered on/off.
}}
}}


__NOTOC__
__NOTOC__
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.
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. When this function is used client-side, it can only be used on client-side created peds.


==Syntax==
==Syntax==
Line 20: Line 20:


===Returns===
===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.
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==
==Examples==
Line 54: Line 54:


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


addCommandHandler("upgradeskills", function(thePlayer)
addCommandHandler("upgradeskills", function(thePlayer)
Line 65: Line 63:
       -- Set player health to the maximum, as changing the stat keeps the current one
       -- Set player health to the maximum, as changing the stat keeps the current one
       if (isPedDead (thePlayer) ~= true) then
       if (isPedDead (thePlayer) ~= true) then
       setElementHealth(thePlayer, getPedMaxHealth(thePlayer))
       setElementHealth(thePlayer, 100 + (getPedStat(ped, 24) - 569) / 4.31 return math.max(1, maxhealth))
       -- Tell the player what we did
       -- Tell the player what we did
       outputChatBox("And your health upgraded to maximum!", thePlayer, 0, 255, 0, false)
       outputChatBox("And your health upgraded to maximum!", thePlayer, 0, 255, 0, false)

Latest revision as of 17:51, 20 September 2021

Dialog-information.png This article needs checking.

Reason(s):
  • Things like infinite run, fire proof CJ, 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. When this function is used client-side, it can only be used on client-side created peds.

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

--]]

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) ~= true) then
      setElementHealth(thePlayer, 100 + (getPedStat(ped, 24) - 569) / 4.31 return math.max(1, maxhealth))
      -- 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