Ayuda con esto
#1

Код:
CMD:taller(playerid, params[])
{
	if (GetFactionType(playerid) != FACTION_MECANICO)
		return SendErrorMessage(playerid, "No perteneces a la facciуn mecбnicos.");
		
    new vehicleid = GetNearestVehicle(playerid);

	if (vehicleid == INVALID_VEHICLE_ID)
	    return SendErrorMessage(playerid, "Debes estar cerca de un vehнculo.");

	if (TALLER_Nearest(playerid) == -1)
	    return SendErrorMessage(playerid, "No estбs cerca de ningъn punto de taller.");

	Dialog_Show(playerid, TuneVehicle, DIALOG_STYLE_LIST, "Tбller mecбnico", "Llantas\nNitrogeno\nHidraulicos", "Seleccionar", "Cancelar");
	return 1;
}
Код:
Dialog:TuneVehicle(playerid, response, listitem, inputtext[])
{
    new vehicleid = GetNearestVehicle(playerid) || TALLER_Nearest(playerid) || GetPlayerVehicleID(playerid);

	if (vehicleid == INVALID_VEHICLE_ID)
		return 0;
		
	if (response)
	{
	    switch (listitem)
	    {
	        case 0:
	            ShowModelSelectionMenu(playerid, "Que ruedas buscas", MODEL_SELECTION_WHEELS, {1025, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1096, 1097, 1098}, 17, 0.0, 0.0, 90.0);

			case 1:
			    Dialog_Show(playerid, AddNOS, DIALOG_STYLE_LIST, "Aсadir Nitrogeno", "2x NOS\n5x NOS\n10x NOS", "Selecionar", "Cancelar");

			case 2:
			{
			    AddComponent(vehicleid, 1087);
			    SendServerMessage(playerid, "Agregaste hydraulicos al vehнculo.");
			}
	    }
	}
	return 1;
}

Dialog:AddNOS(playerid, response, listitem, inputtext[])
{
 	new vehicleid = GetNearestVehicle(playerid) || TALLER_Nearest(playerid) || GetPlayerVehicleID(playerid);

	if (vehicleid == INVALID_VEHICLE_ID)
		return 0;

	if (response)
	{
	    switch (listitem)
	    {
	        case 0:
			{
			    AddComponent(vehicleid, 1009);
			    SendServerMessage(playerid, "Aсadiste 2x de nitrуgeno.");
			}
			case 1:
			{
			    AddComponent(vehicleid, 1008);
			    SendServerMessage(playerid, "Aсadiste 5x de nitrуgeno.");
			}
            case 2:
			{
			    AddComponent(vehicleid, 1010);
			    SendServerMessage(playerid, "Aсadiste 10x de nitrуgeno.");
			}
		}
	}
	return 1;
}
Lo que pasa es que al elegir algo cerca del vehiculo no se modifica, pero al usar dentro del vehiculo si funciona...
Reply
#2

Hazlo mбs fбcil tomando la posiciуn del coche y chequeando si el jugador estб en el бrea.

O postea la funciуn "GetNearestVehicle"
Reply
#3

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
Hazlo mбs fбcil tomando la posiciуn del coche y chequeando si el jugador estб en el бrea.

O postea la funciуn "GetNearestVehicle"
Quote:

stock GetNearestVehicle(playerid)
{
static
Float:fX,
Float:fY,
Float:fZ;

for (new i = 1; i != MAX_VEHICLES; i ++) if (IsValidVehicle(i) && GetVehiclePos(i, fX, fY, fZ))
{
if (IsPlayerInRangeOfPoint(playerid, 3.5, fX, fY, fZ)) return i;
}
return INVALID_VEHICLE_ID;
}

Ahн estб
Reply
#4

Quote:
Originally Posted by GabrielBas
Посмотреть сообщение
Ahн estб
pawn Код:
new Float:posx, Float:posy, Float:posz;
GetVehiclePos(LLENAESTO, posx, posy, posz);
if(IsPlayerInRangeOfPoint(playerid, 4.0, posx, posy, posz))
Lo hice desde el celular, falta llenar el primer parбmetro de GetVehiclePos, podes usar GetPlayerVehicleID o como gustes
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)