[Ajuda] Como faзo pra comprar carro sу se tiver casa?
#1

pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0) {
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 0){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
if(/*dini_Int(file,"Tcasa2")==0*/(GetCasas(playerid) < 1 && dini_Int(filena(playerid),"Vip") == 0) || (GetCasas(playerid) < 3 && dini_Int(filena(playerid),"Vip") > 0)){
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", pname);
OnPlayerCommandText(playerid, "/nascercasa");
dini_IntSet(file, "Tcasa2", dini_Int(file,"Tcasa2")+1);
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
new pickupid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_FloatSet(pname,"CasaX",Float:X);
dini_FloatSet(pname,"CasaY",Float:Y);
dini_FloatSet(pname,"CasaZ",Float:Z);
new string2[256];
format(string2, sizeof(string2), "(CASA) O jogador %s, comprou a casa nъmero '%d'.", pname,c);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
SendClientMessage(playerid, Vermelho, "** Vocк jб possui uma Casa!");
}
} else {
SendClientMessage(playerid, Vermelho, "Vocк nгo tem dinheiro");
}
} else {
SendClientMessage(playerid, Vermelho, "Esta casa nгo estб a venda!");
}
} else {
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}
pawn Код:
if(strcmp(cmdtext,"/comprarcarro", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(dini_Int(filena(playerid),"TCarro1") == 1 && dini_Int(filena(playerid),"TCarro2") == 1 && dini_Int(filena(playerid),"TCarro3") == 1){
SendClientMessage(playerid, Vermelho,"Vocк jб tem 3 carros");
return 1;
}
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string),"/Carros/carro%d.ini", carro);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string,"Id")){
if(dini_Int(string,"TDono") == 1) return SendClientMessage(playerid, Vermelho,"Carro jб tem dono!");
if(GetPlayerGrana(playerid) >= dini_Int(string,"Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(filene(pname),"TCarro1") == 0){
dini_IntSet(filene(pname),"TCarro1",1);
dini_IntSet(filene(pname),"CarroID1",carro);
} else if(dini_Int(filene(pname),"TCarro2") == 0){
dini_IntSet(filene(pname),"TCarro2",1);
dini_IntSet(filene(pname),"CarroID2",carro);
} else if(dini_Int(filene(pname),"TCarro3") == 0){
dini_IntSet(filene(pname),"TCarro3",1);
dini_IntSet(filene(pname),"CarroID3",carro);
}
//format(string2,sizeof(string2),"CarroID%d",dini_Int(filene(pname),"TCarro"));
//dini_IntSet(filene(pname),string2, carro);
dini_IntSet(string,"TDono", 1);
dini_Set(string,"Dono", aname);
SendClientMessage(playerid, Azul,"Parabйns Vocк comprou um carro");
SendClientMessage(playerid, Azul,"Para edita-lo use /meucarro");
GivePlayerGrana(playerid, -dini_Int(string,"Preco"));
new vid;
vid = GetPlayerVehicleID(playerid);
new mot,lu,alar,por,cap,porma,ob;
GetVehicleParamsEx(vid, mot, lu, alar, por, cap, porma, ob);
SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, lu, alar, por, cap, porma, ob);
//TogglePlayerControllable(playerid, 1);
//incar[playerid] = 0;
pmodelid[playerid] = dini_Int(string, "Modelo");
return 1;
} else {
SendClientMessage(playerid, Vermelho,"Vocк nгo tem dinheiro");
return 1;
}
}
}
}
Reply
#2

Provavelmente existem variбveis que armazenam alguma ID da casa quando o jogador a comprou. Й simples, na hora que o jogador vai comprar o carro, faзa uma verificaзгo simples, verificando se ele possui a casa...
Reply
#3

Mano, cria uma variбvel que informa que o player comprou a casa.

Algo parecido com isso, no comando em que ele compra a casa :

Comproucasa =1;

dai quando ele for comprar o carro, vocк verifica se a variбvel da casa tem valor de 1.

se tiver valor de 1, significa que ele comprou a casa.

antгo no comando que ele for comprar o carro :

IF(Comproucasa ==1) return SendClientMessage(playerid, -1, "Vocк nгo pode comprar um carro, primeiro compre tua casa);

nгo entendeu ?

Leia de novo.
Reply
#4

Testa:

pawn Код:
if(strcmp(cmdtext,"/comprarcarro", true) == 0) {
new VehicleID; new string[128];
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new c = 0; c < MAX_CASAS; c++)
{
    format(string, sizeof(string), "/Casas/casa%d.ini", c);
    if(dini_Exists(string))
    {
        if(dini_Int(string, "TDono") == 0) return SendClientMessage(playerid, Vermelho,"Vocк nгo tem casa e por isso nгo pode comprar um carro!!!);
    }
}
if(dini_Int(filena(playerid),"
TCarro1") == 1 && dini_Int(filena(playerid),"TCarro2") == 1 && dini_Int(filena(playerid),"TCarro3") == 1){
SendClientMessage(playerid, Vermelho,"
Vocк jб tem 3 carros");
return 1;
}
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string),"
/Carros/carro%d.ini", carro);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string,"
Id")){
if(dini_Int(string,"
TDono") == 1) return SendClientMessage(playerid, Vermelho,"Carro jб tem dono!");
if(GetPlayerGrana(playerid) >= dini_Int(string,"
Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(dini_Int(filene(pname),"
TCarro1") == 0){
dini_IntSet(filene(pname),"
TCarro1",1);
dini_IntSet(filene(pname),"
CarroID1",carro);
} else if(dini_Int(filene(pname),"
TCarro2") == 0){
dini_IntSet(filene(pname),"
TCarro2",1);
dini_IntSet(filene(pname),"
CarroID2",carro);
} else if(dini_Int(filene(pname),"
TCarro3") == 0){
dini_IntSet(filene(pname),"
TCarro3",1);
dini_IntSet(filene(pname),"
CarroID3",carro);
}
//format(string2,sizeof(string2),"
CarroID%d",dini_Int(filene(pname),"TCarro"));
//dini_IntSet(filene(pname),string2, carro);
dini_IntSet(string,"
TDono", 1);
dini_Set(string,"
Dono", aname);
SendClientMessage(playerid, Azul,"
Parabйns Vocк comprou um carro");
SendClientMessage(playerid, Azul,"
Para edita-lo use /meucarro");
GivePlayerGrana(playerid, -dini_Int(string,"
Preco"));
new vid;
vid = GetPlayerVehicleID(playerid);
new mot,lu,alar,por,cap,porma,ob;
GetVehicleParamsEx(vid, mot, lu, alar, por, cap, porma, ob);
SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, lu, alar, por, cap, porma, ob);
//TogglePlayerControllable(playerid, 1);
//incar[playerid] = 0;
pmodelid[playerid] = dini_Int(string, "
Modelo");
return 1;
} else {
SendClientMessage(playerid, Vermelho,"
Vocк nгo tem dinheiro");
return 1;
}
}
}
}

Ediзгo: Nгo й necessбrio criar nenhuma variбvel a mais. ^^ '-'
Reply
#5

Quote:
Originally Posted by Lucas-Fc
Посмотреть сообщение
Mano, cria uma variбvel que informa que o player comprou a casa.

Algo parecido com isso, no comando em que ele compra a casa :

Comproucasa =1;

dai quando ele for comprar o carro, vocк verifica se a variбvel da casa tem valor de 1.

se tiver valor de 1, significa que ele comprou a casa.

antгo no comando que ele for comprar o carro :

IF(Comproucasa ==1) return SendClientMessage(playerid, -1, "Vocк nгo pode comprar um carro, primeiro compre tua casa);

nгo entendeu ?

Leia de novo.
vlw entendi, vo testar aki dps, + rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)