Bug no Sistema de Concessionaria -
CloudTdS - 23.07.2014
Ola, criei um sistema de concessionaria na verdade ja tinha uma base do sistema aqui, o sistema tem um bug no qual nao faco ideia de onde comecar resolve-lo.
O bug й o seguinte, TODOS os carros do servidor sao meu, TODOS mesmo.e se eu vender 1, eu consigo vender mais 1, e assim vai, vai destruindo(sumindo) todos os veiculos do servidor. Gostaria de saber aonde possivelmente poderia estar o erro, por exemplo...no OnPlayerConnnect(ja visualizei esta tudo correto). Bem, agradeco desde ja.
Re: Bug no Sistema de Concessionaria -
darkxdll - 23.07.2014
Codigos? Ninguem aqui tem poderes especiais .
Re: Bug no Sistema de Concessionaria -
CloudTdS - 23.07.2014
ok filho mas voce quer o sistema todo?
Re: Bug no Sistema de Concessionaria -
darkxdll - 23.07.2014
1є Meu pai nao tem conta aqui no forum , entao nao sou seu filho ta ?
Se possivel a parte de vender carros e quando compra . E outros updates no sistema.
Re: Bug no Sistema de Concessionaria -
CloudTdS - 23.07.2014
PHP код:
if(strcmp(cmd, "/vcarro", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new vehicleid = GetOwnedVehicleID(playerid);
if (vehicleid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COR_SV, "Voce nao possui um veiculo");
new typeid = GetVehicleType(vehicleid);
new VehPreco;
if (typeid == VTYPE_CAR)
{
VehPreco = CAR_SELL_COST;
GivePlayerMoney(playerid, CAR_SELL_COST);
}
if (typeid == VTYPE_SPORT)
{
VehPreco = SPORT_SELL_COST;
GivePlayerMoney(playerid, SPORT_SELL_COST);
}
if (typeid == VTYPE_MAV)
{
VehPreco = MAV_SELL_COST;
GivePlayerMoney(playerid, MAV_SELL_COST);
}
if (typeid == VTYPE_HEAVY)
{
VehPreco = TRUCK_SELL_COST;
GivePlayerMoney(playerid, TRUCK_SELL_COST);
}
if (typeid == VTYPE_BIKE)
{
VehPreco = BIKE_SELL_COST;
GivePlayerMoney(playerid, BIKE_SELL_COST);
}
if (typeid == VTYPE_AIR)
{
VehPreco = PLANE_SELL_COST;
GivePlayerMoney(playerid, PLANE_SELL_COST);
}
if (typeid == VTYPE_SEA)
{
VehPreco = BOAT_SELL_COST;
GivePlayerMoney(playerid, BOAT_SELL_COST);
}
if (typeid == VTYPE_MOTORBIKE)
{
VehPreco = MOTORBIKE_SELL_COST;
GivePlayerMoney(playerid, MOTORBIKE_SELL_COST);
}
if (typeid == VTYPE_MISC)
{
VehPreco = MISC_SELL_COST;
GivePlayerMoney(playerid, MISC_SELL_COST);
}
new Istringui[256];
format(Istringui, sizeof(Istringui), "Voce vendeu seu veiculo por R$%i.", VehPreco);
SendClientMessage(playerid, 0xFFFF00FF, Istringui);
VehicleInfo[vehicleid][vLock] = 0;
DeleteVehicle(playerid);
return 1;
}
return 1;
}
//comprar veiculo
if(strcmp(cmd, "/cveh", true) == 0)
{
if(IsPlayerInConcePlace(playerid))
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(Conce[i]==1)
{
SendClientMessage(playerid, COLOR_OOC, "Jб tem Alguem sendo Atendido, volte daqui a pouco!");
TogglePlayerControllable(playerid, 1);
return 1;
}
}
if (GetOwnedVehicleID(playerid) != INVALID_VEHICLE_ID) return SendClientMessage(playerid, RED, "Vocк Ja Possui Um Veiculo!");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, RED, "Saia de seu interior"); // To prevent screw ups
GetPlayerPos(playerid, OrgX[playerid], OrgY[playerid], OrgZ[playerid]);
new color1 = CarColor[playerid][0];
new color2 = CarColor[playerid][1];
TogglePlayerControllable(playerid, 0);
SetPlayerCameraPos(playerid, -1980.9927,293.0207,38.9285);
SetPlayerCameraLookAt(playerid, -1971.9277,284.5396,34.8777);
SetPlayerVirtualWorld(playerid, playerid);
if(IsPlayerInTaxiLS(playerid))
{
SetPlayerCameraPos(playerid, 1432.7231,-1665.6484,13.3828);
SetPlayerCameraLookAt(playerid, 1436.6174,-1666.0939,13.5469);
SetPlayerPos(playerid,1448.3098,-1665.8339,13.2680);
ShopCar[playerid] = CreateVehicle(CarModels[0], 1438.3098,-1665.8339,13.2680, 0.0, color1, color2, 6000000);
}
if(IsPlayerInTaxiLV(playerid))
{
SetPlayerCameraPos(playerid, 2039.2286,1917.5132,12.1674);
SetPlayerCameraLookAt(playerid, 2034.1730,1917.0808,12.1785);
SetPlayerPos(playerid,2042.5013,1916.6371,11.9750);
ShopCar[playerid] = CreateVehicle(CarModels[0], 2032.5013,1916.6371,11.9750, 0.0, color1, color2, 6000000);
}
if(IsPlayerInTaxiSF(playerid))
{
SetPlayerCameraPos(playerid, -1990.3564,257.4485,35.1719);
SetPlayerCameraLookAt(playerid, -1985.4454,257.3991,35.1719);
SetPlayerPos(playerid,-1993.9315,257.6205,34.8931);
ShopCar[playerid] = CreateVehicle(CarModels[0], -1983.9315,257.6205,34.8931, 0.0, color1, color2, 6000000);
}
SetVehicleVirtualWorld(ShopCar[playerid], playerid);
PutPlayerInVehicle(playerid, ShopCar[playerid], 0);
TogglePlayerControllable(playerid, 0);
CarShopping[playerid] = true;
Conce[playerid] = 1;
new gt[128];
format(gt, sizeof gt, "Veiculo: %s Valor: %d", VehicleName[carbrowse[playerid]],CarModels[carbrowse[playerid]]);
ShowPlayerDialog(playerid, 138, DIALOG_STYLE_LIST, gt, "Voltar\nProsseguir\nDigitar ID Veiculo\nComprar Veiculo\nCancelar Compra", "Comprar", "");
}
else
{
SendClientMessage(playerid, COR_N, "Voce nao esta na concessionaria");
}
return 1;
}
Ta ae os comandos de vender e comprar carro.
Re: Bug no Sistema de Concessionaria -
driftpower - 23.07.2014
Explica melhor o bug.
Re: Bug no Sistema de Concessionaria -
CloudTdS - 23.07.2014
E tipo....voce loga digita o comando locaizar carro e vai o chekpoint no carro id 1, se voce der /vcarro(vender carro) e der novamente o comando de lozalizar o carro, localiza o id 2 e assim vai....entende?
Re: Bug no Sistema de Concessionaria -
DaYviSoN - 23.07.2014
Nem eu entendi o bug...
Re: Bug no Sistema de Concessionaria -
CloudTdS - 23.07.2014
Bem, й o seguinte vou tentar explicar novamente:
so pra lebrar, й um sistema de concessionaria free entao ao voce comprar um carro ele Cria o veiculo e voce pode escolher o modelo. Quando voce vende o veiculo, o veiculo some
PHP код:
DeleteVehicle(playerid);
o bug й o seguinte. O gamemode inicia (GameModeInit) entao voce loga tudo ok, voce vai comprar um veiculo e fala que voce ja tem um veiculo, ai voce ussa o comando de localizar seu carro no mapa ou seja, criar um Checkpoint mostrando aonde o carro esta no mapa. E o CheckPoint vai no carro id 1 do servidor, entao voce vende o carro que voce nem sabia que tinha e o carro ID 1 que й um enforcer da PM some, ai voce vai comprar um carro pra ver se ta ok, e diz novamente que voce ja tem um veiculo entao voce localiza o veiculo novamente adicionando outro Checkpoint e esse checkpoint esta no carro id 2 que й outro enforcer da PM, voce vende e o carro some. Assim vai indo com carro id 3, 4, 5, 6, 7, 8, 9...entenderam?
Re: Bug no Sistema de Concessionaria -
darkxdll - 23.07.2014
Cara vocк deve fazer um sistema de compra / venda de veiculos por fora dos IDs do samp.
Usar um loop para definir um id a cada veiculo "a venda" e uma variбvel para cada veнculo para poder
armazenar este id.
Nгo ir la e /comprarcarro dai seta o id 1 como carro do jogador , todos os veiculos do gta possui um id
que й possнvel ver ele usando GetPlayerVehicleID .
Estude mais e crie seu sistema de carros , essas bases , sгo "BASES" mesmo, nгo й cуdigo pronto.
Tentei explicar o mбximo que pude .
PHP код:
#define CarrosAVendaMAX 100 // definimos um maximo ou total de veiculos a venda
new VarArmazenarId[CarrosAVendaMax]; // variavel para armazenar o id
for(new Cars ; Cars < CarrosAVendaMAX ; Cars ++)//criamos um loop , entao "Cars" for menor que CarrosAVendaMAX , o "Cars" aumenta +1
{
VarArmazenarId[Cars]++;//imagino que funcione , no meu cуdigo eu fiz de outra maneira
}
Nгo й fбcil explicar , eu mesmo demorei um pouco pra fazer um sistema bom e seguro .
Estude LOOP / manipulaзгo de variбveis / Operadores lуgicos / entre outros .