[Ajuda] Sistema de Roubo
#1

Entгo galera, tudo bem?

Coloquei essa FS no meu GameMod й um sistema de roubo de banco, entгo tipo eu coloquei dentro de um lugar para praticar o roubo, enquanto vocк estб roubando nгo da para sair do lugar (eu coloquei para nгo sair do lugar), quando der 60 segundos vocк jб pode sair do banco, eu quero colocar pra sу depois de 10 minutos poder roubar denovo o banco.

FS: http://pastebin.com/3Te2RfVb

Obs: Eu quero deixar 60 segundos para concluir o roubo e 10 minutos para roubar novamente.
Reply
#2

Criei uma variбvel exemplo
pawn Код:
new naoroubar;
forward AcabarRoubar();
// quando ele acaba de roubar coloque assim:

naoroubar = 1;
SetTimer("AcabarRoubar", 60000*10, false);

// pъblic

public AcabarRoubar()
{
naoroubar = 0;
return 1;
}

// para verificar
If(naoroubar != 0) return 1; // nao faz.
Algo do gйnero disto, estude as funзхes que usei...
Reply
#3

Quote:
Originally Posted by VeNuZ_
Посмотреть сообщение
Criei uma variбvel exemplo
pawn Код:
new naoroubar;
forward AcabarRoubar();
// quando ele acaba de roubar coloque assim:

naoroubar = 1;
SetTimer("AcabarRoubar", 60000*10, false);

// pъblic

public AcabarRoubar()
{
naoroubar = 0;
return 1;
}

// para verificar
If(naoroubar != 0) return 1; // nao faz.
Algo do gйnero disto, estude as funзхes que usei...
Sу pra complementar, Lembre-se do uso de vetores quando se trata de players individuais.
Cada um tem seu ID(playerid), entгo usamos uma variбvel para cada jogador possivelmente conectado no servidor com um vetor.
pawn Код:
new vector[MAX_PLAYERS];

Abraзos...
Reply
#4

Nao porque eu acho que ele quer paro todos os players, acho que й para deixar o banco "recoperar"
Reply
#5

Tipo para completar o roubo jб tinha 60 segundos para completar, eu quero й para todos que tentarem roubar o banco, sу depois de 10 minutos consegui, entendeu?
Reply
#6

Vamos ver se entendi,
Um Player vai roubar o banco e tem sucesso, os outros so podem ir roubar o banco 10 minutos depois.
Й isto ?
Se for o cуdigo em cima serve.
Reply
#7

VOU TESTAR
Reply
#8

No filterscript que vocк esta utilizando, jб tem uma definiзгo para o tempo.
Basta trocar trocar o valor 1 por 10:
pawn Код:
#define TempoRoubo        10         // Tempo em minutos para esperar o roubo ser concluнdo




Use uma flag simples, deixo um exemplo abaixo, para que vocк veja como й simples.

pawn Код:
// Definimos uma variбvel do tipo 'booliano' para cada player possivelmente connectado.
// Nossa variбvel tem uma regra sobre seu tipo, nela usamos o 'char' para economizar espaзo/tempo e ganharmos otimizaзгo.
// PS: A regra do 'char' em pawn nos permite que o valor seja entre 0 a 255 (0-255). Jб que й somente uma 'bandeira de aviso' й nossa melhor opзгo.

// Topo do script
new bool:pThisStealing[MAX_PLAYERS char] = {false,...};

forward EsperarTempo(playerid);

// Quando comeзa o evento "roubo"
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
    if(newkeys == TECLA_PARA_FURTAR){

        if(pThisStealing{playerid} == true) //Se ele jб estiver a furtar algo.
            return false; // Simplesmente paramos a Callback neste ponto.

        // Iniciamos um timer de 10 minutos, para liberar o roubo. (A hora que ele pode fugir)
        SetTimerEx("EsperarTempo", 60000*10, false, "d", playerid);
        // Ativamos um flag.
        pThisStealing{playerid} = true;

    }

    return 1;
}


public EsperarTempo(playerid)
    pThisStealing{playerid} = false;
Duvidas, sу perguntar e lembre-se de treinar com um script sobre variбveis.

Reply
#9

Nem precisa mas Schocc, a sua primeira resposta jб pegou, ve meu outro tуpico agora ae diboa.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)