SA-MP Forums Archive
[Ajuda] Bug - Roubo de Carros ajuda! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Bug - Roubo de Carros ajuda! (/showthread.php?tid=367190)



Bug - Roubo de Carros ajuda! - MatheusNunes - 09.08.2012

Galera й o seguinte no meu server estб tendo um bug de comprar um veiculo por cima do outro, exemplo: Eu compro um carro, dai alguйm pode comprar ele entrando nele e digitando /comprarveiculo abaixo segue o comando:
pawn Код:
if(strcmp(cmdtext, "/comprarveiculo", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string), "carro%d.ini", carro);
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк jб tem um carro");
return 1;
}
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string, "Id")){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", aname);
SendClientMessage(playerid, Azul, "(INFO) Veiculo comprado com sucesso!");
SendClientMessage(playerid, Azul, "(INFO) Para ver os comandos do veiculo, use: /meuveiculo");
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
TogglePlayerControllable(playerid, 1);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro suficiente!");
return 1;
}
}
}
}



Respuesta: Bug - Roubo de Carros ajuda! - AnonymouSs - 09.08.2012

Vc tem que fazer a checagem se o carro que o cara ta tentando comprar jб tem dono ou nгo, ou tbm pode checar se o veiculo й o da concessionбria.


Re: Respuesta: Bug - Roubo de Carros ajuda! - MatheusNunes - 09.08.2012

Quote:
Originally Posted by AnonymouSs
Посмотреть сообщение
Vc tem que fazer a checagem se o carro que o cara ta tentando comprar jб tem dono ou nгo, ou tbm pode checar se o veiculo й o da concessionбria.
Disso eu sei, sу nгo sei como fazer isso, nгo faзo a minima idйia '-'


Re: Bug - Roubo de Carros ajuda! - MatheusNunes - 10.08.2012

Alguйm pode me ajudar por favor?


Respuesta: Bug - Roubo de Carros ajuda! - AnonymouSs - 10.08.2012

Vc usa o sistema de concessionбria de algum GM da net, um FS de conce ou vc criou o seu proprio?
Coloca algo que possa me ajudar a ver o problema para te ajudar.


Re: Bug - Roubo de Carros ajuda! - Sky™ - 10.08.2012

Olha mano e muito facil vc corrigir isso

Colocando o seguinte codigo

colocando

if(dini_Int(file, "TDono") == 1)
{
SendClientMessage(playerid, Vermelho, "Este carro ja tem Dono!");
return 1;
}

Olhe ai Como fica seu comando !!!!



if(strcmp(cmdtext, "/comprarveiculo", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string), "carro%d.ini", carro);
if(dini_Int(file, "TDono") == 1){
SendClientMessage(playerid, Vermelho, "Este carro ja tem Dono!");
return 1;
}
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк jб tem um carro");
return 1;
}
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string, "Id")){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", aname);
SendClientMessage(playerid, Azul, "(INFO) Veiculo comprado com sucesso!");
SendClientMessage(playerid, Azul, "(INFO) Para ver os comandos do veiculo, use: /meuveiculo");
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
TogglePlayerControllable(playerid, 1);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro suficiente!");
return 1;
}
}
}
}


Re: Bug - Roubo de Carros ajuda! - MatheusNunes - 10.08.2012

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
Olha mano e muito facil vc corrigir isso

Colocando o seguinte codigo

colocando

if(dini_Int(file, "TDono") == 1)
{
SendClientMessage(playerid, Vermelho, "Este carro ja tem Dono!");
return 1;
}

Olhe ai Como fica seu comando !!!!



if(strcmp(cmdtext, "/comprarveiculo", true) == 0) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for(new carro = 0; carro < MAX_CARROS; carro++)
{
format(string, sizeof(string), "carro%d.ini", carro);
if(dini_Int(file, "TDono") == 1){
SendClientMessage(playerid, Vermelho, "Este carro ja tem Dono!");
return 1;
}
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк jб tem um carro");
return 1;
}
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0 && VehicleID == dini_Int(string, "Id")){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", aname);
SendClientMessage(playerid, Azul, "(INFO) Veiculo comprado com sucesso!");
SendClientMessage(playerid, Azul, "(INFO) Para ver os comandos do veiculo, use: /meuveiculo");
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
TogglePlayerControllable(playerid, 1);
return 1;
} else {
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro suficiente!");
return 1;
}
}
}
}
Sim, eu jб fiz isto, mas exemplo: eu compro um carro blz, dai quando eu vendo ele, ai alguem tenta compra-lo diz que jб tem dono, sendo que ele estб a venda


Respuesta: Bug - Roubo de Carros ajuda! - AnonymouSs - 10.08.2012

Cara, explica mais como й seu sistema de compra de carros, tem carros estacionados e o cara entra em um e digita /comprarcarro e sai com akele carro ou cria outro?


Re: Respuesta: Bug - Roubo de Carros ajuda! - MatheusNunes - 10.08.2012

Quote:
Originally Posted by AnonymouSs
Посмотреть сообщение
Cara, explica mais como й seu sistema de compra de carros, tem carros estacionados e o cara entra em um e digita /comprarcarro e sai com akele carro ou cria outro?
Vou explicar melhor, o comando de por carros a venda й /ccar [id] [preзo] [cor 1] [cor 2] , vamos supor que eu fiz esse comando e coloquei um carro a venda, dai um cara vem e compara ele de boa, sу que tem como outras pessoas compra o carro dele entrando e digitando rapidamente /comprarveiculo , e o cara sai andando com o carro roubado, nao cria outro carro


Respuesta: Bug - Roubo de Carros ajuda! - AnonymouSs - 10.08.2012

Sistemas de criar assim in-game й meio falho, mas eu acho que vc poderia fazer o seguindo (daria um pouco de trabalho).
Adicionava carros em certos lugares (na concessionбria) ai vc jб saberia os ids deles e colocava 1 codiзгo de o cara sу comprar o carro se ele for o da concessionбria e se fosse criava um carro ao lado ou mais a frente do que ele digitou /comprarcarro e jб setava akele carro no arquivo do player e coloca o player nele.