[AJUDA] Simples Posiзгo'
#1

Olб fуrum samp, estou hoje aqui por uma duvida :/ eu estava tentando criar e disponibilizar um cуdigo simples, uma posiзгo para base de pedбgios, mais nгo obtive sucesso, entгo peзo por favor de coraзгo =/

Eu estava tentando fazer com que quando o player passa-se teria que digitar /pagarpedagio ai ele passava normalmente.

Caso ao contrario, ele passa-se sem pagar, tomava uma multa + 2 estrelas de procurado :/


( LEMBRANDO ) й sу uma posiзгo '-' dai a posiзгo fica no gosto.

Agradeзo de coraзгo desde jб...

Bom carnaval
Reply
#2

Se prefirir um Pedagio mais RPG da uma olhadinha. ↓↓↓↓↓ Assinatura ↓↓↓↓↓
Reply
#3

Jб vi, e й muito complicado para meu tipo :S
Reply
#4

Fiz um bem simples. Agora deixe do seu jeito.
pawn Код:
new PassouPedagio[MAX_PLAYERS];//Topo GM

for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(IsPlayerInRangeOfPoint(i, 10, X, Y, Z) && PassouPedagio[i] == 0)
    {
        SendClientMessage(i, 0xFFFFFFFF, "Pedagio: Digite /pagarpedagio para pagar o pedagio!");
        PassouPedagio[i] = 1;
    }
    else if(!IsPlayerInRangeOfPoint(i, 10, X, Y, Z) && PassouPedagio[i] == 1)
    {
        new LvlProcura = GetPlayerWantedLevel(i);
        SetPlayerWantedLevel(i, LvlProcura+2);
        GivePlayerMoney(i, -500);
        SendClientMessage(i, 0xFF0000FF, "Vocк passou no pedagio sem pagar e foi multado em R$ 500,00!");
        PassouPedagio[i] = 0;
    }
}

if(strcmp(cmdtext, "/pagarpedagio", true) == 0)
{
    if(IsPlayerInRangeOfPoint(playerid, 5, X, Y, Z))
    {
        SendClientMessage(playerid, 0x00FF00FF, "Vocк pagou o pedagio! Boa Viagem");
        GivePlayerMoney(playerid, -100);
        PassouPedagio[playerid] = 0;
    }
    return 1;
 }
Reply
#5

no meu gm pro terra tinha isso e era bem eficiente. o pedagio ficava aberto ate o cara sair da cabine. mas eu perdi o gm.
Reply
#6

O meu FS faz isso tbm abre a cancela dps q o jogador sai de perto da cabine fecha.
Reply
#7

Eu jб havia feito um б algum tempo atrбz, tai se precisar.

pawn Код:
new bool:PagarP[MAX_PLAYERS];
new bool:p[MAX_PLAYERS];

public OnGameModeInit(){
    SetTimer("CheckPedagio", 1000, true);
    return true;
}

//no cmd pagarpedagio
if(!IsPlayerInRangeOfPoint(playerid, 10 , x, y, z))
    return false;
PagarP[playerid] = true;


forward CheckPedagio();
public CheckPedagio() {
    for(new i = 0; i < GetMaxPlayers(); i++) {
        if(GetPlayerState(i) == PLAYER_STATE_DRIVER) {
            if(IsPlayerInRangeOfPoint(i, 10 , x , y , z) && p[i] == false) {
                p[i] = true;
                TogglePlayerControllable(i, false);
                SendClientMessage(i,-1,"Vocк tem 5 segundos para pagar o pedagio, /pagarpedagio");
                SetTimerEx("pPedagio", 5000, false, "i", i);
                PagarP[i] = false;
            }
        }
    }
    return true;
}

forward pPedagio(i);
public pPedagio(i)
{
    if(PagarP[i] == true) {
        SendClientMessage(i,-1,"Vocк pagou o pedagio, boa viagem");
        p[i] = false;
        TogglePlayerControllable(i, true);
    }
    else {
        p[i] = false;
        SetPlayerWantedLevel(i, GetPlayerWantedLevel(i) +2);
        //GivePlayerMoney(i,-500);
        SendClientMessage(i,-1,"Vocк passou sem pagar o pedagio, recebeu uma multa e agora estб sendo caзado pela policia local");
    }
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)