Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
  • 0

resolvido DUVIDA AKI?


br3n01
 Compartilhar

Pergunta

#include "stdafx.h"

 

#define TIME_SORTEIO 10 // Trinta Minutos

#define MAX_GIVEITEM 5 // Quantidade de Itens no Array

 

int TimeSorteio = 0; // Iniciar o TimeSorteio zerado

void Sistemas::GiveItemPerTime()

{

 

for (int client = 0; client < MAX_USER; client++)

{

CUser *user = (CUser*)Functions::getUserFromIndex(client);

CMob *mob = (CMob*)NativeFunctions::getMobFromIndex(client);

 

 

if ((TimeSorteio++ / TIME_SORTEIO) != 10) //acada 60 minutos

return;

 

STRUCT_ITEM ItemFixo[MAX_GIVEITEM] = {

{ 4029, 0, 0, 0, 0, 0, 0 }, // Poeira de Ori

{ 3182, 61, 2, 0, 0, 0, 0 }, // Poeira de Lac

 

{ 4140, 0, 0, 0, 0, 0, 0 }, //Elixir da Coragem

{ 777, 61, 3, 0, 0, 0, 0 }, //Moeda de Prata

 

{ 3314, 0, 0, 0, 0, 0, 0 }, //Caixa de Armas

//{ 473, 0, 0, 0, 0, 0, 0 } //Círculo_Divino_Puro

};

 

typedef struct

{

int Count;

int Player[MAX_USER];

}ContasOnline; // struct do count

 

ContasOnline _On;

memset(&_On, 0, sizeof ContasOnline);

 

for (int i = 0; i < MAX_USER; i++)// loop para ver quantos players tem on

{

if (pUser(i)->Mode != 22) // condição se for diferente de 22

continue;

_On.Player[_On.Count] = i;

_On.Count++; // sempre incrementa +1 em count

}

 

srand(time(NULL) / 5 * (rand() % 500) * 5);//Garante valores realmente aleatorio

 

if (_On.Count != 0)// remove divizao por zero

{

auto Sorteio = rand() % _On.Count, itemAleatorio = rand() % MAX_GIVEITEM;

if (NativeFunctions::putItem(_On.Player[sorteio], &ItemFixo[itemAleatorio]))

NativeFunctions::sendNotice(Functions::stringFormat("O Jogador %s Acobou De Ser Sortiado.", mob->Mob.Name));

//NativeFunctions::sendNotice(Functions::stringFormat("O jogador %s matou o %s e ganhou 2] pontos de honra.", player->Mob.Name, dead->Mob.Name));

 

 

else

NativeFunctions::putItem(_On.Player[sorteio], &ItemFixo[itemAleatorio]);

 

TimeSorteio = 0; // zera o TimeSorteio

return;

}

TimeSorteio = 0; // zera o TimeSorteio

return;

}

}

ESTE CODIGO DE SORTEIO FUNCIONA MAIS QUANDO VAI NO CLIENT NAUM FALA NOME DO JOGADOR QUE FOI SORTEADO ALGUEM ME AJUDA?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.