[ShowPlayerDialog/OnDialogResponse] Works with FS?
#1

Im trying to create a FS which is using a dialog as a menu.
I can see the dialog and press on it but the OnDialogResponse never comes :\
here's a piece of code which doesn't works for me :S
Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
  new str[256];
  	format(str,sizeof(str),"response%d,listitem:%d,dialogid:%d",response,listitem,dialogid);
  	SendClientMessage(playerid,COLOR_RED,str);
}
Reply
#2

Quote:
Originally Posted by Xecute
Im trying to create a FS which is using a dialog as a menu.
I can see the dialog and press on it but the OnDialogResponse never comes :\
here's a piece of code which doesn't works for me :S
Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
  new str[256];
 	format(str,sizeof(str),"response%d,listitem:%d,dialogid:%d",response,listitem,dialogid);
 	SendClientMessage(playerid,COLOR_RED,str);
}
Post the hole code.
Reply
#3

Bump! same problem over here...

is there anything to be done extra in a FS?

there is no response what so ever, I checked it over and over with my other dialog's that do work

this is shown
pawn Code:
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_LIST, "San Fierro CarDealer:", "Info\nTest Drive\nBuy", "select", "exit");
but this is NOT ... no response on the dialog above
pawn Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
  if(dialogid == DIALOG_2)
    {
        if(response)
        {
            if(listitem == 0) // Info
            {
                ShowPlayerDialog(playerid, DIALOG_2+1, DIALOG_STYLE_MSGBOX,"[censored]","[censored]","back","exit");
            }
            if(listitem == 1) // Test Drive
            {
                ShowPlayerDialog(playerid, DIALOG_2+2, DIALOG_STYLE_LIST,"[censored]","[censored]","select","back");
            }
            if(listitem == 2) // Buy
            {
                ShowPlayerDialog(playerid, DIALOG_2+3, DIALOG_STYLE_LIST,"[censored]","[censored]","select","back");
            }
        }
        else
        {
          ShowPlayerDialog(playerid,-1,0,"","","","");
          TogglePlayerControllable(playerid,true);
        }
        return 1;
    }
return 1;
}
Reply
#4

It works for me...I use a dialog for my teleport list AND for my user logins which are both run by FS.

Here's my FS:
Hope this helps
Code:
//
// Zinglish's teleports (For xtreme)
//

#include <a_samp>
#include <streamer>
new listPlaces[] = "Stunts:\n\t/megajump\n\t/pod (Pipe of doom)\n\t/nrgball\nPlaces:\n\t/skatepark\n\t/wang\n\t/aircrafts\nDrop ins:\n\tLos Santos\n\tSanFierro\n\tLas Venturas";

// ***************************************************************************************************************************************************
// ***************************************************************************************************************************************************
// ***************************************************************************************************************************************************

stock Telemegajump(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), 1471.7214355469, 2239.2336425781, 542.82824707031);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 180);
	}
	else
	{
		SetPlayerPos(playerid, 1471.7214355469, 2239.2336425781, 542.82824707031);
		SetPlayerFacingAngle(playerid, 180);
	}
	SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
}
// ***************************************************************************************************************************************************
stock Telepod(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), 1791.6696777344, -1297.0129394531, 131.73320007324);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 229.30999755859);
	}
	else
	{
		SetPlayerPos(playerid, 1791.6696777344, -1297.0129394531, 131.73320007324);
		SetPlayerFacingAngle(playerid, 229.30999755859);
	}
	SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
}
// ***************************************************************************************************************************************************
stock Telenrgball(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), 1573.6396484375, -1238.9627685547, 282.36779785156);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 0);
	}
	else
	{
	  SetPlayerPos(playerid, 1573.6396484375, -1238.9627685547, 282.36779785156);
		SetPlayerFacingAngle(playerid, 0);
		SetPlayerInterior(playerid, 0);
	}
  SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
	GameTextForPlayer(playerid, "NRG-Ball", 5000, 1);
}
// ***************************************************************************************************************************************************
stock Teleskatepark(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), 1864.2099609375, -1388.6309814453, 13.487498283386);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 248.43542480469);
	}
	else
	{
 		SetPlayerPos(playerid, 1864.2099609375, -1388.6309814453, 13.487498283386);
		SetPlayerFacingAngle(playerid, 248.43542480469);
	}
	SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
}
// ***************************************************************************************************************************************************
stock Telewang(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), -1978.7198,302.6987,35.1719);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 192.4455);
	}
	else
	{
		SetPlayerFacingAngle(playerid, 192.4455);
		SetPlayerPos(playerid, -1978.7198,302.6987,35.1719);
	}
	SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
	GameTextForPlayer(playerid, "Welcome to Wang Cars!", 5000, 1);
}
// ***************************************************************************************************************************************************
stock Teleaircrafts(playerid)
{
  if(IsPlayerInAnyVehicle(playerid))
	{
		SetVehiclePos(GetPlayerVehicleID(playerid), 350.27853393555, 2534.2934570313, 16.738418579102);
		SetVehicleZAngle(GetPlayerVehicleID(playerid), 89.730041503906);
	}
	else
	{
 		SetPlayerPos(playerid, 350.27853393555, 2534.2934570313, 16.738418579102);
    SetPlayerFacingAngle(playerid, 89.730041503906);
	}
	SetPlayerInterior(playerid, 0);
	SetCameraBehindPlayer(playerid);
	Streamer_UpdateObjects(playerid);
}

// ***************************************************************************************************************************************************
// ***************************************************************************************************************************************************
// ***************************************************************************************************************************************************

//------------------------------------------------

public OnFilterScriptInit()
{
	print("\n*******************************\n");
	print("*********Teleports loaded*******\n");
	print("*******************************\n");
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	// Spawn dialog
	if(dialogid == 2)
	{
	  if(response)
	  {
	    if(listitem == 0)
	    {
	      ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of teleports:", listPlaces, "Teleport", "Close");
	    }
	    if(listitem == 1)
	    {
	      Telemegajump(playerid);
	    }
	    if(listitem == 2)
	    {
	      Telepod(playerid);
	    }
	    if(listitem == 3)
	    {
	      Telenrgball(playerid);
	    }
	    if(listitem == 4)
	    {
	      ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of teleports:", listPlaces, "Teleport", "Close");
	    }
	    if(listitem == 5)
	    {
	      Teleskatepark(playerid);
	    }
			if(listitem == 6)
			{
				Telewang(playerid);
			}
			if(listitem == 7)
			{
				Teleaircrafts(playerid);
			}
	    if(listitem == 8)
	    {
	      ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of teleports:", listPlaces, "Teleport", "Close");
	    }
		  if(listitem == 9)
		  {
		    SetPlayerInterior(playerid, 0);
		    SetPlayerPos(playerid, 1531.9945068359, -1404.6865234375, 1174.1290283203);
		    GameTextForPlayer(playerid, "Los Santos", 5000, 5);
		    GivePlayerWeapon(playerid, 46, 1); // Give player a parachute
		  }
		  if(listitem == 10)
		  {
		    SetPlayerInterior(playerid, 0);
		    SetPlayerPos(playerid, -2335.7873535156, 142.20838928223, 521.37915039063);
		    GameTextForPlayer(playerid, "San Fierro", 5000, 5);
		    GivePlayerWeapon(playerid, 46, 1); // Give player a parachute
		  }
		  if(listitem == 11)
		  {
		    SetPlayerInterior(playerid, 0);
		    SetPlayerPos(playerid, 2124.1752929688, 1867.3858642578, 794.47698974609);
		    GameTextForPlayer(playerid, "Las Venturas", 5000, 5);
		    GivePlayerWeapon(playerid, 46, 1); // Give player a parachute
		  }
	  }
	  else
	  {
			return 0;
	  }
	}
	
	return 0;
}

public OnPlayerSpawn(playerid)
{
	ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of teleports:", listPlaces, "Teleport", "Close");
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	// For when the player wants to spawn the teleport menu
	if(strcmp(cmdtext, "/telemenu") == 0)
	{
		ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "List of teleports:", listPlaces, "Teleport", "Close");
		return 1;
	}
	
	if(strcmp(cmdtext, "/megajump") == 0)
	{
		Telemegajump(playerid);
		return 1;
	}

  if(strcmp(cmdtext, "/pod") == 0)
	{
		Telepod(playerid);
		return 1;
	}

  if(strcmp(cmdtext, "/skatepark") == 0)
	{
	  Teleskatepark(playerid);
 		return 1;
	}
	
	if(strcmp(cmdtext, "/aircrafts") == 0)
	{
	  Teleaircrafts(playerid);
 		return 1;
	}

	if(strcmp(cmdtext, "/wang") == 0)
	{
		Telewang(playerid);
		return 1;
	}

	if(strcmp(cmdtext, "/carsfloor1") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2324.8737792969, 1502.9409179688, 10.863513946533);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 210.43542480469);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		else
		{
		  SetPlayerPos(playerid, 2324.8737792969, 1502.9409179688, 10.863513946533);
			SetPlayerFacingAngle(playerid, 210.43542480469);
			SetPlayerInterior(playerid, 0);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		GameTextForPlayer(playerid, "Welcome to Cars: Floor 1", 5000, 1);
		return 1;
	}

	if(strcmp(cmdtext, "/carsfloor2") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2305.40234375, 1497.9505615234, 17.277408599854);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 200.48046875);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		else
		{
		  SetPlayerPos(playerid, 2305.40234375, 1497.9505615234, 17.277408599854);
			SetPlayerFacingAngle(playerid, 200.48046875);
			SetPlayerInterior(playerid, 0);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		GameTextForPlayer(playerid, "Welcome to Cars: Floor 2", 5000, 1);
		return 1;
	}

	if(strcmp(cmdtext, "/carsfloor3") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2310.3598632813, 1406.9171142578, 23.631227493286);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 39.880004882813);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		else
		{
		  SetPlayerPos(playerid, 2310.3598632813, 1406.9171142578, 23.631227493286);
			SetPlayerFacingAngle(playerid, 39.880004882813);
			SetPlayerInterior(playerid, 0);
			SetCameraBehindPlayer(playerid);
			Streamer_UpdateObjects(playerid);
		}
		GameTextForPlayer(playerid, "Welcome to Cars: Floor 3", 5000, 1);
		return 1;
	}

	if(strcmp(cmdtext, "/carsfloor4") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2306.3552246094, 1499.2661132813, 30.031227111816);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 200.48046875);
		}
		else
		{
		  SetPlayerPos(playerid, 2306.3552246094, 1499.2661132813, 30.031227111816);
			SetPlayerFacingAngle(playerid, 200.48046875);
			SetPlayerInterior(playerid, 0);
		}
    GameTextForPlayer(playerid, "Welcome to Cars: Floor 4", 5000, 1);
		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		return 1;
	}

	if(strcmp(cmdtext, "/carsfloor5") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2305.3283691406, 1408.1834716797, 36.415596008301);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 19.940002441406);
		}
		else
		{
		  SetPlayerPos(playerid, 2305.3283691406, 1408.1834716797, 36.415596008301);
			SetPlayerFacingAngle(playerid, 19.940002441406);
			SetPlayerInterior(playerid, 0);
		}
    GameTextForPlayer(playerid, "Welcome to Cars: Floor 5", 5000, 1);
		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		return 1;
	}

	if(strcmp(cmdtext, "/locolow") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2644.8776855469, -2030.2574462891, 13.546875);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 180);
		}
		else
		{
		  SetPlayerPos(playerid, 2644.8776855469, -2030.2574462891, 13.546875);
			SetPlayerFacingAngle(playerid, 180);
			SetPlayerInterior(playerid, 0);
		}

		GameTextForPlayer(playerid, "Loco Low", 5000, 1);
		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		return 1;
	}

	if(strcmp(cmdtext, "/arch") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), -2709.3637695313, 217.45370483398, 4.1796875);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 90);
		}
		else
		{
		  SetPlayerPos(playerid, -2709.3637695313, 217.45370483398, 4.1796875);
			SetPlayerFacingAngle(playerid, 90);
			SetPlayerInterior(playerid, 0);
		}

		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		GameTextForPlayer(playerid, "Arch Angels", 5000, 1);
		return 1;
	}

	if(strcmp(cmdtext, "/trans") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 2386.4992675781, 1035.1901855469, 10.8203125);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 0);
		}
		else
		{
		  SetPlayerPos(playerid, 2386.4992675781, 1035.1901855469, 10.8203125);
			SetPlayerFacingAngle(playerid, 0);
			SetPlayerInterior(playerid, 0);
		}

		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		GameTextForPlayer(playerid, "Transfender", 5000, 1);
		return 1;
	}

	if(strcmp(cmdtext, "/nrgball") == 0)
	{
		Telenrgball(playerid);
		return 1;
	}
	
	if(strcmp(cmdtext, "/halfpipe") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 913.63812255859, -2210.4677734375, 68.524879455566);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 90);
		}
		else
		{
			SetPlayerFacingAngle(playerid, 90);
			SetPlayerPos(playerid, 913.63812255859, -2210.4677734375, 68.524879455566);
		}
		SetPlayerInterior(playerid, 0);
		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		GameTextForPlayer(playerid, "Welcome to Wang Cars!", 5000, 1);

		return 1;
	}
	
	if(strcmp(cmdtext, "/hpcoaster") == 0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			SetVehiclePos(GetPlayerVehicleID(playerid), 495.12878417969, -2238.7932128906, 391.82876586914);
			SetVehicleZAngle(GetPlayerVehicleID(playerid), 270);
		}
		else
		{
			SetPlayerFacingAngle(playerid, 270);
			SetPlayerPos(playerid, 495.12878417969, -2238.7932128906, 391.82876586914);
		}
		SetPlayerInterior(playerid, 0);
		SetCameraBehindPlayer(playerid);
		Streamer_UpdateObjects(playerid);
		GameTextForPlayer(playerid, "Welcome to Wang Cars!", 5000, 1);

		return 1;
	}

	
	return 0;
}
Reply
#5

Could it be the return 0; at the end?

Should that be done in every filterscript? do you have a return 0; at the end off OnDialogResponse() in every FS?

Grts Riz

EDIT: been playing with those return 0; / return 1; AND if I have just on FS running it works fine, but when 2 FS (with both cps checkpoints) I get the dialog off Fs2 in Fs1

SOLVED
IN EVERY FS -> RETURN 0; at the end of OnDialogResponse(); -- > THNX ZINGLISH WITOUTH YOUR CODE I WOULDN'T HAVE FIGURED IT OUT

Reply
#6

Hey, no problem, just happy to lend a hand
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)