Anuncie aqui!

[TUT]Funções básicas


Aqui irei explicar algumas funções básicas, que tem muito novato/intermediário querendo saber mas não sabe como usar.

//public OnPlayerDeath(playerid,killerid,reason)
SendDeathMessage(killerid,playerid,reason); //Ele mostra quem matou quem e arma em baixo do dinheiro, exemplo: Fulano_assassino usou_arma_tal_para_matar Fulano_morto.

//Onde quiser para enviar uma mensagem ao jogador (ideal para pm [private message])
SendPlayerMessageToPlayer(playerid, senderid, "Mensagem aqui");
//Pode usar string é claro
//Enviar mensagem a todos
SendPlayerMessageToAll(senderid, "Mensagem aqui");
//Onde quiser para mostrar um texto na tela a todos por alguns segundos
GameTextForAll("mensagem aqui",tempo_em_milesegundos,estilo_fonte); //Estilo fonte é de 0 a 6
//Onde quiser para mostrar um texto na tela ao jogador
GameTextForPlayer(playerid,"mensagem aqui",tempo_em_milesegundos,estilo_fonte);
//Estilo fonte é de 0 a 6
//Tempo para chamar uma callback
SetTimer("Nome do callback (ou public como preferir chamar"Intervalo_em_milesegundosRepetir (0 = false 1 = true));

Observação:
SetTimer só pode ser usado em public sem parâmetros, mas ai você se pergunta "O que é parâmetros", é aquilo que fica entre (parentêses) no public, exemplo forward Jogador(playerid);

//Playerid é parâmetro nesse caso.

//Tempo para chamar uma callback
SetTimerEx("Nome do callback",intervalo_em_milesegundos,Repetir(0 = false 1 = true),"Formato do parâmetro",Ponto_flutuante);

Observação:
SetTimerEx pode ser usado em callback com parâmetros, mas desde que você coloque o formato, exemplo:
new Float:X,Float:Y,Float:X,Angulo;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid, Angulo);
SetTimerEx("CriarInfernus"1000false"ffffi",X,Y,Z,Angulo,playerid);

public CriarInfernus(Float:X,Float:Y,Float:Z,Float:Angulo,playerid)
{
CreateVehicle(411,X,Y,Z,Angulo,3,3,-1);
return 1;
}

//Bom, não precisa de uma callback para criar um veículo, mas isso só foi de exemplo de como funciona

//Parar um tempo
KillTimer(timerid);

Explicando:
Ele simplesmente "para","mata" o tempo, exemplo: Tempo = SetTimerEx("Tutorial",5000,true,"i",playerid); Ele irá ficar sempre repetindo, ai para parar o timer é só fazer isso: KillTimer(Tempo); Mas é necessário criar uma váriavel como por exemplo: new Tempo; tem muita gente que comete esse erro de fazer assim: new Tempo[MAX_PLAYERS]; mas isso está errado, já que você escolhe se é para jogador id nos parâmetros.

//Chamar uma função
CallRemoteFunction("Nome_da_callback""formato", Float);

Exemplo:

CallRemoteFunction("OnPlayerCommandText","i",playerid,"/kill");

O formato é "i", o nome da callback a ser chamada é OnPlayerCommandText, e o comando a ser usado obrigatóriamente é /kill.

//Andar que nem o CJ
UsePlayerPedAnims();

//Desativar ícones amarelos das entradas de interiores
DisableInteriorEnterExits();

//Distância para visualizar o nome do jogador
SetNameTagDrawDistance(Distancia[exemplo: 20.0]);

//Limite do chat a ser visto por jogadores (muito usado em Role Play)
LimitGlobalChatRadius(Chat_radius[exemplo: 20.0]);

Explicando: 
Se o jogador estiver perto de outro jogador ele poderá ver o que o outro jogador está escrevendo e vice-versa.

//Limite para visualizar o jogador no radar
LimitPlayerMarkerRadius(Float:marker_radius);

Exemplo:

LimitPlayerMarkerRadius(100.0);

//Permitir armas em interiores
AllowInteriorWeapons(allow); // 0 - Não 1 - Sim

//Ativar nome dos locais em game text (que nem no modo single player)
EnableZoneNames(enable); 0 - Não 1 - Sim

//Comandos rcon
SendRconCommand("changemode LVDM");

Explicando:
Isso é só um exemplo, mas você pode usar todos os comandos rcon com essa função, como fazer o comando /gmx em vez de /rcon gmx usando a função SendRconCommand, basta fazer isso; SendRconCommand("gmx");

Por enquanto é só, irei postar mais funções básicas nesse mesmo post quando puder, espero ter ajudado quem não conhecia essas funções.

Comentários

Postar um comentário