musicar para todos os players -
chefaoBR - 17.12.2014
fala galera blz ? alguem me ajude nesse code
Код:
if (!strcmp(cmdtext, "/tocarrock", true))
{
if(pAdmin[playerid] != 5 || PlayerInfo[ playerid ][pProfissao] == Promoter )
return SendClientMessage(playerid, -1, "Vocк nгo й DJ!");
new trampo[256];
static
e,
i
;
for(e = GetMaxPlayers(), i = 0; i != e; ++i){
if(IsPlayerConnected(i)){
PlayAudioStreamForPlayer(i, "http://205.164.62.20:8200");
}
}
format(string, sizeof(string), "O Dj %s esta tocando Rock", aname, trampo);
GameTextForAll(string, 3000, 3);
return true;
}
tipo a quando do /tocarrock , com a profissao promoter , nгo toca , й fala que nгo sou dj.
Re: musicar para todos os players -
Dolpin - 17.12.2014
Estava com um problema parecido com o seu, troque este cуdigo por esse:
pawn Код:
if (!strcmp(cmdtext, "/tocarrock", true))
{
if(pAdmin[playerid] != 5 || PlayerInfo[ playerid ][pProfissao] != Promoter ) return SendClientMessage(playerid, -1, "Vocк nгo й DJ!");
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
for(new i = 0; GetMaxPlayers(); i++) {
if(IsPlayerConnected(i)){
PlayAudioStreamForPlayer(i, "http://205.164.62.20:8200");
}
}
format(string, sizeof(string), "O Dj %s esta tocando Rock", Nome);
GameTextForAll(string, 3000, 3);
return true;
}
Re: musicar para todos os players -
JonathanFeitosa - 17.12.2014
pawn Код:
if(pAdmin[playerid] != 5 || PlayerInfo[ playerid ][pProfissao] == Promoter )
Vocк nгo tem que ter Admin Nнvel 5 ou vocк precisa ser da Profissional promoter para usar o comando.
! й negaзгo.
E sobre o comando, creio eu que MAX Players й bem mais rбpido que GetMaxPlayers nesse caso.
Re: musicar para todos os players -
ipsLuan - 17.12.2014
Este cуdigo estб mal feito.
pawn Код:
if(!strcmp(cmdtext, "/tocarrock", true))
{
if(pAdmin[playerid] != 5 || PlayerInfo[playerid][pProfissao] == !Promoter) return SendClientMessage(playerid, -1, "Vocк nгo й DJ!");
for(id = 0, id < MAX_PLAYERS; id++) {
if(IsPlayerConnected(id) {
PlayAudioStreamForPlayer(id, "http://205.164.62.20:8200");
}
}
new nomedoplayer[24];
GetPlayerName(playerid, nomedoplayer, 24);
format(string, sizeof(string), "O Dj %s esta tocando Rock", nomedoplayer);
GameTextForAll(string, 3000, 3);
return 1;
}
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by JonathanFeitosa
pawn Код:
if(pAdmin[playerid] != 5 || PlayerInfo[ playerid ][pProfissao] == Promoter )
Vocк nгo tem que ter Admin Nнvel 5 ou vocк precisa ser da Profissional promoter para usar o comando.
! й negaзгo.
E sobre o comando, creio eu que MAX Players й bem mais rбpido que GetMaxPlayers nesse caso.
|
https://sampforum.blast.hk/showthread.php?tid=180159
Re: musicar para todos os players -
JonathanFeitosa - 17.12.2014
Quote:
Originally Posted by Dolpin
|
Falei de velocidade e nгo de memуria. Sу ler os comentбrios do mesmo tуpico.
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by JonathanFeitosa
Falei de velocidade e nгo de memуria. Sу ler os comentбrios do mesmo tуpico.
|
Ainda nгo entendi, se falou que MAX_PLAYERS e Mais rбpido que GetMaxPlayers.
Por definiзгo default do SAMP, o MAX_PLAYERS й 500, Ou seja o Loop vai rodar 500x.
Enquanto o GetMaxPlayers Vai rodar quantos jogadores tem no Servidor.
Mas para o MAX_PLAYERS Ficar mais rбpido basta fazer isso:
pawn Код:
#undef MAX_PLAYERS
#define MAX_PLAYERS 30//Slots que tem no servidor
Imagine que o cara tem um servidor 30 Slots e usa o Loop com MAX_PLAYERS, Vai ser muito lento comparado ao GetMaxPlayers.
Sу fazer os testes...
Re: musicar para todos os players -
PT - 17.12.2014
Quote:
Originally Posted by Dolpin
|
Antes de mostrares o link aconselho-te a ler tambem, este pequeno quote chega:
Quote:
Originally Posted by Slice
Looping with GetMaxPlayers is slower than MAX_PLAYERS. Also, you can't declare arrays with dynamic sizes.
https://sampforum.blast.hk/showthread.php?tid=65567
Edit:
There is one way you can use GetMaxPlayers, however.
pawn Код:
for ( new i = 0, l = GetMaxPlayers( ); i < l; i++ ) { if ( IsPlayerConnected( i ) ) { // ... } }
Or you could make a new global variable called g_MaxPlayers and set it to GetMaxPlayers( ) in OnGameModeInit then use that for looping.
However, I would sugget simply re-defining MAX_PLAYERS:
pawn Код:
#undef MAX_PLAYERS #define MAX_PLAYERS (20)
|
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by PT
Antes de mostrares o link aconselho-te a ler tambem, este pequeno quote chega:
|
https://sampforum.blast.hk/showthread.php?tid=144744&page=267
Antes de ser ativada a minha conta no fуrum, passou 1 Semana olhei todos os tutoriais, Olhei quase tudo que podia imaginar em 1 Semana, Achei bastante coisas interessantes, estou te mandando este link, mas nгo fique com raiva, й sу para te mostrar um Post relacionado ao Tуpico.
Re: musicar para todos os players -
JonathanFeitosa - 17.12.2014
#edit
https://sampforum.blast.hk/showthread.php?tid=208427
Mais prбtico.
Re: musicar para todos os players -
PT - 17.12.2014
Quote:
Originally Posted by Dolpin
https://sampforum.blast.hk/showthread.php?tid=144744&page=267
Antes de ser ativada a minha conta no fуrum, passou 1 Semana olhei todos os tutoriais, Olhei quase tudo que podia imaginar em 1 Semana, Achei bastante coisas interessantes, estou te mandando este link, mas nгo fique com raiva, й sу para te mostrar um Post relacionado ao Tуpico.
|
Se leres o outro la da board inglesa iras perceber que esse nao й de todo o melhor jeito para criar loops, principalmente se usares sistemas dinamicos.
Consegue facilmente crashar o sistema desse jeito.
Mas cada um faz como quer, le a board inglesa e le isso ai. Faz seus testes depois decida qual quer. A decisao й sua nao minha. Apenas tente saber mais e saber o porque de eu dizer que esta errado desse jeito antes de falar. Nao e porque esse tuto foi feito pelo Bruno (nada contra ele) que significa que seja a melhor forma de fazer.
Sem nada mais a acresentar,
cumps.
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by JonathanFeitosa
Quem hoje em dia nгo define o MaxPlayers? mas enfim, Leia os tutoriais.
|
Tudo bem, lerei claro, eu gosto de aprender, e tenho sede de conhecimento.
Abraзos.
#edit
@PT Claro cara, cada um tem sua forma de fazer as coisas, sу que eu coloquei GetMaxPlayers, e ele falou que era mais lento, sу que baseado em posts e testes feitos por mim, deduzo que GetMaxPlayers em algumas ocasiхes й mais rбpido...
Re: musicar para todos os players -
Dolpin - 17.12.2014
Jonathan Faзa teus prуprios testes.
pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
public OnGameModeInit()
{
new Contador = GetTickCount();
for(new a; a < 10000; a++)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
}
}
printf("[MAX_PLAYERS]: Vezes 10000 || Tempo: %d ms", (GetTickCount() - Contador));
new ContadorB = GetTickCount();
for(new b; b < 10000; b++)
{
for(new f = 0, j = GetMaxPlayers(); f < j; f++)
{
}
}
printf("[GetMaxPlayers]: Vezes 10000 || Tempo: %d ms", (GetTickCount() - ContadorB));
return 1;
}
public OnGameModeExit()
{
return 1;
}
192 MS - MAX PLAYERS
26 MS - GetMaxPlayers
Teste e comprove.
Sу lembrando Jonathan aquele tуpico й de 2011 a 3 Anos atrбs.
Re: musicar para todos os players -
chefaoBR - 17.12.2014
#edit
aa e desculpa , pala aba projeto , era pra ser ajuda.
Re: musicar para todos os players -
PT - 17.12.2014
Quote:
Originally Posted by Dolpin
Jonathan Faзa teus prуprios testes.
pawn Код:
// This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT
#include <a_samp>
public OnGameModeInit() { new Contador = GetTickCount(); for(new a; a < 10000; a++) { for(new i = 0; i < MAX_PLAYERS; i++) {
} } printf("[MAX_PLAYERS]: Vezes 10000 || Tempo: %d ms", (GetTickCount() - Contador)); new ContadorB = GetTickCount(); for(new b; b < 10000; b++) { for(new f = 0, j = GetMaxPlayers(); f < j; f++) { } } printf("[GetMaxPlayers]: Vezes 10000 || Tempo: %d ms", (GetTickCount() - ContadorB)); return 1; }
public OnGameModeExit() { return 1; }
192 MS - MAX PLAYERS
26 MS - GetMaxPlayers
Teste e comprove.
Sу lembrando Jonathan aquele tуpico й de 2011 a 3 Anos atrбs.
|
Ta a testar com quantos slots
se forem 50 faзa dps da include a_samp
pawn Код:
#undef MAX_PLAYERS
#define MAX_PLAYERS 50
porque fazer uma comparacao que o GetMaxPlayers se tiver a usar como valor 50 slot e o MAX_PLAYERS 500 e normal ter esses valores.
Quote:
Originally Posted by Dolpin
aquele tуpico й de 2011 a 3 Anos atrбs.
|
ja a 3 anos que o povo continua a insistir com coisas erradas. Ve se para de uma vez que voce esta totalmente errado.
Re: musicar para todos os players -
JonathanFeitosa - 17.12.2014
Bota
pawn Код:
#undef MAX_PLAYERS
#define MAX_PLAYERS 50 // Bota o numero de slot
Compare GetMaxPlayers E MaxPlayers com valores iguais.
Vocк quer comparar um com 50 outro com 500.
PT leu minha mente '-'
Код:
[15:28:14] [MAX_PLAYERS]: Vezes 10000 || Tempo: 7 ms
[15:28:14] [GetMaxPlayers]: Vezes 10000 || Tempo: 10 ms
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by PT
Ta a testar com quantos slots
se forem 50 faзa dps da include a_samp
pawn Код:
#undef MAX_PLAYERS #define MAX_PLAYERS 50
porque fazer uma comparacao que o GetMaxPlayers se tiver a usar como valor 50 slot e o MAX_PLAYERS 500 e normal ter esses valores.
ja a 3 anos que o povo continua a insistir com coisas erradas. Ve se para de uma vez que voce esta totalmente errado.
|
Tou a testar com slots defaults, sim depois de #undef e #define pode ser mais rбpidos, sу que isso nгo pode estб incluso, eu quero testar qual funзгo mais rбpida, e nгo quero definir jб uma funзгo.
Faзa os testes, vocк й um alienado, se os Programadores de antigamente estivessem aqui(Os Que sabiam programar) Vocк nгo falaria assim.
Quote:
Originally Posted by JonathanFeitosa
Bota
pawn Код:
#undef MAX_PLAYERS #define MAX_PLAYERS 50 // Bota o numero de slot
Compare GetMaxPlayers E MaxPlayers com valores iguais.
Vocк quer comparar um com 50 outro com 500.
PT leu minha mente '-'
Код:
[15:28:14] [MAX_PLAYERS]: Vezes 10000 || Tempo: 7 ms
[15:28:14] [GetMaxPlayers]: Vezes 10000 || Tempo: 10 ms
|
Vocк й outro alienado, Mas sem o definir? fica como? Prove que estб errado e assuma.
https://sampforum.blast.hk/showthread.php?tid=144744&page=267
Leiam novamente e vк se encaixem alguma coisa.
Re: musicar para todos os players -
PT - 17.12.2014
Quote:
Originally Posted by Dolpin
Tou a testar com slots defaults, sim depois de #undef e #define pode ser mais rбpidos, sу que isso nгo pode estб incluso, eu quero testar qual funзгo mais rбpida, e nгo quero definir jб uma funзгo.
Faзa os testes, vocк й um alienado, se os Programadores de antigamente estivessem aqui(Os Que sabiam programar) Vocк nгo falaria assim.
Vocк й outro alienado, Mas sem o definir? fica como? Prove que estб errado e assuma.
https://sampforum.blast.hk/showthread.php?tid=144744&page=267
Leiam novamente e vк se encaixem alguma coisa.
|
Nao vale apena tentar continuar tentar a crianзas que nao conseguem ver que estao erradas.
As include sscanf2 e foreach por exemplo tambem nao estao incluidas por default porem o povo sabendo que sao melhores vao estudar-las e incluir-las
Re: musicar para todos os players -
Dolpin - 17.12.2014
Quote:
Originally Posted by PT
Nao vale apena tentar continuar tentar a crianзas que nao conseguem ver que estao erradas.
As include sscanf2 e foreach por exemplo tambem nao estao incluidas por default porem o povo sabendo que sao melhores vao estudar-las e incluir-las
|
Jб vejo o tipo de pessoa й vocк, mal carбter e ainda nгo sabe digitar correto o portuguкs.
Me julgando como se me conhece-se nй, porйm sу Deus pode me julgar oque eu sou e oque nгo sou.
PT nгo й a 1° Vez que vejo vocк entrando em discussхes, vocк parece que й teimoso, sу vai nas partes teуricas, tente praticar...
Re: musicar para todos os players -
JonathanFeitosa - 17.12.2014
kkkkkkkk'.
Quem usa MaxPlayers de 500 hoje em dia nos GameMode/FS? Ninguйm usa cara. Aprendemos desde o comeзo o uso de memуria.
Quer que eu te explique porque o MaxPlayers й mais rбpido que GetMaxPlayers e algumas vezes nгo?
MaxPlayers й 500.
Vem definida lб na include do samp, porem nгo й uma
const e sim
define, entгo podemos modificar.
"
MAX_PLAYERS й a mesma coisa que
new a[500];
GetMaxPlayers й a mesma coisa que
new a[NumeroDeSlots];
"
Por que MaxPlayers й mais rбpido usando undef 50( se o slot do servidor for 50) ou qualquer outro igual nъmero ao slot? Pois ele irб ler jб o nъmero de slot obtendo o resultado mais rбpido, ao contrбrio do GetMaxPlayers que irб fazer todo processo para verificar quantos slots tem para obter o resultado.
Por que MaxPlayers й mais lento AS VEZES quando usado sem undef? Pois ele irб ler um loop de 500, ao contrбrio do GetMaxPlayers que irб ler apenas um loop de acordo com o slot. Claro e evidente que se um servidor grande utilizar GetMaxPlayers estб ferrado.
COM OU SEM MAXPLAYERS, SE COLOCARMOS O NЪMERO DIRETO DE SLOTS NO LOOP IRБ SER MAIS RБPIDO.
Vocк usando o MaxPlayers sem undef й a mesma coisa que:
PHP код:
new a[500];
a = "Jonathan";
printf("%s й meu nome.", a);
Ao Invйs de
PHP код:
new a[9];
a = "Jonathan";
printf("%s й meu nome.", a);
Vocк sabe porque o pawno reclama se a gente por [8] mesmo sabendo que o Jonathan tem 8 caracteres? Procure saber um pouco mais de
\0 tambйm.
Enfim da prуxima vez que me chamar de Alienado, que eu nгo sei programar, tente fazer melhor. abraзos