View Full Version : |Source| Source sistema de sorteio
antoniofr
05/07/2015, 12:34 PM
Var. Receveid: int Received[1000];
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.");
}
}
Velton D.
20/07/2015, 12:35 AM
Sempre bom por um srand(time(NULL)); ... As vezes o rand trava
Maykon
04/01/2016, 01:12 PM
Sempre bom por um srand(time(NULL)); ... As vezes o rand trava
Isso se chama apenas uma vez no load do projeto :)
Genilson23
21/01/2016, 07:07 PM
Como fazer para sortear 2 players sem que haja repetição?
antoniofr
22/01/2016, 08:27 AM
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.
Getulio
22/01/2016, 03:50 PM
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.
caron22
09/06/2016, 08:22 PM
[Only registered and activated users can see links]
([Only registered and activated users can see links])
[Only registered and activated users can see 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();
}
DarkMixMuOnline
23/07/2020, 11:52 AM
Alguém explica melhor de como altera a hora do sorteio e quantidade de premio pfv <3
Maykon
23/07/2020, 12:35 PM
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);
}
}
DarkMixMuOnline
23/07/2020, 03:24 PM
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 ?
Maykon
23/07/2020, 09:12 PM
Sabendo adaptar funciona perfeitamente.
DarkMixMuOnline
01/08/2020, 12:16 PM
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);
}
}
Salve , Mano Maykon , Mano sabe informa Aonde que edita a parte Da hora do Sorteio,Tipo eu queria que rola-se de 1 em 1 hora taligado , teria como da essa força mano , ou se outra pessoa sabe como que coloca a hora do sorteio
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.