Show dialog for player [CODE]
#1

Hello, Sometimes When you type a command and select dialog , not working How to fix that? for example Neon system , when you write command "/Neon" , you got the dialog but when u click on any line like "Yellow Neon" its not working /not responding , is that problem with Return function??

Код:
ShowPlayerDialog(playerid, DIALOG_SOLID, DIALOG_STYLE_LIST
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_NEONTYPES)
	{
	    if(response == 1)
	    {
	        switch(listitem)
	        {
	            case 0: ShowPlayerDialog(playerid, DIALOG_SOLID, DIALOG_STYLE_LIST, "Solid Vehicle Neon", "{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White\n{F3FF02}Yellow", "Select", "Cancel");
				case 1: ShowPlayerDialog(playerid, DIALOG_SIMULTANEOUS, DIALOG_STYLE_LIST, "Simultaneous Flash Pattern", "{F3FF02}Yellow\n{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White\n{A90202}All {F3FF02}Colours{FBDF89}(Cycling)", "Select", "Back");
				case 2: ShowPlayerDialog(playerid, DIALOG_ALTERNATING, DIALOG_STYLE_LIST, "Alternating Flash Pattern", "{F3FF02}Yellow\n{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White", "Select", "Back");
				case 3: StopBlinkNeons(GetPlayerVehicleID(playerid));
			}
		}
	}
Full Code:-
Код:
//---------Redreaper666's and Aston482UK's advanced Neon4Cars Filerscript---------
#include <a_samp>
#include <zcmd>
#include <core>
#include <float>
//------------------------------------------------------------------------------
#define DIALOG_NEONTYPES 150
#define DIALOG_SOLID 151
#define DIALOG_SIMULTANEOUS 152
#define DIALOG_ALTERNATING 153
//------------------------------------------------------------------------------
new SolidNeon[MAX_VEHICLES],BlinkTimerT[MAX_VEHICLES],AltFlash[MAX_VEHICLES];
new Blue1[MAX_VEHICLES],Blue2[MAX_VEHICLES],Green1[MAX_VEHICLES],Green2[MAX_VEHICLES],Pink1[MAX_VEHICLES],Pink2[MAX_VEHICLES],Red1[MAX_VEHICLES],Red2[MAX_VEHICLES],White1[MAX_VEHICLES],White2[MAX_VEHICLES],Yellow1[MAX_VEHICLES],Yellow2[MAX_VEHICLES];
new BlinkTimer[MAX_VEHICLES];
new AltSide1[MAX_VEHICLES];
//------------------------------------------------------------------------------
stock IsNeonActive(vehicleid)
{
	if(BlinkTimer[vehicleid] == 1) return 1;
	if(SolidNeon[vehicleid] == 1) return 1;
	if(AltFlash[vehicleid] == 1) return 1;
	else return 0;
}
stock IsVehicleValid(v)
{
	if(v==403||v==406||v==407||v==408||v==416||v==417||v==424||v==425||v==430||v==432||v==433||v==435||v==437||v==441||v==443||v==444||v==446||v==447||v==448||v==449||v==450||v==452||v==453||v==454||v==455||v==456||v==457||v==460||v==461||v==462) return 0;
	if(v==463||v==464||v==465||v==468||v==469||v==470||v==471||v==472||v==473||v==476||v==481||v==484||v==485||v==486||v==487||v==488||v==493||v==497||v==500||v==501||v==509||v==510||v==511||v==512||v==513||v==514||v==515||v==519||v==520||v==521) return 0;
	if(v==522||v==523||v==524||v==530||v==532||v==537||v==538||v==539||v==544||v==548||v==553||v==556||v==557||v==563||v==564||v==568||v==569||v==570||v==571||v==572||v==573||v==574||v==577||v==578||v==581||v==582||v==584||v==583||v==586||v==590) return 0;
	if(v==591||v==592||v==593||v==594||v==595||v==601||v==606||v==607||v==608||v==610||v==11) return 0;
	else return 1;
}
//------------------------------------------------------------------------------
public OnVehicleDeath(vehicleid, killerid)
{
	StopBlinkNeons(vehicleid);
	return 1;
}
public OnVehicleSpawn(vehicleid)
{
	StopBlinkNeons(vehicleid);
	return 1;
}
//------------------------------------------------------------------------------
CMD:neon(playerid,params[])
{
	if(!IsVehicleValid(GetVehicleModel(GetPlayerVehicleID(playerid)))) return SendClientMessage(playerid, -1, "{F81414}ERROR: {FFFFFF}You can't use neon on this vehicle.");
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "{F81414}ERROR: {FFFFFF}You must be the driver of a vehicle to use this.");
	ShowPlayerDialog(playerid, DIALOG_NEONTYPES, DIALOG_STYLE_LIST, "Neon Settings", "Solid Neon/No Flash\nSimultaneous Flash\nAlternating Flash\nRemove All Neon", "Select", "Cancel");
	return 1;
}
//----------------------------------------------------------
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_NEONTYPES)
	{
	    if(response == 1)
	    {
	        switch(listitem)
	        {
	            case 0: ShowPlayerDialog(playerid, DIALOG_SOLID, DIALOG_STYLE_LIST, "Solid Vehicle Neon", "{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White\n{F3FF02}Yellow", "Select", "Cancel");
				case 1: ShowPlayerDialog(playerid, DIALOG_SIMULTANEOUS, DIALOG_STYLE_LIST, "Simultaneous Flash Pattern", "{F3FF02}Yellow\n{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White\n{A90202}All {F3FF02}Colours{FBDF89}(Cycling)", "Select", "Back");
				case 2: ShowPlayerDialog(playerid, DIALOG_ALTERNATING, DIALOG_STYLE_LIST, "Alternating Flash Pattern", "{F3FF02}Yellow\n{0049FF}Blue\n{6EF83C}Green\n{FF00EA}Pink\n{F81414}Red\n{FFFFFF}White", "Select", "Back");
				case 3: StopBlinkNeons(GetPlayerVehicleID(playerid));
			}
		}
	}
    if(dialogid == DIALOG_SOLID)
    {
        if(response == 1)
        {
            if(IsNeonActive(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, -1, "{F81414}ERROR: {FFFFFF}Please remove all existing neon first.");
	        switch(listitem)
	        {
	            case 0: SetBlueNeons(GetPlayerVehicleID(playerid));
				case 1: SetGreenNeons(GetPlayerVehicleID(playerid));
				case 2: SetPinkNeons(GetPlayerVehicleID(playerid));
				case 3: SetRedNeons(GetPlayerVehicleID(playerid));
				case 4: SetWhiteNeons(GetPlayerVehicleID(playerid));
				case 5: SetYellowNeons(GetPlayerVehicleID(playerid));
			}
		}
		else ShowPlayerDialog(playerid, DIALOG_NEONTYPES, DIALOG_STYLE_LIST, "Neon Settings", "{FFAF00}Solid Neon/No Flash\n{6EF83C}Simultaneous Flash\n{A3E4FF}Alternating Flash\n{F81414}Remove All Neon", "Select", "Cancel");
	}
	if(dialogid == DIALOG_SIMULTANEOUS)
	{
		if(response == 1)
		{
		    if(IsNeonActive(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, -1, "{F81414}ERROR: {FFFFFF}Please remove all existing neon first.");
		    switch(listitem)
		    {
				case 0: SetBlinkYellowNeons(GetPlayerVehicleID(playerid));
				case 1: SetBlinkBlueNeons(GetPlayerVehicleID(playerid));
				case 2: SetBlinkGreenNeons(GetPlayerVehicleID(playerid));
				case 3: SetBlinkPinkNeons(GetPlayerVehicleID(playerid));
				case 4: SetBlinkRedNeons(GetPlayerVehicleID(playerid));
				case 5: SetBlinkWhiteNeons(GetPlayerVehicleID(playerid));
				case 6: SetBlinkALLNeons(GetPlayerVehicleID(playerid));
			}
		}
		else ShowPlayerDialog(playerid, DIALOG_NEONTYPES, DIALOG_STYLE_LIST, "Neon Settings", "{FFAF00}Solid Neon/No Flash\n{6EF83C}Simultaneous Flash\n{A3E4FF}Alternating Flash\n{F81414}Remove All Neon", "Select", "Cancel");
	}
	if(dialogid == DIALOG_ALTERNATING)
	{
		if(response == 1)
		{
		    if(IsNeonActive(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, -1, "{F81414}ERROR: {FFFFFF}Please remove all existing neon first.");
		    switch(listitem)
		    {
				case 0: SetAltYellow(GetPlayerVehicleID(playerid));
				case 1: SetAltBlue(GetPlayerVehicleID(playerid));
				case 2: SetAltGreen(GetPlayerVehicleID(playerid));
				case 3: SetAltPink(GetPlayerVehicleID(playerid));
				case 4: SetAltRed(GetPlayerVehicleID(playerid));
				case 5: SetAltWhite(GetPlayerVehicleID(playerid));
			}
		}
		else ShowPlayerDialog(playerid, DIALOG_NEONTYPES, DIALOG_STYLE_LIST, "Neon Settings", "{FFAF00}Solid Neon/No Flash\n{6EF83C}Simultaneous Flash\n{A3E4FF}Alternating Flash\n{F81414}Remove All Neon", "Select", "Cancel");

	}
	
    return 1;

}

//------------------------------------------------------------------------------
new ColorNumber = 18647;
new ALLCOLOR1[MAX_VEHICLES],ALLCOLOR2[MAX_VEHICLES];

forward SetBALLNeons(vehicleid);
public SetBALLNeons(vehicleid)
{
	ALLCOLOR1[vehicleid] = CreateObject(ColorNumber, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	ALLCOLOR2[vehicleid] = CreateObject(ColorNumber, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(ALLCOLOR1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(ALLCOLOR2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	ColorNumber ++;
	if(ColorNumber == 18653)
    {
    ColorNumber --;
    ColorNumber --;
    ColorNumber --;
    ColorNumber --;
    ColorNumber --;
    ColorNumber --;
    }
    return 1;
}
forward SetBlinkALLNeons(vehicleid);
public SetBlinkALLNeons(vehicleid)
{
    if(BlinkTimer[vehicleid] == 0)
    {
	BlinkTimerT[vehicleid] = SetTimerEx("SetBALLNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	}
	return 1;
}
//----------------------------------------------------------
forward SetBlueNeons(vehicleid);
public SetBlueNeons(vehicleid)
{
	StopBlinkNeons(vehicleid);
	SolidNeon[vehicleid] = 1;
	Blue1[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Blue2[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Blue1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Blue2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBBlueNeons(vehicleid);
public SetBBlueNeons(vehicleid)
{
	Blue1[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Blue2[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Blue1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Blue2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkBlueNeons(vehicleid);
public SetBlinkBlueNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBBlueNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetGreenNeons(vehicleid);
public SetGreenNeons(vehicleid)
{
    StopBlinkNeons(vehicleid);
    SolidNeon[vehicleid] = 1;
	Green1[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Green2[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Green1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Green2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBGreenNeons(vehicleid);
public SetBGreenNeons(vehicleid)
{
	Green1[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Green2[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Green1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Green2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkGreenNeons(vehicleid);
public SetBlinkGreenNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBGreenNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetPinkNeons(vehicleid);
public SetPinkNeons(vehicleid)
{
    StopBlinkNeons(vehicleid);
    SolidNeon[vehicleid] = 1;
	Pink1[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Pink2[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Pink1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Pink2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBPinkNeons(vehicleid);
public SetBPinkNeons(vehicleid)
{
	Pink1[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Pink2[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Pink1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Pink2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkPinkNeons(vehicleid);
public SetBlinkPinkNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBPinkNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetRedNeons(vehicleid);
public SetRedNeons(vehicleid)
{
    StopBlinkNeons(vehicleid);
    SolidNeon[vehicleid] = 1;
	Red1[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Red2[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Red1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Red2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBRedNeons(vehicleid);
public SetBRedNeons(vehicleid)
{
	Red1[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Red2[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Red1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Red2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkRedNeons(vehicleid);
public SetBlinkRedNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBRedNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetWhiteNeons(vehicleid);
public SetWhiteNeons(vehicleid)
{
    StopBlinkNeons(vehicleid);
    SolidNeon[vehicleid] = 1;
	White1[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	White2[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(White1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(White2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBWhiteNeons(vehicleid);
public SetBWhiteNeons(vehicleid)
{
	White1[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	White2[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(White1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(White2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkWhiteNeons(vehicleid);
public SetBlinkWhiteNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBWhiteNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetYellowNeons(vehicleid);
public SetYellowNeons(vehicleid)
{
    StopBlinkNeons(vehicleid);
    SolidNeon[vehicleid] = 1;
	Yellow1[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Yellow2[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Yellow1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Yellow2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	return 1;
}
forward SetBYellowNeons(vehicleid);
public SetBYellowNeons(vehicleid)
{
	Yellow1[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	Yellow2[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Yellow1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	AttachObjectToVehicle(Yellow2[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
	SetTimerEx("DeleteNeons",500,0,"i",vehicleid);
	return 1;
}
forward SetBlinkYellowNeons(vehicleid);
public SetBlinkYellowNeons(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("SetBYellowNeons",1000,1, "i",vehicleid);
	BlinkTimer[vehicleid] = 1;
	return 1;
}
//----------------------------------------------------------
forward SetAltYellow(vehicleid);
public SetAltYellow(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltYellow",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	Yellow1[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Yellow1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
}
forward AltYellow(vehicleid);
public AltYellow(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(Yellow1[vehicleid]);
		Yellow1[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Yellow1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(Yellow1[vehicleid]);
		Yellow1[vehicleid] = CreateObject(18650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Yellow1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward SetAltBlue(vehicleid);
public SetAltBlue(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltBlue",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	Blue1[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Blue1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
 }
forward AltBlue(vehicleid);
public AltBlue(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(Blue1[vehicleid]);
		Blue1[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Blue1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(Blue1[vehicleid]);
		Blue1[vehicleid] = CreateObject(18648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Blue1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward SetAltGreen(vehicleid);
public SetAltGreen(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltGreen",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	Green1[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Green1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
}
forward AltGreen(vehicleid);
public AltGreen(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(Green1[vehicleid]);
		Green1[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Green1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(Green1[vehicleid]);
		Green1[vehicleid] = CreateObject(18649, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Green1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward SetAltPink(vehicleid);
public SetAltPink(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltPink",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	Pink1[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Pink1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
 }
forward AltPink(vehicleid);
public AltPink(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(Pink1[vehicleid]);
		Pink1[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Pink1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(Pink1[vehicleid]);
		Pink1[vehicleid] = CreateObject(18651, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Pink1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward SetAltRed(vehicleid);
public SetAltRed(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltRed",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	Red1[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Red1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
 }
forward AltRed(vehicleid);
public AltRed(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(Red1[vehicleid]);
		Red1[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Red1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(Red1[vehicleid]);
		Red1[vehicleid] = CreateObject(18647, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(Red1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward SetAltWhite(vehicleid);
public SetAltWhite(vehicleid)
{
	BlinkTimerT[vehicleid] = SetTimerEx("AltWhite",500,1,"i",vehicleid);
	AltFlash[vehicleid] = 1;
	AltSide1[vehicleid] = 0;
	White1[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(White1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
}
forward AltWhite(vehicleid);
public AltWhite(vehicleid)
{
	if(AltSide1[vehicleid] == 0)
	{
		DestroyObject(White1[vehicleid]);
		White1[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(White1[vehicleid], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 1;
    }
    else if(AltSide1[vehicleid] == 1)
	{
		DestroyObject(White1[vehicleid]);
		White1[vehicleid] = CreateObject(18652, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    	AttachObjectToVehicle(White1[vehicleid], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    	AltSide1[vehicleid] = 0;
    }
    return 1;
}
//----------------------------------------------------------
forward StopBlinkNeons(vehicleid);
public StopBlinkNeons(vehicleid)
{
	KillTimer(BlinkTimerT[vehicleid]);
 	DeleteNeons(vehicleid);
	BlinkTimer[vehicleid] = 0;
	AltFlash[vehicleid] = 0;
	return 1;
}
//----------------------------------------------------------
forward Hydraulics(playerid, vehicleid);
public Hydraulics(playerid, vehicleid)
{
    AddVehicleComponent(vehicleid,1087);
	return 1;
}
//----------------------------------------------------------
forward DeleteNeons(vehicleid);
public DeleteNeons(vehicleid)
{
	SolidNeon[vehicleid] = 0;
	DestroyObject(Blue1[vehicleid]);
	DestroyObject(Blue2[vehicleid]);
	DestroyObject(Green1[vehicleid]);
	DestroyObject(Green2[vehicleid]);
	DestroyObject(Pink1[vehicleid]);
	DestroyObject(Pink2[vehicleid]);
	DestroyObject(Red1[vehicleid]);
	DestroyObject(Red2[vehicleid]);
	DestroyObject(Yellow1[vehicleid]);
	DestroyObject(Yellow2[vehicleid]);
	DestroyObject(White1[vehicleid]);
	DestroyObject(White2[vehicleid]);
	DestroyObject(ALLCOLOR1[vehicleid]);
 	DestroyObject(ALLCOLOR2[vehicleid]);
 	return 1;
}
//------------------------------------------------------------------------------
Reply
#2

Try convert it into this:

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_NEONTYPES)
	{
	    if(response == 1)
	    {
                  //blahblah
             }
            if(response == 2)
            {
             //etc
             }
Reply
#3

I've made this up for you, I'm not sure if it's the best way to do it, and probably isn't... but this will work. I have tested it.

pawn Код:
//------- Redreaper666's and Aston482UK's advanced Neon4Cars Filerscript ------- //Edited by Threshold/BenzoAMG
#include <a_samp>
#include <zcmd>
//------------------------------------------------------------------------------
#define DIALOG_NEON_MENU                150
#define DIALOG_NEON_TYPES               151
#define DIALOG_NEON_TYPES_SOLID         152
#define DIALOG_NEON_TYPES_SIMULTANEOUS  153
#define DIALOG_NEON_TYPES_ALTERNATING   154
//------------------------------------------------------------------------------
new Neon[MAX_VEHICLES][2];
new FlashTimer[MAX_VEHICLES] = -1;
new NeonStatus[MAX_VEHICLES];
//------------------------------------------------------------------------------
stock DestroyVehicleNeons(vehicleid)
{
    if(IsNeonActive(vehicleid))
    {
        DestroyObject(Neon[vehicleid][0]);
        DestroyObject(Neon[vehicleid][1]);
        Neon[vehicleid][0] = INVALID_OBJECT_ID;
        Neon[vehicleid][1] = INVALID_OBJECT_ID;
    }
    if(FlashTimer[vehicleid] != -1)
    {
        KillTimer(FlashTimer[vehicleid]);
        FlashTimer[vehicleid] = -1;
    }
    return 1;
}

stock IsNeonActive(vehicleid)
{
    if(IsValidObject(Neon[vehicleid][0]) || IsValidObject(Neon[vehicleid][1])) return 1;
    return 0;
}

stock IsValidNeonVehicle(model)
{
    switch(model)
    {
        case 400 .. 402, 404, 405, 409 .. 415, 418 .. 423, 426 .. 429, 431, 434, 436, 438 .. 440, 442, 445, 451, 458, 459, 466, 467, 474, 475, 477 .. 480, 482, 483, 489 .. 492, 494 .. 496, 498, 499,
        502 .. 508, 516 .. 518, 525 .. 529, 531, 533 .. 536, 540 .. 543, 545 .. 547, 549 .. 552, 554, 555, 558 .. 562, 565 .. 567, 575, 576, 579, 580, 585 .. 589, 596 .. 600, 602 .. 605, 609: return 1;
    }
    return 0;
}

stock SetNeon(vehicleid, type[])
{
    DestroyVehicleNeons(vehicleid);
    new neonid = 200;
    if(strfind(type, "Blue", true) != -1) neonid = 18648;
    else if(strfind(type, "Green", true) != -1) neonid = 18649;
    else if(strfind(type, "Pink", true) != -1) neonid = 18651;
    else if(strfind(type, "Red", true) != -1) neonid = 18647;
    else if(strfind(type, "White", true) != -1) neonid = 18652;
    else if(strfind(type, "Yellow", true) != -1) neonid = 18650;
   
    if(strfind(type, "Alt-", true) != -1)
    {
        NeonStatus[vehicleid] = 1;
        FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neonid, 1, 0);
    }
    else if(strfind(type, "Flash-", true) != -1)
    {
        NeonStatus[vehicleid] = 3;
        if(neonid == 200) FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, 18648, 0, 1);
        else FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neonid, 0, 0);
    }
    Neon[vehicleid][0] = CreateObject(neonid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    Neon[vehicleid][1] = CreateObject(neonid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
}
//------------------------------------------------------------------------------
forward NeonFlash(vehicleid, neoncolor, alternating, all);
public NeonFlash(vehicleid, neoncolor, alternating, all)
{
    if(alternating == 1)
    {
        if(NeonStatus[vehicleid] == 1)
        {
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            NeonStatus[vehicleid] = 2;
        }
        else if(NeonStatus[vehicleid] == 2)
        {
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            NeonStatus[vehicleid] = 1;
        }
        FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neoncolor, 1, 0);
    }
    else
    {
        if(all == 1)
        {
            DestroyVehicleNeons(vehicleid);
            neoncolor++;
            if(neoncolor > 18652) neoncolor = 18647;
            Neon[vehicleid][0] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
            Neon[vehicleid][1] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neoncolor, 0, 1);
        }
        else
        {
            if(IsNeonActive(vehicleid)) DestroyVehicleNeons(vehicleid);
            else if(!IsNeonActive(vehicleid))
            {
                Neon[vehicleid][0] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                Neon[vehicleid][1] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
                AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            }
            FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 500, false, "iiii", vehicleid, neoncolor, 0, 0);
        }
    }
    return 1;
}

public OnVehicleDeath(vehicleid, killerid) return DestroyVehicleNeons(vehicleid);
public OnVehicleSpawn(vehicleid) return DestroyVehicleNeons(vehicleid);
//------------------------------------------------------------------------------

CMD:neon(playerid,params[])
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use this command.");
    if(!IsValidNeonVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You can't use neon on this vehicle.");
    ShowPlayerDialog(playerid, DIALOG_NEON_MENU, DIALOG_STYLE_LIST, "Neon Menu", "{00FF00}Add Neon\n{FF0000}Remove All Neon", "Select", "Cancel");
    return 1;
}
//----------------------------------------------------------

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_NEON_MENU:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use neon.");
                switch(listitem)
                {
                    case 0: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
                    case 1: DestroyVehicleNeons(GetPlayerVehicleID(playerid)) && SendClientMessage(playerid, -1, "Neon Removed From Your Vehicle.");
                }
            }
            return 1;
        }
       
        case DIALOG_NEON_TYPES:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use neon.");
                switch(listitem)
                {
                    case 0: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_SOLID, DIALOG_STYLE_LIST, "Solid Vehicle Neon", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow", "Select", "Back");
                    case 1: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_SIMULTANEOUS, DIALOG_STYLE_LIST, "Simultaneous Flash Pattern", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow\n{A90202}All {F3FF02}Colours{FBDF89}(Cycling)", "Select", "Back");
                    case 2: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_ALTERNATING, DIALOG_STYLE_LIST, "Alternating Flash Pattern", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow", "Select", "Back");
                }
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_MENU, DIALOG_STYLE_LIST, "Neon Menu", "{00FF00}Add Neon\n{FF0000}Remove All Neon", "Select", "Cancel");
        }
       
        case DIALOG_NEON_TYPES_SOLID:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Yellow");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
       
        case DIALOG_NEON_TYPES_SIMULTANEOUS:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Flash-Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Flash-Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Flash-Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Flash-Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "Flash-White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Flash-Yellow");
                    case 6: SetNeon(GetPlayerVehicleID(playerid), "Flash-All");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
       
        case DIALOG_NEON_TYPES_ALTERNATING:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Alt-Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Alt-Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Alt-Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Alt-Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "Alt-White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Alt-Yellow");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
    }
    return 0;
}
Reply
#4

Quote:
Originally Posted by BenzoAMG
Посмотреть сообщение
I've made this up for you, I'm not sure if it's the best way to do it, and probably isn't... but this will work. I have tested it.

pawn Код:
//------- Redreaper666's and Aston482UK's advanced Neon4Cars Filerscript ------- //Edited by Threshold/BenzoAMG
#include <a_samp>
#include <zcmd>
//------------------------------------------------------------------------------
#define DIALOG_NEON_MENU                150
#define DIALOG_NEON_TYPES               151
#define DIALOG_NEON_TYPES_SOLID         152
#define DIALOG_NEON_TYPES_SIMULTANEOUS  153
#define DIALOG_NEON_TYPES_ALTERNATING   154
//------------------------------------------------------------------------------
new Neon[MAX_VEHICLES][2];
new FlashTimer[MAX_VEHICLES] = -1;
new NeonStatus[MAX_VEHICLES];
//------------------------------------------------------------------------------
stock DestroyVehicleNeons(vehicleid)
{
    if(IsNeonActive(vehicleid))
    {
        DestroyObject(Neon[vehicleid][0]);
        DestroyObject(Neon[vehicleid][1]);
        Neon[vehicleid][0] = INVALID_OBJECT_ID;
        Neon[vehicleid][1] = INVALID_OBJECT_ID;
    }
    if(FlashTimer[vehicleid] != -1)
    {
        KillTimer(FlashTimer[vehicleid]);
        FlashTimer[vehicleid] = -1;
    }
    return 1;
}

stock IsNeonActive(vehicleid)
{
    if(IsValidObject(Neon[vehicleid][0]) || IsValidObject(Neon[vehicleid][1])) return 1;
    return 0;
}

stock IsValidNeonVehicle(model)
{
    switch(model)
    {
        case 400 .. 402, 404, 405, 409 .. 415, 418 .. 423, 426 .. 429, 431, 434, 436, 438 .. 440, 442, 445, 451, 458, 459, 466, 467, 474, 475, 477 .. 480, 482, 483, 489 .. 492, 494 .. 496, 498, 499,
        502 .. 508, 516 .. 518, 525 .. 529, 531, 533 .. 536, 540 .. 543, 545 .. 547, 549 .. 552, 554, 555, 558 .. 562, 565 .. 567, 575, 576, 579, 580, 585 .. 589, 596 .. 600, 602 .. 605, 609: return 1;
    }
    return 0;
}

stock SetNeon(vehicleid, type[])
{
    DestroyVehicleNeons(vehicleid);
    new neonid = 200;
    if(strfind(type, "Blue", true) != -1) neonid = 18648;
    else if(strfind(type, "Green", true) != -1) neonid = 18649;
    else if(strfind(type, "Pink", true) != -1) neonid = 18651;
    else if(strfind(type, "Red", true) != -1) neonid = 18647;
    else if(strfind(type, "White", true) != -1) neonid = 18652;
    else if(strfind(type, "Yellow", true) != -1) neonid = 18650;
   
    if(strfind(type, "Alt-", true) != -1)
    {
        NeonStatus[vehicleid] = 1;
        FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neonid, 1, 0);
    }
    else if(strfind(type, "Flash-", true) != -1)
    {
        NeonStatus[vehicleid] = 3;
        if(neonid == 200) FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, 18648, 0, 1);
        else FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neonid, 0, 0);
    }
    Neon[vehicleid][0] = CreateObject(neonid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    Neon[vehicleid][1] = CreateObject(neonid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
    return 1;
}
//------------------------------------------------------------------------------
forward NeonFlash(vehicleid, neoncolor, alternating, all);
public NeonFlash(vehicleid, neoncolor, alternating, all)
{
    if(alternating == 1)
    {
        if(NeonStatus[vehicleid] == 1)
        {
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            NeonStatus[vehicleid] = 2;
        }
        else if(NeonStatus[vehicleid] == 2)
        {
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            NeonStatus[vehicleid] = 1;
        }
        FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neoncolor, 1, 0);
    }
    else
    {
        if(all == 1)
        {
            DestroyVehicleNeons(vehicleid);
            neoncolor++;
            if(neoncolor > 18652) neoncolor = 18647;
            Neon[vehicleid][0] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
            Neon[vehicleid][1] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 1000, false, "iiii", vehicleid, neoncolor, 0, 1);
        }
        else
        {
            if(IsNeonActive(vehicleid)) DestroyVehicleNeons(vehicleid);
            else if(!IsNeonActive(vehicleid))
            {
                Neon[vehicleid][0] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                Neon[vehicleid][1] = CreateObject(neoncolor, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                AttachObjectToVehicle(Neon[vehicleid][0], vehicleid, -0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
                AttachObjectToVehicle(Neon[vehicleid][1], vehicleid, 0.8, 0.0, -0.55, 0.0, 0.0, 0.0);
            }
            FlashTimer[vehicleid] = SetTimerEx("NeonFlash", 500, false, "iiii", vehicleid, neoncolor, 0, 0);
        }
    }
    return 1;
}

public OnVehicleDeath(vehicleid, killerid) return DestroyVehicleNeons(vehicleid);
public OnVehicleSpawn(vehicleid) return DestroyVehicleNeons(vehicleid);
//------------------------------------------------------------------------------

CMD:neon(playerid,params[])
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use this command.");
    if(!IsValidNeonVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You can't use neon on this vehicle.");
    ShowPlayerDialog(playerid, DIALOG_NEON_MENU, DIALOG_STYLE_LIST, "Neon Menu", "{00FF00}Add Neon\n{FF0000}Remove All Neon", "Select", "Cancel");
    return 1;
}
//----------------------------------------------------------

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_NEON_MENU:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use neon.");
                switch(listitem)
                {
                    case 0: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
                    case 1: DestroyVehicleNeons(GetPlayerVehicleID(playerid)) && SendClientMessage(playerid, -1, "Neon Removed From Your Vehicle.");
                }
            }
            return 1;
        }
       
        case DIALOG_NEON_TYPES:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to use neon.");
                switch(listitem)
                {
                    case 0: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_SOLID, DIALOG_STYLE_LIST, "Solid Vehicle Neon", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow", "Select", "Back");
                    case 1: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_SIMULTANEOUS, DIALOG_STYLE_LIST, "Simultaneous Flash Pattern", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow\n{A90202}All {F3FF02}Colours{FBDF89}(Cycling)", "Select", "Back");
                    case 2: ShowPlayerDialog(playerid, DIALOG_NEON_TYPES_ALTERNATING, DIALOG_STYLE_LIST, "Alternating Flash Pattern", "{0000FF}Blue\n{00FF00}Green\n{FF00EA}Pink\n{FF0000}Red\n{FFFFFF}White\n{FFFF00}Yellow", "Select", "Back");
                }
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_MENU, DIALOG_STYLE_LIST, "Neon Menu", "{00FF00}Add Neon\n{FF0000}Remove All Neon", "Select", "Cancel");
        }
       
        case DIALOG_NEON_TYPES_SOLID:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Yellow");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
       
        case DIALOG_NEON_TYPES_SIMULTANEOUS:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Flash-Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Flash-Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Flash-Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Flash-Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "Flash-White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Flash-Yellow");
                    case 6: SetNeon(GetPlayerVehicleID(playerid), "Flash-All");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
       
        case DIALOG_NEON_TYPES_ALTERNATING:
        {
            if(response)
            {
                if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xF81414FF, "ERROR: {FFFFFF}You must be the driver of a vehicle to add neon.");
                if(IsNeonActive(GetPlayerVehicleID(playerid))) DestroyVehicleNeons(GetPlayerVehicleID(playerid));
                switch(listitem)
                {
                    case 0: SetNeon(GetPlayerVehicleID(playerid), "Alt-Blue");
                    case 1: SetNeon(GetPlayerVehicleID(playerid), "Alt-Green");
                    case 2: SetNeon(GetPlayerVehicleID(playerid), "Alt-Pink");
                    case 3: SetNeon(GetPlayerVehicleID(playerid), "Alt-Red");
                    case 4: SetNeon(GetPlayerVehicleID(playerid), "Alt-White");
                    case 5: SetNeon(GetPlayerVehicleID(playerid), "Alt-Yellow");
                }
                SendClientMessage(playerid, -1, "Neon Added.");
            }
            else ShowPlayerDialog(playerid, DIALOG_NEON_TYPES, DIALOG_STYLE_LIST, "Add Vehicle Neon", "Solid Neon (No Flash)\nSimultaneous Flash Pattern\nAlternating Flash Pattern", "Select", "Back");
            return 1;
        }
    }
    return 0;
}
Thanks for trying to help me Its did not worked +rep anyway
Reply
#5

The code works, I tested it myself..

The only problem I could see in the original post was that you did:
pawn Код:
ShowPlayerDialog(playerid, DIALOG_SOLID, DIALOG_STYLE_LIST
and the dialog was DIALOG_NEONTYPES when it should of been DIALOG_SOLID.

Check your gamemode to make sure that OnDialogResponse returns 0.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)