SA-MP Forums Archive
Define business pickup on playerpickup - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Define business pickup on playerpickup (/showthread.php?tid=554912)



Define business pickup on playerpickup - maiky1499 - 05.01.2015

That's what I got, and I want to define the pickup, I mean each business has it's own information and it's own pickup. So I want that when player pickup the business pickup, he will see business information of the pickup he took.

Код:
for(new idx=1; idx<MAX_BIZ; idx++)
	{
	    if(pickupid == ?)
	    {
		    new string[256];
		    if(BizInfo[idx][bFee])
			{
		 		format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~%d~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
			}
			else
			{
				format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~FREE~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
			}
			GameTextForPlayer(playerid, string, 3000, 5);
			return 1;
		}
		return 1;
	}



Re: Define business pickup on playerpickup - Schneider - 05.01.2015

Add 'bPickup' to your BizInfo-enum, when you create a pickup for a business, use:
pawn Код:
BizInfo[id][bPickup] = Create(Dynamic)Pickup(......);
Then at the callback OnPlayerPickUp(Dynamic)Pickup do something like:
pawn Код:
for(new idx=1; idx<MAX_BIZ; idx++)
{
    if(pickupid == BizInfo[idx][bPickup])
    {
        new string[256];
        if(BizInfo[idx][bFee])
        {
            format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~%d~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
        }
    else
        {
            format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~FREE~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
        }
        GameTextForPlayer(playerid, string, 3000, 5);
        break;
    }
}



Re: Define business pickup on playerpickup - VishvaJeet - 05.01.2015

pawn Код:
#define MAX_BUSINESS_PICKUP 200
new pickups[MAX_BUSINESS_PICKUP];

public OnGameModeInt()
{
   pickups[0] = CreatePickUp(.....);
   pickups[1] = CreatePickUp(.....);
   pickups[2] = CreatePickUp(.....);
   ...........
   ...........
   pickups[199] = CreatePickUp(.....);
}

public OnPlayerPickPickUp(playerid, pickupid)
{
   for(new i=0; i < MAX_BUSINESS_PICKUP; i++)
   {
       if(pickupid[i] == pickupid)
       {
            // do something
       }
   }
}
Its Example for give an idea, that how it will work.


Re: Define business pickup on playerpickup - maiky1499 - 05.01.2015

Quote:
Originally Posted by Schneider
Посмотреть сообщение
Add 'bPickup' to your BizInfo-enum, when you create a pickup for a business, use:
pawn Код:
BizInfo[id][bPickup] = Create(Dynamic)Pickup(......);
Then at the callback OnPlayerPickUp(Dynamic)Pickup do something like:
pawn Код:
for(new idx=1; idx<MAX_BIZ; idx++)
{
    if(pickupid == BizInfo[idx][bPickup])
    {
        new string[256];
        if(BizInfo[idx][bFee])
        {
            format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~%d~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
        }
    else
        {
            format(string, sizeof(string), "%s~n~~w~OWNER : %s~n~ENTRANCE FEE : ~g~FREE~n~~p~TO USE /ENTER", BizInfo[idx][bName], BizInfo[idx][bOwner], BizInfo[idx][bFee]);
        }
        GameTextForPlayer(playerid, string, 3000, 5);
        break;
    }
}
Helped alot, I'm using dynamic system and when I created two businsess and changed their information they both had the same one... Its like always businsess 1 information.


Re: Define business pickup on playerpickup - Schneider - 05.01.2015

Are you changing that info within a loop?


Re: Define business pickup on playerpickup - maiky1499 - 05.01.2015

Quote:
Originally Posted by Schneider
Посмотреть сообщение
Are you changing that info within a loop?
Yes, the information is changing for each business and another problem just came up. First I was able to pickup the both business pickups and now only the second one I created work and I created more and they're not working.

EDIT: Actually on every pickup that I pick I get the same info. Even not business pickups.