[Ajuda] Bug no Sistema de Concessionaria
#1

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

Codigos? Ninguem aqui tem poderes especiais .
Reply
#3

ok filho mas voce quer o sistema todo?
Reply
#4

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

PHP код:
if(strcmp(cmd"/vcarro"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
              new 
vehicleid GetOwnedVehicleID(playerid);
              if (
vehicleid == INVALID_VEHICLE_ID) return SendClientMessage(playeridCOR_SV"Voce nao possui um veiculo");
              new 
typeid GetVehicleType(vehicleid);
              new 
VehPreco;
              if (
typeid == VTYPE_CAR)
              {
                  
VehPreco CAR_SELL_COST;
                  
GivePlayerMoney(playeridCAR_SELL_COST);
              }
              if (
typeid == VTYPE_SPORT)
              {
                 
VehPreco SPORT_SELL_COST;
                 
GivePlayerMoney(playeridSPORT_SELL_COST);
              }
              if (
typeid == VTYPE_MAV)
              {
                 
VehPreco MAV_SELL_COST;
                 
GivePlayerMoney(playeridMAV_SELL_COST);
              }
                if (
typeid == VTYPE_HEAVY)
                {
                 
VehPreco TRUCK_SELL_COST;
                 
GivePlayerMoney(playeridTRUCK_SELL_COST);
              }
                if (
typeid == VTYPE_BIKE)
                {
                 
VehPreco BIKE_SELL_COST;
                 
GivePlayerMoney(playeridBIKE_SELL_COST);
              }
               if (
typeid == VTYPE_AIR)
               {
                 
VehPreco PLANE_SELL_COST;
                 
GivePlayerMoney(playeridPLANE_SELL_COST);
              }
              if (
typeid == VTYPE_SEA)
              {
                 
VehPreco BOAT_SELL_COST;
                 
GivePlayerMoney(playeridBOAT_SELL_COST);
              }
                if (
typeid == VTYPE_MOTORBIKE)
                {
                 
VehPreco MOTORBIKE_SELL_COST;
                 
GivePlayerMoney(playeridMOTORBIKE_SELL_COST);
              }
              if (
typeid == VTYPE_MISC)
              {
                 
VehPreco MISC_SELL_COST;
                 
GivePlayerMoney(playeridMISC_SELL_COST);
              }
              new 
Istringui[256];
              
format(Istringuisizeof(Istringui), "Voce vendeu seu veiculo por R$%i."VehPreco);
              
SendClientMessage(playerid0xFFFF00FFIstringui);
              
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(playeridCOLOR_OOC"Jб tem Alguem sendo Atendido, volte daqui a pouco!");
                    
TogglePlayerControllable(playerid1);
                    return 
1;
                }
            }
            if (
GetOwnedVehicleID(playerid) != INVALID_VEHICLE_ID) return SendClientMessage(playeridRED"Vocк Ja Possui Um Veiculo!");
            if (
GetPlayerInterior(playerid) != 0) return SendClientMessage(playeridRED"Saia de seu interior"); // To prevent screw ups
            
GetPlayerPos(playeridOrgX[playerid], OrgY[playerid], OrgZ[playerid]);
            new 
color1 CarColor[playerid][0];
            new 
color2 CarColor[playerid][1];
            
TogglePlayerControllable(playerid0);
            
SetPlayerCameraPos(playerid, -1980.9927,293.0207,38.9285);
            
SetPlayerCameraLookAt(playerid, -1971.9277,284.5396,34.8777);
            
SetPlayerVirtualWorld(playeridplayerid);
            if(
IsPlayerInTaxiLS(playerid))
            {
                
SetPlayerCameraPos(playerid1432.7231,-1665.6484,13.3828);
                
SetPlayerCameraLookAt(playerid1436.6174,-1666.0939,13.5469);
                
SetPlayerPos(playerid,1448.3098,-1665.8339,13.2680);
                
ShopCar[playerid] = CreateVehicle(CarModels[0], 1438.3098,-1665.8339,13.26800.0color1color26000000);
            }
            if(
IsPlayerInTaxiLV(playerid))
            {
                
SetPlayerCameraPos(playerid2039.2286,1917.5132,12.1674);
                
SetPlayerCameraLookAt(playerid2034.1730,1917.0808,12.1785);
                
SetPlayerPos(playerid,2042.5013,1916.6371,11.9750);
                
ShopCar[playerid] = CreateVehicle(CarModels[0], 2032.5013,1916.6371,11.97500.0color1color26000000);
            }
            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.89310.0color1color26000000);
            }
            
SetVehicleVirtualWorld(ShopCar[playerid], playerid);
            
PutPlayerInVehicle(playeridShopCar[playerid], 0);
            
TogglePlayerControllable(playerid0);
            
CarShopping[playerid] = true;
            
Conce[playerid] = 1;
            new 
gt[128];
            
format(gtsizeof gt"Veiculo: %s Valor: %d"VehicleName[carbrowse[playerid]],CarModels[carbrowse[playerid]]);
            
ShowPlayerDialog(playerid138DIALOG_STYLE_LISTgt"Voltar\nProsseguir\nDigitar ID Veiculo\nComprar Veiculo\nCancelar Compra""Comprar""");
        }
        else
        {
            
SendClientMessage(playeridCOR_N"Voce nao esta na concessionaria");
        }
        return 
1;
    } 
Ta ae os comandos de vender e comprar carro.
Reply
#6

Explica melhor o bug.
Reply
#7

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

Nem eu entendi o bug...
Reply
#9

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)