[Projeto] musicar para todos os players
#1

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.
Reply
#2

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;
}
Reply
#3

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.
Reply
#4

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;
}
Reply
#5

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
Reply
#6

Quote:
Originally Posted by Dolpin
Посмотреть сообщение
Falei de velocidade e nгo de memуria. Sу ler os comentбrios do mesmo tуpico.
Reply
#7

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...
Reply
#8

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)
Reply
#9

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.
Reply
#10

#edit

https://sampforum.blast.hk/showthread.php?tid=208427

Mais prбtico.
Reply
#11

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.
Reply
#12

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...
Reply
#13

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.
Reply
#14

#edit
aa e desculpa , pala aba projeto , era pra ser ajuda.
Reply
#15

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.
Reply
#16

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
Reply
#17

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.
Reply
#18

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
Reply
#19

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...
Reply
#20

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];
"Jonathan";
printf("%s й meu nome."a); 
Ao Invйs de
PHP код:
new a[9];
"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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)