SetPedStat: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Updated for 1.0)
No edit summary
 
(17 intermediate revisions by 6 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.
}}
}}
{{Deprecated_feature|3|1.0|Note: Weapon stats are currently frozen.}}


__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 19: Line 17:
{{Stats}}
{{Stats}}


*'''value''': the new value of the stat (0..999)
*'''value''': the new value of the stat. It must be between 0 and 1000.


===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.


==Example==
==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 999. This will result in him looking really muscular.
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.
 
<syntaxhighlight lang="lua">function changeBodyStrength(thePlayer, commandName)
<syntaxhighlight lang="lua">function changeBodyStrength ( player, commandName )
     -- Output whether the setPlayerStat was successful in changing the BODY_MUSCLE STAT     
     -- Output whether the setPlayerStat was successful in changing the BODY_MUSCLE STAT     
     if setPedStat ( player, 23, 999 ) then
     if setPedStat(thePlayer, 23, 1000) then
     outputChatBox ( "Your player looks really muscular" )
     outputChatBox("Your player looks really muscular")
     else
     else
         outputChatBox ( "Failed to make your player look muscular." )
         outputChatBox("Failed to make your player look muscular.")
     end
     end
end
end
addCommandHandler ( "beefcake", changeBodyStrength )
addCommandHandler("beefcake", changeBodyStrength)
</syntaxhighlight>
 
This example adds a ''/upgradeskills'' command to give the player who types it the maximum skill with every weapon and maximum health.
<syntaxhighlight lang="lua">
--[[
 
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)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Ped functions}}
{{Ped functions}}
[[ru:setPedStat]]

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