Bom alguém sabe como fazer uma radio própria para o servidor, tipo eu fazer uma playlist com as musicas que eu escolhe para tocar. Teria como fazer tal coisa??
Eu fazer uma playlist com as musicas escolhidas e elas iriam tocando no servidor.
Olá amigos, o problema não faz sentido pra mim, os objetos do servidor que foram adicionados com: "CreateObject", estão sendo carregados no jogo, sem problemas, mas os que foram com: "CreateDynamicObject", nenhum foi carregado. Acredito não ser problema com o Plugin, já que está atualizado, e as outras funções da streamer carrega beleza, inclusive em localhost ou em vps Windows também, funciona... Meu problema está com a vps Linux, se alguem puder me dar uma dica, me ajudar a luz no fim do tunel, obrigado.
O jogador fica imóvel na escada( É possível fazer isso sem TogglePlayerControllable(playerid, false); )
Mas colocando o TogglePlayerControllable, fica muito estranho (Ele não fica da mesma forma que no vídeo)
O meu objetivo é deixar o jogador encima da escada. Sem que ele caia, deixar o jogador de alguma forma imóvel. EU já tentei combinar animações com TogglePlayerControllable(playerid, false); e sem sucessos.
A única explicação para isso, é que existe um objeto invisível embaixo do jogador. Mas que objeto seria esse?
Galera, como eu posso fazer um anti cheat para verificar se o dano recebido foi realmente aquele? por exemplo supondo que a desert da 24 de dano, e se caso o player usa hack e da 50 de dano de desert, como posso verificar isso?
Bom como fazer para dropar musicas para tocar no SA-MP, tipo fiz um sistema de musica em base de um que vi na internet, só que não sei como por a musica para toca, pq o sistema de base q peguei lá diz se por o link de qualquer musica do youtube toca ou mesmo só o nome da musica mais, não funcionou aqui. Alguem poderia mim ajudar pfvr
new pname[MAX_PLAYER_NAME];
new bool:PediuMusica[MAX_PLAYERS];
public OnFilterScriptInit()
{
//print("\n [FS] Música carregado by [TSVR]LeleziN.Dr ");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
PediuMusica[playerid] = false;
return 1;
}
public OnPlayerSpawn(playerid)
{
static nomedoserver[64], str[128];
//GetConsoleVarAsString("hostname", nomedoserver, sizeof(nomedoserver));
format(str, sizeof(str), "O %s contém um sistema de música feito por [TSVR]LeleziN.Dr | CMD: /amusica ", nomedoserver);
SendClientMessage(playerid, COR_DICA, str);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_MUSICA)
{
if(!response)
{
SendClientMessage(playerid, COR_INFO, "DICA: Comandos do Sistema de Música: ( /amusica )");
}
else
{
if(strlen(inputtext) < 1)
{
SendClientMessage(playerid, COR_ERRO, "ERRO: Insira alguma música!");
ShowPlayerDialog(playerid, DIALOG_MUSICA, DIALOG_STYLE_INPUT, "Música para todos", "Insira o nome da música desejada!\n(AVISO): Coloque o cantor e o nome da música ou o link do youtube para melhores resultados\n", "Tocar", "Cancelar");
}
else
{
static i, str[128], str2[104+MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
for( i = GetMaxPlayers() - 1; i > -1; --i)
{
if(IsPlayerConnected(i))
{
format(str, sizeof(str), "https://6t.pe/?song=%s", inputtext);
PlayAudioStreamForPlayer(i, str);
format(str2, sizeof(str2), "[ADMIN] %s colocou a música %s, digite /pmusica se quiser parar!", pname, inputtext);
}
}
SendClientMessageToAll(COR_INFO, str2);
}
}
return 1;
}
if(dialogid == DIALOG_PEDIRMUSICA)
{
if(!response)
{
SendClientMessage(playerid, -1, "DICA: Comandos do Sistema de Música: ( /amusica )");
}
else
{
if(strlen(inputtext) < 1)
{
SendClientMessage(playerid, COR_ERRO, "ERRO: Insira alguma música!");
ShowPlayerDialog(playerid, DIALOG_PEDIRMUSICA, DIALOG_STYLE_INPUT, "Pedir uma Música", "Insira o nome da música desejada!\n[AVISO]: Coloque o cantor e o nome da música ou o link do youtube para melhores resultados\n", "Pedir", "Cancelar");
}
else
{
SendClientMessage(playerid, COR_DICA, "AVISO: Música enviada com sucesso aos ADMINS!");
PediuMusica[playerid] = true;
SetTimerEx("PedidoDeMusica", 120000, false, "d", playerid);
static i, str2[104+MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
for( i = GetMaxPlayers() - 1; i > -1; --i)
{
if(IsPlayerAdmin(i))
{
format(str2, sizeof(str2), "ATENÇÃO ADMINS: %s está pedindo a música %s", pname, inputtext);
SendClientMessage(i, COR_INFO, str2);
}
}
}
}
return 1;
}
return 1;
}
//Funções
forward PedidoDeMusica(playerid);
public PedidoDeMusica(playerid)
{
PediuMusica[playerid] = false;
return 1;
}
//Comandos
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/tocarmusica", true)==0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "ERRO: Comando disponível apenas para admins RCON!");
ShowPlayerDialog(playerid, DIALOG_MUSICA, DIALOG_STYLE_INPUT, "Música para todos", "Insira o nome da música desejada!\n[AVISO]: Coloque o cantor e o nome da música ou o link do youtube para melhores resultados\n", "Tocar", "Cancelar");
return 1;
}
if (strcmp(cmdtext, "/pmusicatodos", true)==0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COR_ERRO, "ERRO: Comando disponível apenas para admins RCON!");
static i,str[104+MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
for( i = GetMaxPlayers() - 1; i > -1; --i)
{
if(IsPlayerConnected(i))
{
StopAudioStreamForPlayer(i);
}
}
format(str, sizeof(str), "[ADMIN] %s parou a música atual!", pname);
SendClientMessageToAll(COR_INFO, str);
return 1;
}
if (strcmp(cmdtext, "/pmusica", true)==0)
{
StopAudioStreamForPlayer(playerid);
SendClientMessage(playerid, COR_INFO, "INFO: A reprodução de sons foi parada!");
return 1;
}
if (strcmp(cmdtext, "/pedirmusica", true)==0)
{
if(PediuMusica[playerid] == false)
{
ShowPlayerDialog(playerid, DIALOG_PEDIRMUSICA, DIALOG_STYLE_INPUT, "Pedir uma Música", "Insira o nome da música desejada!\n[AVISO]: Coloque o cantor e o nome da música ou o link do youtube para melhores resultados\n", "Pedir", "Cancelar");
}
else
{
SendClientMessage(playerid, COR_ERRO, "ERRO: Aguarde 2 Minutos para pedir outra música!");
}
return 1;
}
if (strcmp(cmdtext, "/amusica", true)==0)
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid, DIALOG_AJUDA, DIALOG_STYLE_MSGBOX, "Comandos de Música", "COMANDOS ADM: \n\n/tocarmusica - Toca uma música para todos pelo nome ou link do youtube\n/pmusicatodos - Para a música de todos\n\nCOMANDOS PLAYER: \n\n/pmusica - Para a música atual\n/pedirmusica - Envia a música desejada para os admins online\n", "Ok", "");
}
else
{
ShowPlayerDialog(playerid, DIALOG_AJUDA, DIALOG_STYLE_MSGBOX, "Comandos de Música", "/pmusica - Para a música atual\n/pedirmusica - Envia a música desejada para os admins online\n", "Ok", "");
}
return 1;
}
return 1;
}
pela data dos tópicos, foi recuperado quase tudo, perdendo-se apenas os tópicos dos ultimos 2 anos (2019 e 2020).
Façam bom proveito e tentam resgatar algumas coisas de lá e repostar aqui para que a informação não fique concentrada em um só lugar, assim caso aqui ou lá fique offline tudo ainda estará disponível para a posteridade.