[Pedido] Ganhar Dinheiro
#1

Bom Pedi Ajuda Aki No Forum Com Ganhar Dinheiro Fazendo STUNT
Todos Tentaram Ajudar Mais Nem Deu, e Todos Estavam Certo
Intao Resolvi Pedir Outra Coisa!
Tipo Um Negocio Que Quando A Pessoa Joga 10 Minutos No Servidor Ganha 10 Mil
Alguem Ajuda Por Favor Agradeзo
Reply
#2

No topo:
PHP код:
forward DarGrana(); 
Em OnGameModeInit:
PHP код:
SetTimer("DarGrana",600000,true); 
No final do GM coloca:
PHP код:
public DarGrana()
{   for(new 
i=0i<MAX_PLAYERSi++)
    {
        
GivePlayerMoney(i,10000);
    }
    
SendClientMessageToAll(-1,"Todos jogadores do servidor ganharam 10k");

Reply
#3

PHP код:
public OnPlayerConnect(playerid)
{
    
SetTimerEx("GiveMoney",1000*60*10,true,"i",playerid);
    return 
true;
}

forward GiveMoney(playerid);
public 
GiveMoney(playerid) return GivePlayerMoney(playerid,10000); 
Reply
#4

O exemplo do Dark.Angel e do feliperch vгo dar dinheiro pra todos, mesmo que eles sу tenham jogado 1 segundo.

Crie uma variбvel que aumente de segundo em segundo.

Ao atingir 10 minutos, ela terб o valor 600, e aн vocк pode dar os $10.000

Ex:
pawn Код:
new TempoOn[MAX_PLAYERS]

forward Segundo();
public Segundo()
{
    for(new i = 0;i<=MAX_PLAYERS;i++)
    {
        if(IsPlayerConnected(i))
        {
            TempoOn[i]++;
            if(TempoOn[i] == 600)
            {    
                TempoOn[i] = 0;
                SendClientMessage(i,-1,"Vocк ganhou R$ 10.000 por passar 10 minutos online.");
                GivePlayerMoney(i, 10000);
            }
        }
    }

    return 1;
}

public OnGameModeInit()
{
    SetTimer("Segundo", 1000, true);

    return 1;
}

public OnPlayerConnect(playerid)
{
    TempoOn[playerid] = 0;
    return 1;
}

Existem outros mйtodos, mas esse й o mais simples.
Se seu servidor possuir sistema de login, substitua o OnPlayerConnect pela funзгo do login.
Reply
#5

Quote:
Originally Posted by DarkPT
Посмотреть сообщение
pawn Код:
CallMoney(playerid);

public OnPlayerConnect(playerid)
   return SetTimerEx("CallMoney", 600000, true, "i", playerid);

public CallMoney(playerid)
{
   new
      nome[MAX_PLAYER_NAME],
      sStr[128];

   SendClientMessage(playerid, -1, "Prйmio: R$10.000");
   format(sStr, sizeof(sStr), "%s ganhou R$10.000 por jogar 10 minutos no servidor (:", nome);
   SendClientMessage(playerid, -1, sStr);
   GivePlayerMoney(playerid, 10000);
   
   return true;
}
Estб faltando uma forward e o GetPlayerName ...

PHP код:
new timer[MAX_PLAYERS];
forward CallMoney(playerid);
public 
OnPlayerConnect(playerid// TIREI AQUELE RETURN, PORQUE SENГO ALGUEM PODE PEGAR DAQUELA FORMA E NГO SABER ADAPTAR PARA O SEU GM
{
    
timer[playerid] = SetTimerEx("CallMoney"600000true"i"playerid);
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason// NГO SEI SE QUANDO O JOGADOR SAI DO SERVIDOR, O TIMER Й PARADO, MAS PARA GARANTIR COLOQUEI ESTA PUBLIC
{
    
KillTimer(timer[playerid]);
    return 
1;
}
public 
CallMoney(playerid)
{
    new 
nome[MAX_PLAYER_NAME], sStr[128];
    
GetPlayerName(playeridnomeMAX_PLAYER_NAME);
    
SendClientMessage(playerid, -1"Prйmio: R$10.000");
    
format(sStrsizeof(sStr), "%s ganhou R$10.000 por jogar 10 minutos no servidor (:"nome);
    
SendClientMessageToAll(0xFFFF00FFsStr); // TROQUEI PARA SENDCLIENTMESSAGETOALL POIS DAQUELA FORMA O SOMENTE O JOGADOR IRIA VER QUE ELE GANHOU 10 000
    
GivePlayerMoney(playerid10000);
    return 
true;

Reply
#6

Fiz um TuT/CoD sobre isso, sу mudar la na minha assinatura...
Reply
#7

Sйrio que nгo precisa da forward ? Nгo sabia. Malz =/
Reply
#8

Se o prуprio pawno avisa a falta do forward, creio eu que deve ser bom usб-lo. Qual a vantagem de nгo usar? Poupar uma linha? Fiquei curioso agora. :P
Reply
#9

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
O exemplo do Dark.Angel e do feliperch vгo dar dinheiro pra todos, mesmo que eles sу tenham jogado 1 segundo.

Crie uma variбvel que aumente de segundo em segundo.

Ao atingir 10 minutos, ela terб o valor 600, e aн vocк pode dar os $10.000

Ex:
pawn Код:
new TempoOn[MAX_PLAYERS]

forward Segundo();
public Segundo()
{
    for(new i = 0;i<=MAX_PLAYERS;i++)
    {
        if(IsPlayerConnected(i))
        {
            TempoOn[i]++;
            if(TempoOn[i] == 600)
            {    
                TempoOn[i] = 0;
                SendClientMessage(i,-1,"Vocк ganhou R$ 10.000 por passar 10 minutos online.");
                GivePlayerMoney(i, 10000);
            }
        }
    }

    return 1;
}

public OnGameModeInit()
{
    SetTimer("Segundo", 1000, true);

    return 1;
}

public OnPlayerConnect(playerid)
{
    TempoOn[playerid] = 0;
    return 1;
}

Existem outros mйtodos, mas esse й o mais simples.
Se seu servidor possuir sistema de login, substitua o OnPlayerConnect pela funзгo do login.
O exemplo do feliperch usa SetTimerEx o que й muito mais rбpido e melhor do que por um loop totalmente a toa para rodar. E o exemplo do feliperch estб certo atй por que й SetTimerEx e nгo SetTimer, presta atenзгo.

pawn Код:
new
    TimerMoney[MAX_PLAYERS];
   
forward GiveMoney(playerid);
public OnPlayerConnect(playerid) return TimerMoney[playerid] = SetTimerEx("GiveMoney",600000,true,"i",playerid);
public GiveMoney(playerid) return GivePlayerMoney(playerid,10000);
public OnPlayerDisconnect(playerid,reason) return KillTimer(TimerMoney[playerid]);
Pode usar, vai funcionar flw.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)