[Ajuda] Bug - Roubo de Carros ajuda!
#1

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;
}
}
}
}
Reply
#2

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.
Reply
#3

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 '-'
Reply
#4

Alguйm pode me ajudar por favor?
Reply
#5

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.
Reply
#6

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;
}
}
}
}
Reply
#7

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
Reply
#8

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?
Reply
#9

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
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)