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_milesegundos, Repetir (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", 1000, false, "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.
//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_milesegundos, Repetir (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", 1000, false, "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