Page 1 of 2 12 ÚltimoÚltimo
Resultados 1 a 10 de 12
  1. #1
    Developer C++ antoniofr's Avatar
    Data de Ingresso
    Feb 2015
    Posts
    28
    Thanks Thanks Given 
    16
    Thanks Thanks Received 
    16
    Thanked in
    1 Post
    Mencionado
    13 Post(s)
    MEU HUMOR
    Cold
    País
    Brazil

    Source sistema de sorteio

    Var. Receveid: int Received[1000];

    Código:
    void pSorteio::Random()
    	{
    		int Sec = 0;
    
    		for(int i = 4800; i < 5600; i++)
    		{
    			if(lpObj[i].Connected >= 3)
    			{
    				Sorteio.Received[Sec++] = i; // Gera a lista de players online
    			}
    		}
    
    		if(Sec > 0)
    		{
    			int Index = rand() % Sec; // Faz o sorteio
    			int Target = Sorteio.Received[Index];
    
    			MsgSystem::OutMSG_All("#  %s foi sorteado com 3 eventgold  #",lpObj[Target].Name,Target); // Envia a msg para o jogo.
    
    			// Envia uma msg avisando o player
    			MsgSystem::Leftblue(Target,"Você foi sorteado com 3 eventgold.");
    		}
    	}
    Last edited by antoniofr; 05/07/2015 at 03:46 PM.

  2. #2
    Membro Velton D.'s Avatar
    Data de Ingresso
    Feb 2015
    Posts
    35
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    1 Post
    Mencionado
    17 Post(s)
    MEU HUMOR
    Sleepy
    Sempre bom por um srand(time(NULL)); ... As vezes o rand trava

  3. #3
    Developer C++ Maykon's Avatar
    Data de Ingresso
    Jan 2015
    Posts
    213
    Thanks Thanks Given 
    192
    Thanks Thanks Received 
    629
    Thanked in
    40 Posts
    Mencionado
    64 Post(s)
    MEU HUMOR
    Innocent
    Citação Originally Posted by Velton D. Ver Post
    Sempre bom por um srand(time(NULL)); ... As vezes o rand trava
    Isso se chama apenas uma vez no load do projeto

  4. #4
    Iniciante Genilson23's Avatar
    Data de Ingresso
    Jan 2016
    Posts
    1
    Thanks Thanks Given 
    20
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    Como fazer para sortear 2 players sem que haja repetição?

  5. #5
    Developer C++ antoniofr's Avatar
    Data de Ingresso
    Feb 2015
    Posts
    28
    Thanks Thanks Given 
    16
    Thanks Thanks Received 
    16
    Thanked in
    1 Post
    Mencionado
    13 Post(s)
    MEU HUMOR
    Cold
    País
    Brazil
    Citação Originally Posted by Maykon Ver Post
    Isso se chama apenas uma vez no load do projeto
    Parceiro, deveria estudar mais um pouco a lógica né.

    E sobre o rand, não vai ter nenhum problema de travamento neste código, já que ele gera 1 numero aleatório em um determinado intervalo que é a index do player.

  6. #6
    Banido Getulio's Avatar
    Data de Ingresso
    Aug 2015
    Posts
    1
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    2 Post(s)
    MEU HUMOR
    Paranoid
    Citação Originally Posted by antoniofr Ver Post
    Parceiro, deveria estudar mais um pouco a lógica né.

    E sobre o rand, não vai ter nenhum problema de travamento neste código, já que ele gera 1 numero aleatório em um determinado intervalo que é a index do player.
    E você devia estudar a função, porque me parece que de lógica você tem conhecimento de sobra, só não usa.
    []'s.

  7. #7
    Developer C++ caron22's Avatar
    Data de Ingresso
    Feb 2016
    Posts
    26
    Thanks Thanks Given 
    5
    Thanks Thanks Received 
    98
    Thanked in
    7 Posts
    Mencionado
    3 Post(s)
    [Somente membros podem ver os links. ]

    [Somente membros podem ver os links. ]
    Hola, me podras ayudar con este error?

    Solucionado:

    .h
    namespace Scape
    {
    struct pSorteio1
    {
    int Received[20];
    };


    class pSorteio
    {
    public:
    static void pSorteio::Randoms();
    static bool ReadyNewsSettingss();
    static void ThreadNewss(void * lpParam);

    };

    extern pSorteio1 Sorteio;

    }

    ---------------------------------------------------
    .cpp

    namespace Scape
    {
    pSorteio1 Sorteio;
    void pSorteio::Randoms()
    {
    int Sec = 0;
    DWORD Received;
    for (int i = 4800; i < 5600; i++)
    {
    if (lpObj[i].Connected >= 3)
    {
    Sorteio.Received[Sec++] = i; // Gera a lista de players online
    }
    }

    if (Sec > 0)
    {
    int Index = rand() % Sec; // Faz o sorteio
    int Target = Sorteio.Received[Index];

    MsgSystem::OutMSG_All("[%s] Fue ganador del sorteo, el proximo seras tu?", lpObj[Target].Name, Target); // Envia a msg para o jogo.
    // Envia uma msg avisando o player
    MsgSystem::Leftblue(Target, "Ganaste 1 Creatios y una caja Jundum");
    ItemSerialCreateSend(Target, lpObj[Target].MapNumber, lpObj[Target].X, lpObj[Target].Y, ITEMGET(14, 22), 0, 0, 0, 0, 0, -1, 0);//creations
    ItemSerialCreateSend(Target, lpObj[Target].MapNumber, lpObj[Target].X +1, lpObj[Target].Y, ITEMGET(14, 11), 12, 0, 0, 0, 0, -1, 0);//box kundum +5
    Functions::Firework(Target);

    LogSystem::MsgLogsgm(Target, "Fue ganador del sorteo, el proximo seras tu?");
    }
    }




    bool pSorteio::ReadyNewsSettingss()
    {


    _beginthread(&pSorteio::ThreadNewss, 0, 0);

    return true;
    }

    void pSorteio::ThreadNewss(void * lpParam)
    {
    FILE *fp;

    fp = fopen(Dir_News, "r");

    if (!fp)
    {
    MessageBox(NULL, "News.ini not found", "Error", MB_OK);
    ::ExitProcess(0);
    }
    fclose(fp);
    Sleep(4*60000);//cambias

    while (true)
    {
    pSorteio::Randoms();
    Sleep(60*60000);//cambniar

    }
    _endthread();
    }
    Miniaturas Anexadas Miniaturas Anexadas Screenshot_4.jpg   Screenshot_5.jpg  
    Last edited by caron22; 10/06/2016 at 03:10 PM.

  8. #8
    Membro DarkMixMuOnline's Avatar
    Data de Ingresso
    Dec 2018
    Posts
    252
    Thanks Thanks Given 
    150
    Thanks Thanks Received 
    325
    Thanked in
    37 Posts
    Mencionado
    5 Post(s)
    País
    Brazil
    Alguém explica melhor de como altera a hora do sorteio e quantidade de premio pfv <3

  9. #9
    Developer C++ Maykon's Avatar
    Data de Ingresso
    Jan 2015
    Posts
    213
    Thanks Thanks Given 
    192
    Thanks Thanks Received 
    629
    Thanked in
    40 Posts
    Mencionado
    64 Post(s)
    MEU HUMOR
    Innocent
    Código:
    void pSorteio::Random()
    {
    	int Sec = 0; // Inicia a variável como 0.
    
    	for (int i = 4800; i < 5600; i++) // Loop jogadores.
    	{
    		if(lpObj[i].Connected >= 3) // Verificar os jogadores conectados.
    		{
    			Sorteio.Received[Sec++] = i; // Gera a lista de players online.
    		}
    	}
    
    	if (Sec > 0) // Se a lista de jogadores for maior que 0 entra no if.
    	{
    		int Index = rand() % Sec; // Faz o sorteio.
    		int Target = Sorteio.Received[Index]; // Pega o jogador sorteado.
    
    		MsgSystem::OutMSG_All("#  %s foi sorteado com 3 eventgold  #", lpObj[Target].Name,Target); // Envia a msg para o jogo.
    
    		// Envia uma msg avisando o player
    
    		MsgSystem::Leftblue(Target,"Você foi sorteado com 3 eventgold.");
    
                    // Exemplo de como adicionar o bônus:
    
                    Manager.ExecFormat("UPDATE MEMB_INFO SET eventgold = eventgold + 10 WHERE memb___id = '%s'", lpObj[Target].AccountID);
    	}
    }

  10. #10
    Membro DarkMixMuOnline's Avatar
    Data de Ingresso
    Dec 2018
    Posts
    252
    Thanks Thanks Given 
    150
    Thanks Thanks Received 
    325
    Thanked in
    37 Posts
    Mencionado
    5 Post(s)
    País
    Brazil
    Citação Originally Posted by Maykon Ver Post
    Código:
    void pSorteio::Random()
    {
        int Sec = 0; // Inicia a variável como 0.
    
        for (int i = 4800; i < 5600; i++) // Loop jogadores.
        {
            if(lpObj[i].Connected >= 3) // Verificar os jogadores conectados.
            {
                Sorteio.Received[Sec++] = i; // Gera a lista de players online.
            }
        }
    
        if (Sec > 0) // Se a lista de jogadores for maior que 0 entra no if.
        {
            int Index = rand() % Sec; // Faz o sorteio.
            int Target = Sorteio.Received[Index]; // Pega o jogador sorteado.
    
            MsgSystem::OutMSG_All("#  %s foi sorteado com 3 eventgold  #", lpObj[Target].Name,Target); // Envia a msg para o jogo.
    
            // Envia uma msg avisando o player
    
            MsgSystem::Leftblue(Target,"Você foi sorteado com 3 eventgold.");
    
                    // Exemplo de como adicionar o bônus:
    
                    Manager.ExecFormat("UPDATE MEMB_INFO SET eventgold = eventgold + 10 WHERE memb___id = '%s'", lpObj[Target].AccountID);
        }
    }
    Obrigado Maykon vlws, Se adiciona Ela nessa source que tu libero do stark , será que vai da algum problema ?

Page 1 of 2 12 ÚltimoÚltimo

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais