error, seguro de auto tengo que relogear
#1

Hola bueno resulta que cuando alguien compra un vehiculo hay que relogear para poder comprar el seguro para la puerta, dejo el codigo
Код:
					case 7:
					{
						if(GetPlayerVehicleCount(playerid) != 0)
						{
				   			if(CheckMoney(playerid,1800))
					        {
								SetPVarInt(playerid, "lockmenu", 3);
				    			for(new i=0; i<MAX_PLAYERVEHICLES; i++)
	                			{
					     			if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID)
					     			{
		                     			format(string, sizeof(string), "Vehiculo %d | Modelo: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
		                     			SendClientMessageEx(playerid, COLOR_WHITE, string);
					     			}
				    			}
								SafeDialogEx(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "Selecciona"," Selecciona el vehiculo en el cual instalarбs el seguro:", "Ok", "Cancelar");
							}
						}
						else
						{
							SendClientMessageEx(playerid, COLOR_WHITE, "Usted no tiene Vehiculos - en cual instalamos el seguro?");
							return 1;
						}
					}
				}
			}
		}
Reply
#2

їEl problema cual serнa?, ese cуdigo como es llamado. Das poca informaciуn.

PD: A ese cуdigo le sobran llaves }.
Reply
#3

el problema esta a la vista... no actualiza los datos al momento de comprar el vehнculo. -.-
Reply
#4

El problema es como dice Otacom no actualiza los datos a la hora de comprar el vehнculo.

Edit: que mбs necesitan el comando al comprar el vehнculo?
Reply
#5

Se necesita todo el cуdigo relacionado al problema.
Reply
#6

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Se necesita todo el cуdigo relacionado al problema.
Creo que este te servirб
Код:
CMD:comprarvehiculo(playerid, params[]){
// Account Eating Bug Fix
	    if(!IsPlayerInAnyVehicle(playerid))
		{
		    TogglePlayerControllable(playerid, 1);
			SendClientMessageEx(playerid,COLOR_GRAD2,"Necesitas estar en el vehнculo que desea comprar.");
			return 1;
		}

		new vehicleid = GetPlayerVehicleID(playerid);
		new v = GetCarDealershipVehicleId(vehicleid);
		new d = GetCarDealershipId(vehicleid);
		{
		    if(carsforplayer[playerid] == 8) return SendClientMessageEx(playerid,COLOR_WHITE,"Sуlo puedes tener 4 vehнculos.");
            if(CDSInfo[d][cdVehicleSpawn][0] == 0.0 && CDSInfo[d][cdVehicleSpawn][1] == 0.0 && CDSInfo[d][cdVehicleSpawn][2] == 0.0)
            {
				SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: El propietario de este Concesionario no ha configurado completamente los puntos de spawn de coches.");
				RemovePlayerFromVehicle(playerid);
				new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
				TogglePlayerControllable(playerid, 1);
				return 1;
            }
            new playervehicleid = GetPlayerFreeVehicleId(playerid);
            new carsamount = VehicleCount(playerid);
            if((Info[playerid][pVIP] == 0) && carsamount >= 2)
			{
                SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, usuarios normales sуlo pueden tener 2 coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
			}
            if(Info[playerid][pVIP] == 1 && carsamount >= 4)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP1 Sуlo puede tener 4 coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
            }
            if(Info[playerid][pVIP] == 2 && carsamount >= 8)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP2 Sуlo puede tener 8 coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
            }
            if(Info[playerid][pVIP] == 3 && carsamount >= 4)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP1 Sуlo puede tener 4 coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
            }
            if(Info[playerid][pVIP] == 4 && carsamount >= 8)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "ERROR: No puedes tener mбs coches, VIP2 Sуlo puede tener 8 coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
            }
		    if(playervehicleid == -1)
		    {
		        SendClientMessageEx(playerid, COLOR_GREY, "ERROR: Este jugador no puede tener mбs coches.");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
				GetPlayerPos(playerid, slx, sly, slz);
				SetPlayerPos(playerid, slx, sly, slz+1.2);
                TogglePlayerControllable(playerid, 1);
                return 1;
		    }
		    new randcolor1 = Random(0, 126);
		    new randcolor2 = Random(0, 126);
		    TogglePlayerControllable(playerid, 1);
		    new cost;
		    new string[127];
		    if(Info[playerid][pVIP] < 1)
            {
                cost = CDSInfo[d][cdVehicleCost][v];
	            if(GetPVarInt(playerid, "Cash") < CDSInfo[d][cdVehicleCost][v])
	            {
					SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: No tienes dinero suficiente para comprar este coche.");
					RemovePlayerFromVehicle(playerid);
					new Float:slx, Float:sly, Float:slz;
					GetPlayerPos(playerid, slx, sly, slz);
					SetPlayerPos(playerid, slx, sly, slz+1.2);
					return 1;
	            }
                format(string, sizeof(string), " Gracias por comprar en %s.", CDSInfo[d][cdMessage]);
		        SendClientMessageEx(playerid, COLOR_GRAD1, string);
		        SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-CDSInfo[d][cdVehicleCost][v]);
		        CDSInfo[d][cdTill] += ( CDSInfo[d][cdVehicleCost][v] * 40 ) / ( 100 );
	        }
	        else
	        {
				cost = ( CDSInfo[d][cdVehicleCost][v] * 80 ) / ( 100 );
	            if(GetPVarInt(playerid, "Cash") < cost)
	            {
					SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: No tienes dinero suficiente para comprar este coche.");
					RemovePlayerFromVehicle(playerid);
					new Float:slx, Float:sly, Float:slz;
					GetPlayerPos(playerid, slx, sly, slz);
					SetPlayerPos(playerid, slx, sly, slz+1.2);
					return 1;
	            }

                format(string, sizeof(string), " Gracias por comprar en %s.", CDSInfo[d][cdMessage]);
		        SendClientMessageEx(playerid, COLOR_GRAD1, string);
		        SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash") - cost );
				CDSInfo[d][cdTill] += cost;
     		}
            new car = CreatePlayerVehicle(playerid, playervehicleid, CDSInfo[d][cdVehicleModel][v], CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2], CDSInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2, cost);
            SetPlayerPos(playerid, CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2]+2);
			SetTimerEx("PutPlayerInVeh", 2000, 0, "dd", playerid, car);
            SavecDealership(d);
			return 1;
		}
		}
Reply
#7

revivo alguien por favor
Reply
#8

Da mбs informaciуn. їQuй mensaje te tira al querer comprar el vehнculo?. Si necesitas relogear es porque una variable necesita estar reseteada.
Reply
#9

El problema no es al comprar el vehiculo sino al comprar la traba, Dice que no tengo vehiculo siendo que ya compre uno
Reply
#10

їTe fijaste si le seteas la llave al jugador?

Un ejemplo. Acб:

pawn Код:
new car = CreatePlayerVehicle(playerid, playervehicleid, CDSInfo[d][cdVehicleModel][v], CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2], CDSInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2, cost);
            SetPlayerPos(playerid, CDSInfo[d][cdVehicleSpawn][0], CDSInfo[d][cdVehicleSpawn][1], CDSInfo[d][cdVehicleSpawn][2]+2);
            SetTimerEx("PutPlayerInVeh", 2000, 0, "dd", playerid, car);
            SavecDealership(d);
            return 1;
Podrнas agregarle una variable como:

pawn Код:
PlayerInfo[playerid][pCarkey] = car;
Ese CreatePlayerVehicle no le veo utilidad ya que va a crearse un coche y no "para el jugador". Lo que haces ahн es crear el coche y luego configurarlo para que sea de tu propiedad. Usa CreateVehicle.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)