player

package
v1.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2023 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Overview

player fornece funções de gerenciamento de jogadores conectados.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFailTeleport      = errors.New("Player teleportation failure")
	ErrFailSetCharacter  = errors.New("Failure to set player character")
	ErrFailGetCoordinate = errors.New("Failure to get player coordinate")
)
View Source
var (
	ErrFailSelectWeapon = errors.New("Failure to select player's weapon.")
)

Functions

This section is empty.

Types

type PlayerBuilder

type PlayerBuilder struct {
	ID   int
	Name string
	State
}

func Builder

func Builder() *PlayerBuilder

func (*PlayerBuilder) AddWeapon

func (pb *PlayerBuilder) AddWeapon(weapon, ammo int)

AddWeapon adicionará na lista de armas do jogador, a respectiva arma e sua munição informadas no parâmetro. Se a munição for menor que zero será setado o valor padrão 30. Informar um ID de arma inválido ocasionará em falhas nas funções seletivas [SelectWeapon] e [SelectRandomWeapon]

func (*PlayerBuilder) Armour

func (pb *PlayerBuilder) Armour(Armour float32) *PlayerBuilder

Armour define a armadura(colete) do jogador

func (*PlayerBuilder) ClearListWeapons

func (pb *PlayerBuilder) ClearListWeapons()

ClearListWeapons removerá a lista de armas do jogador

func (*PlayerBuilder) Connected

func (pb *PlayerBuilder) Connected(status *bool) *PlayerBuilder

Connected verifica se o jogador está conectado ao servidor, e a condição é armazenada em status *bool. Se jogador está conectado então status é verdadeiro, caso contrário será é falso

func (*PlayerBuilder) Coordinate

func (pb *PlayerBuilder) Coordinate() (float32, float32, float32, float32, error)

GetCoordinate obtém a coordenada do jogador e a direção de que o jogador está olhando

func (*PlayerBuilder) DeleteCurrentVehicle

func (pb *PlayerBuilder) DeleteCurrentVehicle() bool

DeleteCurrentVehicle destruirá o veículo do jogador

func (*PlayerBuilder) InVehicle

func (pb *PlayerBuilder) InVehicle() bool

InVehicle é verdadeiro se o jogador está dentro de um veículo, caso contrário será falso

func (*PlayerBuilder) Life

func (pb *PlayerBuilder) Life(life float32) *PlayerBuilder

Life define a vida do player

func (*PlayerBuilder) Nick

func (pb *PlayerBuilder) Nick(nick *string) *PlayerBuilder

Nick obtém o apelido (nick) do jogador. Ele chama a função nativa GetPlayerName com o ID do jogador e uma variável de string como argumentos. O ID do jogador é acessado através do campo ID do objeto PlayerBuilder. A variável de string é fornecida como um argumento para o método e será preenchida com o apelido do jogador. O tamanho máximo do apelido é definido pela constante MaxPlayerName em playerConst. Após chamar a função nativa, o método retorna o próprio objeto PlayerBuilder.

func (*PlayerBuilder) Select

func (pb *PlayerBuilder) Select(arg interface{}) *PlayerBuilder

Select é um operador lógico que seleciona um jogador com base em um apelido ou ID fornecido. Ele recebe um argumento que pode ser uma string (representando o apelido do jogador) ou um inteiro (representando o ID do jogador). Se o argumento for uma string, o método percorrerá todos os jogadores e comparará o apelido de cada jogador com a string fornecida. Se encontrar um jogador cujo apelido corresponda à string, ele definirá o campo ID do objeto PlayerBuilder para o ID desse jogador. Se o argumento for um inteiro, o método simplesmente definirá o campo ID do objeto PlayerBuilder para esse inteiro.

func (*PlayerBuilder) SelectCharacter

func (pb *PlayerBuilder) SelectCharacter(skin int) error

SelectCharacter seleciona o personagem (skin) do jogador. Ela recebe um ID ID SKINS de skin do SA-MP

func (*PlayerBuilder) SelectRandomWeapon

func (pb *PlayerBuilder) SelectRandomWeapon() error

SelectRandomWeapon seleciona aleatoriamente uma arma da lista de armas do jogador. O método cria uma cópia da lista de armas do jogador e embaralha-a. Em seguida, ele seleciona a última arma na lista embaralhada. O método chama a função nativa SetPlayerArmedWeapon com o ID do jogador e o ID da arma selecionada. Se a função nativa retornar false, indicando que a arma não pôde ser selecionada, o método retorna um erro ErrFailSelectWeapon. Se a arma for selecionada com sucesso, o método retorna nil, indicando que não houve erros.

func (*PlayerBuilder) SelectWeapon

func (pb *PlayerBuilder) SelectWeapon(weapon int) error

SelectWeapon seleciona a arma que o jogador está segurando. Ele recebe um argumento inteiro 'weapon' que representa o ID da arma. O ID da arma é a posição das armas que o jogador possui atualmente. Se o ID da arma for maior do que o número de armas que o jogador possui ou menor do que zero, o método retorna um erro ErrFailSelectWeapon. Caso contrário, ele obtém a arma correspondente da lista de armas do jogador e chama a função nativa SetPlayerArmedWeapon com o ID do jogador e o ID da arma. Se a função nativa retornar false, indicando que a arma não pôde ser selecionada, o método retorna um erro ErrFailSelectWeapon. Se a arma for selecionada com sucesso, o método retorna nil, indicando que não houve erros. Consulte também: [AddWeapon]

func (*PlayerBuilder) Spawn

func (pb *PlayerBuilder) Spawn() *PlayerBuilder

Spawn faz o jogador reaparecer no jogo. Ele chama a função nativa SpawnPlayer com o ID do jogador como argumento. O ID do jogador é acessado através do campo ID do objeto PlayerBuilder. Após chamar a função nativa, o método retorna o próprio objeto PlayerBuilder.

func (*PlayerBuilder) Teleport

func (pb *PlayerBuilder) Teleport(x, y, z, r float32) error

Invocar esta função teletransportará o jogador para as coordenadas informadas no parametro, bem como sua direção de orientação - direção que corresponde, por exemplo, a rotação baseada na bússula. Ou seja, a direção que o jogador está olhando

func (*PlayerBuilder) Vehicle

func (pb *PlayerBuilder) Vehicle() int

Vehicle retornará o ID do veículo do jogador. Retornará -1 para um ID inválido ou se o jogador não estiver em nenhum veículo

type State

type State struct {
	ListWeapons []Weapon //TODO: implementar auto-save/load-save
	Life        float32
	Armour      float32
	Coordinate  []float32
	Character   int
}

type Weapon

type Weapon struct {
	ID   int
	Ammo int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL