====== Players Class ======
Class For Players Interface
[[developer_center:developer_editor:script|Return To Previous Page]]
------
==== How to Write Event =====
ScriptSupportEvent:registerEvent([[EventName]],callbackFunctionName)
==== Example ====
function BuffAdded(event)
local playerid , buffid , bufflvl = event.eventobjid , event.buffid , event.bufflvl
end
ScriptSupportEvent:registerEvent([[Player.AddBuff]],BuffAdded)
===== Eventlist =====
^ EventName ^ Parameters ^ Description ^
| Game.AnyPlayer.Defeat | eventobjid: number, shortix,x,y,z | Any Players Defeat |
| Game.AnyPlayer.EnterGame | eventobjid: number, shortix,x,y,z | Any Players Enter Game |
| Game.AnyPlayer.LeaveGame | eventobjid: number, shortix,x,y,z | Any Players Leave Game |
| Game.AnyPlayer.Victory | eventobjid: number, shortix,x,y,z | Any Players Win game |
| Player.AddBuff | eventobjid: number, buffid: number, bufflvl: number | The player gets a status effect |
| Player.AddItem | eventobjid: number, itemid: number, itemnum: number | The player gets an item |
| Player.AreaIn | eventobjid: number, areaid: number | Player enters an area |
| Player.AreaOut | eventobjid: number, areaid: number | Player leaves an area |
| Player.AttackHit | eventobjid: number, targetactorid: number | Player hits a target |
| Player.Attack | eventobjid: number, shortix: number, x: number, y: number, z: number | Player performs an attack |
| Player.BackPackChange | eventobjid: number, itemid: number, itemnum: number, itemix: number | Backpack Slot Changes |
| Player.BeHurt | eventobjid: number, hurtlv: number | Player takes damage |
| Player.ChangeAttr | eventobjid: number, shortix: number, playerattr: number, playerattrval: number, x: number, y: number, z: number | Player attribute changes |
| Player.ClickActor | eventobjid: number, toobjid : number, targetactorid: number | Player clicks on a bio (actor) |
| Player.ClickBlock | eventobjid: number, blockid: number, x: number, y: number, z: number | Player clicks on a block |
| Player.Collide | eventobjid: number, toobjid: number | Player collides with another player/mob |
| Player.ConsumeItem | eventobjid: number, itemid: number, itemnum: number | Player consumes an item |
| Player.DamageActor | eventobjid: number, toobjid: number, targetactorid: number, hurtlv: number | Player inflicts damage to a target |
| Player.DefeatActor | eventobjid: number, toobjid: number, targetactorid: number | Player defeats a target |
| Player.Die | eventobjid: number, shortix: number, x: number, y: number, z: number | Player dies |
| Player.DiscardItem | eventobjid: number, itemid: number, itemnum: number, toobjid: number | Player discards an item |
| Player.DismountActor | eventobjid: number, targetactorid: number | Player dismounts from an actor |
| Player.EquipChange | eventobjid: number, itemid: number, itemnum: number, itemix: number | Equipment column changes |
| Player.EquipOff | eventobjid: number, itemid: number, itemnum: number, itemix: number | Player takes off equipment |
| Player.EquipOn | eventobjid: number, itemid: number, itemnum: number, itemix: number | Player equips an item |
| Player.InputContent | eventobjid: number, content: string | Player inputs a string |
| Player.InputKeyDown | eventobjid: number, vkey: number | Player presses a key |
| Player.InputKeyOnPress | eventobjid: number, vkey: number | Player long-presses a key |
| Player.InputKeyUp | eventobjid: number, vkey: number | Player releases a key |
| Player.LevelModelUpgrade | eventobjid: number | Player's level changes |
| Player.MotionStateChange | eventobjid: number, playermotion: number | Player's motion state changes |
| Player.MountActor | eventobjid: number, targetactorid: number | Player mounts on an actor |
| Player.MoveOneBlockSize | eventobjid: number, shortix: number, x: number, y: number, z: number | Player moves one block size |
| Player.NewInputContent | eventobjid: number, content: string | Player types from the chat box |
| Player.PickUpItem | eventobjid: number, toobjid: number, itemid: number, itemnum: number | Player picks up an item |
| Player.PlayAction | eventobjid: number, act: number | Player performs an emote/action |
| Player.RemoveBuff | eventobjid: number, buffid: number, bufflvl: number | The player loses a specified status effect |
| Player.Revive | eventobjid: number, shortix: number, x: number, y: number, z: number | Player revives |
| Player.SelectShortcut | eventobjid: number, itemid: number, itemnum: number | Shortcut bar selection |
| Player.ShortcutChange | eventobjid: number, itemid: number, itemnum: number, itemix: number | Quick Bar Changes |
| Player.UseGiftPack | eventobjid: number, itemid: number, itemnum: number | Player uses a gift pack |
| Player.UseItem | eventobjid: number, itemid: number, itemnum: number, itemix: number | Player uses an item |
===== Api List =====
^ Class:apiName ^ Return ^ Description ^
| Player:getAttr(objid: number, attrtype: number) | ErrorCode.OK, value: number | Player attribute acquisition |
| Player:setAttr(objid: number, attrtype: number, val: number) | ErrorCode.OK | Player attribute setting |
| Player:getHostUin() | ErrorCode.OK, uin: number | Get the owner uin |
| Player:isMainPlayer(objid: number) | ErrorCode.OK, isMainPlayer: bool | Check if the player is the local player |
| Player:getMainPlayerUin() | ErrorCode.OK, uin: number | Get the uin of the local player |
| Player:getGameResults(objid: number) | ErrorCode.OK, value: number | Get the player's game result |
| Player:setGameResults(objid: number, result: any) | ErrorCode.OK | Set the player's game result |
| Player:getGameScore(objid: number) | ErrorCode.OK, value: number | Get the player's game score |
| Player:setGameScore(objid: number, score: number) | ErrorCode.OK | Set the player's game score |
| Player:getGameRanking(objid: number) | ErrorCode.OK, rank: number | Get the player's ranking |
| Player:setGameRanking(objid: number, rank: number) | ErrorCode.OK | Set the player's ranking |
| Player:gainItems(objid: number, itemid: number, num: number, prioritytype: number) | ErrorCode.OK | Add props to the player |
| Player:teleportHome(objid: number) | ErrorCode.OK | Teleport to the birth point |
| Player:getCurToolID(objid: number) | ErrorCode.OK, ret: numbers | Get the item id currently held by the player |
| Player:getNickname(objid: number) | ErrorCode.OK, name: string | Get the player's nickname |
| Player:removeBackpackItem(objid: number, itemid: number, num: number) | ErrorCode.OK | Remove the items in the backpack |
| Player:getDieTimes(objid: number) | ErrorCode.OK, value: number | Get the number of player deaths |
| Player:getLeftLifeNum(objid: number) | ErrorCode.OK, value: number | Get the number of lives left by the player |
| Player:setTeam(objid: number, teamid: number) | ErrorCode.OK | Set the player's team |
| Player:getTeam(objid: number) | ErrorCode.OK, value: number | Get the player's team |
| Player:getFoodLevel(objid: number) | ErrorCode.OK, value: number | Get the player's current satiety |
| Player:setFoodLevel(objid: number, foodLevel: number) | ErrorCode.OK | Set the player's satiety |
| Player:getCurShotcut(objid: number) | ErrorCode.OK, scutIdx: number | Get the index of the currently used shortcut bar key |
| Player:onCurToolUsed(objid: number, num: number) | ErrorCode.OK | Set the consumption of props held by the current player |
| Player:setSkillCD(objid: number, itemid: number, cd: number) | ErrorCode.OK | Set the cooldown for a skill |
| Player:reviveToPos(objid: number, x: number, y: number, z: number) | ErrorCode.OK | Revive the player to the specified point |
| Player:setRevivePoint(objid: number, x: number, y: number, z: number) | ErrorCode.OK | Change the position of the player's resurrection point |
| Player:mountActor(playerid: number, objid: number, posindex: number) | ErrorCode.OK | The player rides on the mount |
| Player:playAct(objid: number, actid: number) | ErrorCode.OK | The player plays the animation |
| Player:notifyGameInfo2Self(objid: number, info: string) | ErrorCode.OK | Display the bay window text to the player |
| Player:useItem(objid: number, itemid: number, status: number, onshift: boolean) | ErrorCode.OK | Enable the player to use the current props |
| Player:rotateCamera(objid: number, yaw: number, pitch: number) | ErrorCode.OK | Rotate the player's camera |
| Player:changeViewMode(objid: number, viewmode: VIEWPORTTYPEnumber, islock: boolean) | ErrorCode.OK | Change the player's perspective mode |
| Player:setActionAttrState(objid: number, actionattr: PLAYERATTR_ENABLEnumber, switch: boolean) | ErrorCode.OK | Set the player's behavior attribute status |
| Player:checkActionAttrState(objid: number, actionattr: PLAYERATTR_ENABLEnumber) | ErrorCode.OK | Get the status of the player's special attributes |
| Player:isEquipByResID(objid: number, resid: number) | ErrorCode.OK | Check if the player is equipped with a piece of equipment |
| Player:setPosition(objid: number, x: number, y: number, z: number) | ErrorCode.OK | Set the player's position |
| Player:getAimPos(objid: number) | ErrorCode.OK, aimPos: table{x, y, z} | Get the position of the player's crosshair |
| Player:setItemAttAction(objid: number, itemid: number, attrtype: PLAYERATTR_ITEMnumber, switch: boolean) | ErrorCode.OK | Set the player's props attributes: discard, drop |
| Player:playMusic(objid: number, musicId: number, volume: number, pitch: number, isLoop: bool) | ErrorCode.OK | Play background music to the player |
| Player:stopMusic(objid: number) | ErrorCode.OK | Stop playing the player's background music |
| Player:setGameWin(objid: number) | ErrorCode.OK | Make the player win the game |
| Player:openDevStore(objid: number) | ErrorCode.OK | Open the developer store |
| Player:getPropsType(objid: number) | ErrorCode.OK, value: number | Get the type of props held by the player |
| Player:setCheckBoxScale(objid: number, range: number) | ErrorCode.OK | Set the radius of the detection of falling objects |
| Player:openBoxByPos(objid: number, x: number, y: number, z: number) | ErrorCode.OK | Open the operable box at the specified position |
| Player:forceOpenBoxUI(objid: number, itemid: number) | ErrorCode.OK | Forcibly open operable blocks such as toolboxes |
| Player:openDevGoodsBuyDialog(objid: number, devGoodsId: number, customDesc: string) | ErrorCode.OK | Open the pop-up window of the developer store product |
| Player:changePlayerMoveType(objid: number, moveType: number) | ErrorCode.OK | Change the way the player moves |
| Player:setImmuneType(objid: number, immunetype: number, isadd: bool) | ErrorCode.OK | Set the player immune damage type |
| Player:shakeCamera(objid: number, duration: number, power: number) | ErrorCode.OK | Shake the player camera |
| Player:stopShakeCamera(objid: number) | ErrorCode.OK | Stop shaking the player camera |
| Player:playQQMusic(objid: number, musicId: number, volume: number, isLoop: boolean) | ErrorCode.OK | The player plays QQ music |
| Player:operateQQMusic(operate: number, objid: number) | ErrorCode.OK | Pause/resume/stop the player's QQ music |
| Player:OpenAppraiseView(objid: number) | ErrorCode.OK | Open the evaluation interface (can only be triggered after playing the game for more than 3 minutes. Ten-minute CD after the trigger) |
| Player:OpenCollectionView(objid: number) | ErrorCode.OK | Open the collection interface (can only be triggered after playing the game for more than 3 minutes. Ten-minute CD after the trigger) |
| Player:IsMiniVip(objid: number) | ErrorCode.OK | Determine whether it is a mini member |
| Player:SendFriendApply(playerid: number, playerid2: number) | ErrorCode.OK | Send a friend request |
| Player:HasFriend(playerid: number, playerid2: number) | ErrorCode.OK | Determine whether playerid has friends playerid2 |
| Player:PlayActInHand(playerid: number, animid: number, playmode: number) | ErrorCode.OK | The player holds the miniature props to play the animation |
| Player:openDevStoreNew(objid: number) | ErrorCode.OK | The player opens the developer store (only available to developers) |
| Player:OpenBuiltinRank(objid: number, id: number) | ErrorCode.OK | Open the built-in leaderboard |
| Player:HideBuiltinRank(objid: number) | ErrorCode.OK | Hide the built-in leaderboard |
| Player:openDevGoodsBuyDetailedDialog(objid: number, devGoodsId: number) | ErrorCode.OK | Open the product details page of the developer store |
| Player:setMobileVibrate(playerid: number, time: number, amplitude: number) | ErrorCode.OK | The player's mobile phone vibrates |
| Player:SetCameraPosTransformBy(playerid: number, vec: table, animid: number, time: number) | ErrorCode.OK | The player's camera changes relative position |
| Player:SetCameraPosTransformTo(playerid: number, vec: table, animid: number, time: number) | ErrorCode.OK | The player camera changes to the position |
| Player:SetCameraRotTransformBy(playerid: number, vec: table, animid: number, time: number) | ErrorCode.OK | The relative angle of the player's camera rotation |
| Player:SetCameraRotTransformTo(playerid: number, vec: table, animid: number, time: number) | ErrorCode.OK | The player camera is rotated to the angle |
| Player:SetCameraFovTransformBy(playerid: number, value: number, animid: number, time: number) | ErrorCode.OK | The relative value of the Fov transformation of the player camera |
| Player:SetCameraFovTransformTo(playerid: number, value: number, animid: number, time: number) | ErrorCode.OK | The player camera Fov is transformed to the value |
| Player:SetCameraAttrState(playerid: number, attr: number, enable: boolean) | ErrorCode.OK | Set the player's camera settings switch |
| Player:SetCameraRotMode(playerid: number, attr: number) | ErrorCode.OK | Set the player's camera rotation mode |
| Player:SetCameraMountObj(playerid: number, objid: number) | ErrorCode.OK | Set the player's camera to mount to the object |
| Player:SetCameraMountPos(playerid: number, pos: table) | ErrorCode.OK | Set the player's camera to mount to the position |
| Player:ResetCameraAttr(playerid: number) | ErrorCode.OK | Reset the player camera |
===== Player constants =====
==== Player Attributes ====
^ Name ^ Value ^ Description ^
| PLAYERATTR.MAX_HP | 1 | Max health point |
| PLAYERATTR.CUR_HP | 2 | Current health point |
| PLAYERATTR.HP_RECOVER | 3 | Health point recovery |
| PLAYERATTR.LIFE_NUM | 4 | Number of life |
| PLAYERATTR.MAX_HUNGER | 5 | Max hunger point |
| PLAYERATTR.CUR_HUNGER | 6 | Current hunger point |
| PLAYERATTR.MAX_OXYGEN | 7 | Max oxygen point |
| PLAYERATTR.CUR_OXYGEN | 8 | Current oxygen point |
| PLAYERATTR.RECOVER_OXYGEN | 9 | Speed of oxygen recovery |
| PLAYERATTR.WALK_SPEED | 10 | Walking speed |
| PLAYERATTR.RUN_SPEED | 11 | Running speed |
| PLAYERATTR.SNEAK_SPEED | 12 | Sneaking speed |
| PLAYERATTR.SWIN_SPEED | 13 | Swimming speed |
| PLAYERATTR.JUMP_POWER | 14 | Jumping force |
| PLAYERATTR.DODGE | 16 | Dodge rate |
| PLAYERATTR.ATK_MELEE | 17 | Melee attack |
| PLAYERATTR.ATK_REMOTE | 18 | Ranged attack |
| PLAYERATTR.DEF_MELEE | 19 | Melee defense |
| PLAYERATTR.DEF_REMOTE | 20 | Ranged defense |
| PLAYERATTR.DIMENSION | 21 | Model Size |
| PLAYERATTR.SCORE | 22 | Score |
| PLAYERATTR.LEVEL | 23 | Star Level |
| PLAYERATTR.CUR_LEVEL | 27 | Current level |
| PLAYERATTR.CUR_STRENGTH | 28 | Current stamina |
| PLAYERATTR.MAX_STRENGTH | 29 | Maximum stamina |
| PLAYERATTR.STRENGTH_RECOVER | 30 | Stamina recovery rate |
| PLAYERATTR.CUR_LEVELEXP | 26 | Current experience points |
----
==== Player Attributes Setup ====
^ Name ^ Value ^ Description ^
| PLAYERATTR.ENABLE_MOVE | 1 | Can move |
| PLAYERATTR.ENABLE_PLACEBLOCK | 2 | Can place blocks |
| PLAYERATTR.ENABLE_OPERATEBLOCK | 4 | Can use blocks |
| PLAYERATTR.ENABLE_DESTROYBLOCK | 8 | Can break blocks |
| PLAYERATTR.ENABLE_USEITEM | 16 | Can use items |
| PLAYERATTR.ENABLE_ATTACK | 32 | Can attack |
| PLAYERATTR.ENABLE_BEATTACKED | 64 | Can be attacked |
| PLAYERATTR.ENABLE_BEKILLED | 128 | Can be killed |
| PLAYERATTR.ENABLE_PICKUP | 256 | Can pick up items |
| PLAYERATTR.ENABLE_DEATHDROPITEM | 512 | Drop items when die |
| PLAYERATTR.ENABLE_VEHICLEAUTOFORWARD | 1024 | Vehicle Automatic Pilot |
| PLAYERATTR.ENABLE_DISCARDITEM | 2048 | Can discard items |
----
==== Player Items Setup ====
^ Name ^ Value ^ Description ^
| PLAYERATTR.ITEM_DISABLE_THROW | 1 | Cannot discard items |
| PLAYERATTR.ENABLE_PLACEBLOCK | 2 | Cannot drop items |
----
==== Player Motions ====
^ Name ^ Value ^ Description ^
| PLAYERMOTION.STATIC | 0 | Stay still |
| PLAYERMOTION.WALK | 1 | Walk |
| PLAYERMOTION.RUN | 2 | Run |
| PLAYERMOTION.JUMP | 4 | Jump |
| PLAYERMOTION.JUMP_TWICE | 8 | Double jump |
| PLAYERMOTION.SNEAK | 16 | Sneak |
| PLAYERMOTION.FALL_GROUND | 32 | Fall to ground |