CMD:buyhouselock(playerid, params[])
{
new idx = GetPlayerVirtualWorld(playerid)-100;
if(BizInfo[idx][bType] == 1)
{
ShowPlayerDialog(playerid, BUYHOUSELOCK, DIALOG_STYLE_LIST, "Lock Type", "Door Lock - 50,000$\nCentral Locking System - 250,000$", "Choose", "Cancel"); //HERE is where the code reaches, then returns on the next sentence. But NO DIALOG SHOWS.
return 1;
}
else
{
return SendClientMessage(playerid, COLOR_WHITE, "You are not in a 24/7 business shop.");
}
SendClientMessage(playerid, COLOR_WHITE, "BUG #3");
return 1;
}
if(dialogid == BUYHOUSELOCK)
{
if(response)
{
if(GetPlayerMoney(playerid) < PHouseLock(listitem)) return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough cash!");
if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, BUYHOUSELOCK2, DIALOG_STYLE_LIST, "Purchasing House Lock", "House slot 1\nHouse slot 2","Choose","Cancel");
}
else
{
ShowPlayerDialog(playerid, BUYHOUSELOCK3, DIALOG_STYLE_LIST, "Purchasing House Lock", "House slot 1\nHouse slot 2","Choose","Cancel");
}
}
else if(PlayerInfo[playerid][pPhousekey2] == INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID)
{
PlayerInfo[playerid][pHouseLock] = listitem+1;
GivePlayerCash(playerid, -PHouseLock(listitem));
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased the lock successfully for your first house slot!");
}
else if(PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey] == INVALID_HOUSE_ID)
{
PlayerInfo[playerid][pHouseLock2] = listitem+1;
GivePlayerCash(playerid, -PHouseLock(listitem));
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased the lock successfully for your first second slot!");
}
}
}
if(dialogid == BUYHOUSELOCK2)
{
switch(listitem)
{
case 0:
{
PlayerInfo[playerid][pHouseLock] = 1;
GivePlayerCash(playerid, -50000);
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased a door lock successfully for your first house slot!");
}
case 1:
{
PlayerInfo[playerid][pHouseLock2] = 1;
GivePlayerCash(playerid, -50000);
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased a door lock successfully for your second house slot!");
}
}
}
if(dialogid == BUYHOUSELOCK3)
{
switch(listitem)
{
case 0:
{
PlayerInfo[playerid][pHouseLock] = 2;
GivePlayerCash(playerid, -250000);
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased a central lock system successfully for your first house slot!");
}
case 1:
{
PlayerInfo[playerid][pHouseLock2] = 2;
GivePlayerCash(playerid, -250000);
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased a central lock system successfully for your second house slot!");
}
}
}
Are two topics necessary?
The array index ('idx') is probably out of bounds. Print it out. pawn Code:
|
What's the defination of BUYHOUSELOCK? Keep in mind that max dialog id is 32767 as you've been told before.
|
if(dialogid == BUYHOUSELOCK)
{
if(response)
{
if(GetPlayerMoney(playerid) < PHouseLock(listitem)) return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough cash!");
if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, BUYHOUSELOCK2, DIALOG_STYLE_LIST, "Purchasing House Lock", "House slot 1\nHouse slot 2","Choose","Cancel");
}
else
{
ShowPlayerDialog(playerid, BUYHOUSELOCK3, DIALOG_STYLE_LIST, "Purchasing House Lock", "House slot 1\nHouse slot 2","Choose","Cancel");
}
}
else if(PlayerInfo[playerid][pPhousekey2] == INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID)
{
PlayerInfo[playerid][pHouseLock] = listitem+1;
GivePlayerCash(playerid, -PHouseLock(listitem));
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased the lock successfully for your first house slot!");
}
else if(PlayerInfo[playerid][pPhousekey2] != INVALID_HOUSE_ID && PlayerInfo[playerid][pPhousekey] == INVALID_HOUSE_ID)
{
PlayerInfo[playerid][pHouseLock2] = listitem+1;
GivePlayerCash(playerid, -PHouseLock(listitem));
return SendClientMessage(playerid, COLOR_WHITE, "You have purchased the lock successfully for your first second slot!");
}
else return SendClientMessage(playerid, COLOR_WHITE, "You do not own a house.");
}
}