[Release/Help] Sisteminha de aluguel de carros -
victor_h666 - 31.12.2010
Comeзei a codar faz um tempinho e fiz um sisteminha rachando a cuca aqui, dкem uma olhada...
pawn Код:
// Carros aluguel
AddStaticVehicleEx(492,1560.06860352,-2322.08666992,13.45465469,90.00000000,6,6,15); //Greenwood
AddStaticVehicleEx(492,1559.94238281,-2325.27368164,13.45465469,92.00000000,6,6,15); //Greenwood
AddStaticVehicleEx(492,1560.14392090,-2328.51708984,13.45465469,91.99951172,6,6,15); //Greenwood
AddStaticVehicleEx(492,1560.04870605,-2331.82861328,13.45465469,91.99951172,6,6,15); //Greenwood
AddStaticVehicleEx(462,1549.34875488,-2361.13964844,13.22487450,0.00000000,6,6,15); //Faggio
AddStaticVehicleEx(462,1552.59863281,-2361.06982422,13.22487450,0.00000000,6,6,15); //Faggio
AddStaticVehicleEx(462,1556.34863281,-2360.98876953,13.22487450,0.00000000,6,6,15); //Faggio
AddStaticVehicleEx(462,1546.09863281,-2361.20849609,13.22487450,0.00000000,6,6,15); //Faggio
AddStaticVehicleEx(462,1543.09863281,-2361.27246094,13.22487450,0.00000000,6,6,15); //Faggio
AddStaticVehicleEx(462,1539.34863281,-2361.35302734,13.22487450,0.00000000,6,6,15); //Faggio
SetVehicleParamsEx(1, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(2, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(3, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(4, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(5, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(6, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(7, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(8, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(9, 0, 0, 0, 0, 0, 0, 0);
SetVehicleParamsEx(10, 0, 0, 0, 0, 0, 0, 0);
OnPlayerCommand blablabla
pawn Код:
if (strcmp("/alugarveiculo", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerMoney(playerid) < 1500)
{
SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode alugar este {FFCC00}veiculo{FFFFFF}, pois nгo tem {00CC00}R${FFFFFF}1.500");
}
else
{
if(IsPlayerInVehicle(playerid, 1))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(1, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 2))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(2, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 3))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(3, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 4))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(4, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 5))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(5, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 6))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(6, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 7))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(7, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 8))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(8, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 9))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(9, 1, 0, 0, 0, 0, 0, 0);
}
else if(IsPlayerInVehicle(playerid, 10))
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
SetVehicleParamsEx(10, 1, 0, 0, 0, 0, 0, 0);
}
else return SendClientMessage(playerid, COR_BRANCO, "Vocк precisa estar em um {FFCC00}veiculo de aluguel{FFFFFF}!");
}
return 1;
}
else return SendClientMessage(playerid, COR_BRANCO, "Vocк precisa estar em um {FFCC00}veiculo de aluguel{FFFFFF}!");
}
onplayerentervehicle
pawn Код:
if(vehicleid <= 10)
{
SendClientMessage(playerid, COR_BRANCO, "Se deseja alugar este veiculo, digite {FFCC00}/alugarveiculo");
SendClientMessage(playerid, COR_BRANCO, "- O preзo do aluguel й {00CC00}R${FFFFFF}1.500");
return 1;
}
Entгo, como eu faria para fazer o carro meu enquanto extб no aluguel? Pro cara dar /lock e /engine?
Teria que usar strings ou algo do genero? Alguйm pode me explicar?
Re: [Release/Help] Sisteminha de aluguel de carros -
bugvip - 31.12.2010
@@ sorry o double
Re: [Release/Help] Sisteminha de aluguel de carros -
bugvip - 31.12.2010
Creio que esteja correto....
pawn Код:
//topo
new caralu[11];
new jalugou[MAX_PLAYERS];
//on game mode init
caralu[0] = AddStaticVehicleEx(492,1560.06860352,-2322.08666992,13.45465469,90.00000000,6,6,15); //Greenwood
caralu[1] = AddStaticVehicleEx(492,1559.94238281,-2325.27368164,13.45465469,92.00000000,6,6,15); //Greenwood
caralu[2] = AddStaticVehicleEx(492,1560.14392090,-2328.51708984,13.45465469,91.99951172,6,6,15); //Greenwood
caralu[3] = AddStaticVehicleEx(492,1560.04870605,-2331.82861328,13.45465469,91.99951172,6,6,15); //Greenwood
caralu[4] = AddStaticVehicleEx(462,1549.34875488,-2361.13964844,13.22487450,0.00000000,6,6,15); //Faggio
caralu[5] = AddStaticVehicleEx(462,1552.59863281,-2361.06982422,13.22487450,0.00000000,6,6,15); //Faggio
caralu[6] = AddStaticVehicleEx(462,1556.34863281,-2360.98876953,13.22487450,0.00000000,6,6,15); //Faggio
caralu[7] = AddStaticVehicleEx(462,1546.09863281,-2361.20849609,13.22487450,0.00000000,6,6,15); //Faggio
caralu[8] = AddStaticVehicleEx(462,1543.09863281,-2361.27246094,13.22487450,0.00000000,6,6,15); //Faggio
caralu[9] = AddStaticVehicleEx(462,1539.34863281,-2361.35302734,13.22487450,0.00000000,6,6,15); //Faggio
//on player connect
jalugou[playerid] = 0;
//on player command text
if(strcmp("/alugarveiculo", cmdtext, true, 10) == 0)
{
for(new x = 0; x < 11; x ++)
{
if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 0) // se ele tive em um dos 11 carros criados...
{
if(GetPlayerMoney(playerid) < 1500)
{
SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode alugar este {FFCC00}veiculo{FFFFFF}, pois nгo tem {00CC00}R${FFFFFF}1.500");
}
else
{
GivePlayerMoney(playerid, -1500);
SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
jalugou[playerid] = 1;
}
}
else
{
SendClientMessage(playerid, COR_BRANCO, "Voce jб alugou um veiculo ou nao esta em um veiculo de aluguel.");
}
}
return 1;
}
if(strcmp(cmdtext, "/lock", true)==0)
{
for(new x = 0; x < 11; x ++)
{
if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 1)
{
new State=GetPlayerState(playerid);
if(State != PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,COR_BRANCO,"Vocк sу pode trancar um veiculo que voce й motorista.");
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(i != playerid)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
SendClientMessage(playerid, COR_BRANCO, "Veiculo Trancado");
}
else
{
SendClientMessage(playerid, COR_BRANCO, "Voce nao esta em um veiculo de aluguel ou nao alugou este veiculo.");
}
}
return 1;
}
if(strcmp(cmdtext, "/unlock", true)==0)
{
for(new x = 0; x < 11; x ++)
{
if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 1)
{
new State2=GetPlayerState(playerid);
if(State2 != PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,COR_BRANCO,"Vocк sу pode destrancar um veiculo que voce й motorista.");
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(i != playerid)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
}
}
SendClientMessage(playerid, COR_BRANCO, "Veiculo Destrancado");
}
else
{
SendClientMessage(playerid, COR_BRANCO, "Voce nao esta em um veiculo de aluguel ou nao alugou este veiculo.");
}
}
return 1;
}
//on player enter vehicle
for(new x = 0; x < 11; x ++)
{
if(IsPlayerInVehicle(playerid, caralu[x]))
{
if(jalugou[playerid] == 1)
{
TogglePlayerControllable(playerid, 1);
}
else if(jalugou[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
GameTextForPlayer(playerid, "~g~/alugarveiculo ~p~para ~r~alugar ~b~esse ~y~veiculo", 6000, 6);
}
}
}
Resposta -
Cнєsρıяıтσ ѓгη - 31.12.2010
O geito mais fбcil seria criar uma forward e definir uma callback com os veнculos de aluguel!
Re: [Release/Help] Sisteminha de aluguel de carros -
bugvip - 31.12.2010
sу adaptar o que eu postei ali em cima....