[DUV] Estacionar e Pagar
#1

Boa Tarde!

Queria saber como fazer um estilo de estacionamento assim: Vocк chega com seu carro, estaciona, e paga. Vocк tem x minutos para retornar ao seu carro se nгo leva multa ou fica com rank de procurado. Quando estaciona, aparece uma global mensage dizendo que vocк pagou, e quando sai dizendo que saiu. Quando esquece o carro, fala que esqueceu.
Alguem sabe algum script pra mim estudar para criar isso? valeu galerA!
Reply
#2

isso demora algum tempo, a base й:

pawn Код:
new carid = GetPlayerVehicleID(playerid);

forward Tempo(playerid);

SetTimer (vк wiki: [url=http://wiki.sa-mp.com/wiki/SetTimer]https://sampwiki.blast.hk/wiki/SetTimer[/url] )

OnPlayerEnterVehicle --> [url=http://wiki.sa-mp.com/wiki/OnPlayerEnterVehicle]https://sampwiki.blast.hk/wiki/OnPlayerEnterVehicle[/url]

GivePlayerMoney(playerid,-100);

new coiso[MAX_PLAYERS]

penso que nгo irбs prescisar de mais nada.... Nгo tenho a certeza, pelo menos agr n me ocorre mais nada nescessбrio
Reply
#3

Valeu Andmeida10 !!
Reply
#4

new carid = GetPlayerVehicleID(playerid);

forward Tempo(playerid);

SetTimer ("message",100000,false )

OnPlayerEnterVehicle --> []

GivePlayerMoney(playerid,-100);

new coiso[MAX_PLAYERS]


Essa parte daki eu nгo entendi '-'
Oque eu boto em OnPlayerEnterVehicle ?

//public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[128];
format(string, sizeof(string), "You are entering vehicle %i",vehicleid);
SendClientMessage(playerid, 0xFFFFFFFF, string);
return 1;
}


E como que eu boto comando pro personagem deixar o carro "no estacionamento" ?
Reply
#5

Cara Isso que tu pediste йs complexo demais mesmo assim eu sei como fazer olha:
vou lhe dar os passos agora nгo estou com 'saco' as explicar:


Topo GM:
pawn Код:
new CARRODOGAY:
forward CARRODOGAY();
forward CARRODOGAYTEMPO();
OnGameModeInit:
pawn Код:
new CARRODOGAY = CreateVehicle(520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 60);
OnPlayerExitVehicle:
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == CARRODOGAY)
{
new TEMPODOCARROGAY;
TEMPODOCARROGAY = SetTimerEx("CARRODOGAY",1000,false,"ii",playerid,id);
}
return 1;
}
Entгo:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(GetVehicleModel(vehicleid) == CARRODOGAY)
{
KillTimer(TEMPODOCARROGAY);
}
return 1;
}
Entгo Aqui a Public
pawn Код:
public CARRODOGAY();
{
for (new i = 0; i < 3; i++)//AQUI TA ERRADO EU NAUM LEMBRO A FUNЗГO DICOR
{
GivePlayerMoney(i,-100);
}
return 1;
}
Espero Ter lhe Ajudado Bjuus


Nгo Sei Se Estar Certo Apenas Estou lhe dando uma leve ajudado agora vou durmir fuii

Reply
#6

tambйm tens desse modo.. Existem muitas maneiras de fazer uma coisa...
Reply
#7

Bom, irei tentar fazer algo simples entгo. Vo tentar fazer assim (teoria):

Quando o Jogador estacionar nas cordenadas X, Y, Z, aparece a mensagem para ele pagar. Ele tem 1 minuto (ou menos) para pagar. Quando ele pagar, irб aparecer na mensagem para os ATP (no meu gm, autoridade em transporte pъblico): Fulano [ID: %s] pagou o estacionamento. Tem 10 minutos para deixar o carro estacionado.
Quando passar o tempo, anuncia para os ATP : O tempo do Fulano [ID: %s] expirou, vб atй o local do carro ou aonde ele estб, e emita imediatamente uma multa!

Bom, irei tentar fazer do jeito q falei acima. ^^
Reply
#8

tenta.... mas duvido que, como tu queres... dк
Reply
#9

Quote:
Originally Posted by andmeida10
tenta.... mas duvido que, como tu queres... dк
Dб perfeitamente para fazer, mas dб trabalhooooooo!
Reply
#10

Vocк nгo acha que esta pedindo demais? mesmo assim como sou uma pessoa boa que gosta de ajudar e dar para os outros vou te ajudar com essa base:
Topo GM:
pawn Код:
forward VERIFICARCARROMACHO();
OnPlayerExitVehicle:
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid, ispassenger)
{
if(IsPlayerInArea(playerid, Xmin, Ymin, Xmax, Ymax))//COLOCAR POS
{
new VERIFICARCARROMACHO;
VERIFICARCARROMACHO = SetTimerEx("VERIFICARCARROMACHO",60000,false,"ii",playerid,id);//SE TIVE NA AREA COMECA O TIMER
}
return 1;
}
Entгo:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
KillTimer(VERIFICARCARROMACHO);
return 1;
}
Entгo Aqui a Public
pawn Код:
public VERIFICARCARROMACHO();
{
for (new i = 0; i < 3; i++)//AQUI TA ERRADO EU NAUM LEMBRO A FUNЗГO DICOR
{
GivePlayerMoney(i,-100);
}
return 1;
}
FINAL GM:
pawn Код:
stock PlayerInArea(playerid, Float:Xmin, Float:Ymin, Float:Xmax, Float:Ymax)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(x <= Xmin && y <= Ymin && x >= Xmax && y >= Ymax) return 1;
return false;
}
Espero Ter lhe Ajudado Bjuus

60000 -> Tempo xD
Lembrando que Pode substituir IsPlayerInArea por PlayerToPoint
Sу que PlayerTopoint й quando se estas a um check point!
Nгo Sei Se Estar Certo Apenas Estou lhe dando uma leve ajudado agora vou durmir fuii
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)