Novas funções adicionadas na versão 0.3d
** AttachObjectToObject
Esta função é usada para anexar um objeto a outro objeto.
É semelhante a AttachObjectToPlayer.
Parâmetros:
(objectid, attachtoid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:RotX, Float:RotY, Float:RotZ, SyncRotation = 1)
pawn Code:
objectid //ID do objeto que será anexado ao objeto principal. attachtoid //ID do objeto principal. Float:OffsetX //Distância entre os objetos na direção X. Float:OffsetY //Distância entre os objetos na direção Y. Float:OffsetZ //Distância entre os objetos na direção Z. Float:RotX //Rotação X entre os objetos. Float:RotY //Rotação Y entre o objetos. Float:RotZ //Rotação Z entre o objetos. SyncRotation //Define se a rotação vai ser sincronizada ou não. return - Esta função não retorna um valor específico
Exemplo:
pawn Code:
AttachObjectToObject(objectid, attachtoid, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1);
Observação:
- Os objetos devem ser criados antes de serem anexados.
--------------------------------------------------------------------------------------------------------------------------
** GetPlayerTargetPlayer
Checa se o jogador está mirando.
Parâmetros:
(playerid)
pawn Code:
playerid //ID do jogador em que será feita a verificação. return - ID do jogador alvo, ou INVALID_PLAYER_ID
Exemplo:
pawn Code:
public OnPlayerUpdate(playerid) { new AlvoID = GetPlayerTargetPlayer(playerid); if(AlvoID != INVALID_PLAYER_ID) { new Armado[MAX_PLAYER_NAME],Alvo[MAX_PLAYER_NAME],Vstring[58]; GetPlayerName(playerid,Armado, sizeof (Armado)); GetPlayerName(AlvoID, Alvo, sizeof (Alvo)); format(Vstring,58,"%s está mirando em %s",Armado,Alvo); SendClientMessageToAll(-1,Vstring); } return 1; }
--------------------------------------------------------------------------------------------------------------------------
** IsObjectMoving
Checa se o objeto está se movendo.
Parâmetros:
(objectid)
pawn Code:
objectid //ID do objeto em que será feita a verificação. return - 1 se o objeto está se movendo e 0 se não está
Exemplo:
pawn Code:
if(IsObjectMoving(objectid)) StopObject(objectid);
--------------------------------------------------------------------------------------------------------------------------
** IsPlayerObjectMoving
Checa se o objeto dado ao jogador está se movendo.
Parâmetros:
(objectid)
pawn Code:
objectid //O ID do objeto do jogador em que será feita a verificação. return - 1 se o objeto do jogador está se movendo e 0 se não está
Exemplo:
pawn Code:
if(IsPlayerObjectMoving(objectid)) StopPlayerObject(objectid);
--------------------------------------------------------------------------------------------------------------------------
** OnPlayerClickMap
É chamada quando um jogador clica com o botão direito do mouse no mapa do menu.
Parâmetros:
(playerid, Float:fX, Float:fY, Float:fZ)
pawn Code:
playerid //ID do jogador que clicou no mapa Float:fX //Coordenada X de onde o jogador clicou Float:fY //Coordenada Y de onde o jogador clicou Float:fZ //Coordenada Z de onde o jogador clicou (imprecisa)
Exemplo:
pawn Code:
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { SetPlayerPosFindZ(playerid, fX, fY, fZ); return 1; }
Observações:
- SetPlayerPosFindZ é semelhante a SetPlayerPos, com a diferença de que nesse tipo de teleporte a função oferece
uma coordenada Z que é aproximada a um ponto de apoio (O chão por exemplo)
--------------------------------------------------------------------------------------------------------------------------
** OnPlayerGiveDamage
Esta callback é chamada quando um jogador danifica outro jogador
Parâmetros:
(playerid, damagedid, Float:amount, weaponid)
pawn Code:
playerid //ID do jogador que danificou damagedid //ID do jogador que foi danificado amount //Quantidade de vida ou colete que foi perdido weaponid //A arma que danificou o jogador (Soco, Faca , Eagle)
Exemplo:
pawn Code:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid) { if(damagedid != INVALID_PLAYER_ID) { new string[128], vitima[MAX_PLAYER_NAME], agressor[MAX_PLAYER_NAME]; new weaponname[24]; GetPlayerName(playerid, agressor, sizeof (agressor)); GetPlayerName(damagedid, vitima, sizeof (vitima)); GetWeaponName(weaponid, weaponname, sizeof (weaponname)); format(string, sizeof(string), "%s tirou %.0f danos de %s. Arma: %s", agressor, amount, vitima, weaponname); SendClientMessageToAll(0xFFFFFFFF, string); } return 1; }
--------------------------------------------------------------------------------------------------------------------------
** OnPlayerTakeDamage
Esta callback é chamada quando um jogador sofre danos
Parâmetros:
(playerid, issuerid, Float:amount, weaponid)
pawn Code:
playerid //ID do jogador que sofreu danos issuerid //ID do jogador que causou os danos. INVALID_PLAYER_ID caso seja nenhum. amount //Quantidade de vida ou colete que foi perdido weaponid //A arma que causou o dano (Soco, Faca , Eagle)
Exemplo:
pawn Code:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { if(issuerid != INVALID_PLAYER_ID) { new string[128], vitima[MAX_PLAYER_NAME], agressor[MAX_PLAYER_NAME]; new weaponname[24]; GetPlayerName(playerid, vitima, sizeof (vitima)); GetPlayerName(issuerid, agressor, sizeof (agressor)); GetWeaponName(weaponid, weaponname, sizeof (weaponname)); format(string, sizeof(string), "%s tirou %.0f danos de %s. Arma: %s", agressor, amount, vitima, weaponname); SendClientMessageToAll(0xFFFFFFFF, string); } return 1; }
--------------------------------------------------------------------------------------------------------------------------
** RemoveBuildingForPlayer
Remove um modelo de objeto padrão do GTA San Andreas para um jogador dentro de um determinado raio.
Parâmetros:
(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius)
pawn Code:
playerid //ID do jogador para o qual o objeto será removido. modelid //Modelo do objeto a ser removido Float:fX //Coordenada X em torno da qual os objetos serão removidos. Float:fY //Coordenada Y em torno da qual os objetos serão removidos. Float:fZ //Coordenada Z em torno da qual os objetos serão removidos. Float:fRadius //O raio. Objetos dentro deste raio a partir das coordenadas acima serão removidos. return - Esta função não retorna um valor específico
Exemplo:
pawn Code:
public OnPlayerConnect(playerid) { // Quando o jogador se conecta, o modelo 615 (veg_tree3) é deletado em um raio de 200.0 // a partir do ponto: 0.0, 0.0, 0.0, que é o centro de San Andreas. RemoveBuildingForPlayer(playerid, 615, 0.0, 0.0, 0.0, 200.0); return 1; }
--------------------------------------------------------------------------------------------------------------------------
** PlayAudioStreamForPlayer
Esta função permite tocar um audiostream para um jogador específico. Todos os parâmetro, com exceção de playerid e url, são opcionais.
Parâmetros:
(playerid, url[], Float: posX = 0.0, Float: posY = 0.0, Float: posZ = 0.0, Float: distance = 50.0, usepos = 0)
pawn Code:
playerid //ID do jogador que receberá o áudio. url[] //Link a ser acessado. Os formatos válidos são : mp3 e ogg/vorbis. Float: PosX //Coordenada X onde o áudio será tocado. Padrão é 0.0. Não tem efeito a menos que usepos tenha valor 1. Float: PosY //Coordenada Y onde o áudio será tocado. Padrão é 0.0. Não tem efeito a menos que usepos tenha valor 1. Float: PosZ //Coordenada Z onde o áudio será tocado. Padrão é 0.0. Não tem efeito a menos que usepos tenha valor 1. Float: distance //A distância em que o áudio será tocado. Não tem efeito a menos que usepos tenha valor 1. usepos //Determina se os parâmetros relativos a coordenadas e distância serão usados. Padrão é 0 (Desabilitado). return - Esta função não retorna um valor específico
Exemplo:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[]) { if (!strcmp("/radio", cmdtext)) { PlayAudioStreamForPlayer(playerid, "http://somafm.com/tags.pls"); return 1; } if (!strcmp("/radio2", cmdtext)) // Radio em sua posição { new Float:X, Float:Y, Float:Z, Float:Distancia = 5.0; GetPlayerPos(playerid, X, Y, Z); PlayAudioStreamForPlayer(playerid, "http://somafm.com/tags.pls", X, Y, Z, Distancia, 1); return 1; } return 0; }
--------------------------------------------------------------------------------------------------------------------------
** StopAudioStreamForPlayer
Interrompe o áudio de um determinado jogador.
Parâmetros:
(playerid)
pawn Code:
playerid //O jogador para o qual o áudio será interrompido. return - Esta função não retorna um valor específico
Exemplo:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[]) { if (!strcmp("/pararradio", cmdtext)) { StopAudioStreamForPlayer(playerid); return 1; } return 0; }
Em caso de erros ou sugestões, comuniquem-me.
0 comentários:
Postar um comentário