SA-MP Forums Archive
OnPlayerPickUpPickup - 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: OnPlayerPickUpPickup (/showthread.php?tid=159389)



OnPlayerPickUpPickup - jamesbond007 - 13.07.2010

Код:
new Moneybag1;
new Moneybag2;
new Moneybag3;
MR()
{
	new mbrand = random(3);
	if(mbrand == 0)
	{
	    MB1();
 	}
	else if(mbrand == 1)
	{
	    MB2();
	}
	else if(mbrand == 2)
	{
	    MB3();
	}
}
MB1()
{
	Moneybag1 = CreatePickup(1550, 2, -435.7654,-60.1194,58.8750);//  The Panopticon In Small Garage
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in The Panoption.");
}
MB2()
{
	Moneybag2 = CreatePickup(1550, 2, 571.3318,824.5909,-29.8438);//  Hunter Quarry Under Ladder
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Hunter Quarry.");
}
MB3()
{
	Moneybag3 = CreatePickup(1550, 2, -2374.7766,2215.7478,4.9844);// Bayside Behind Light House
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Bayside.");
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new name[MAX_PLAYER_NAME];
    new string[128];
    if(pickupid == Moneybag2)
	{
	    GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in The Hunter Quarry that Worth $180000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 180000);
	}
	else if(pickupid == Moneybag3)
	{
		GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in Bayside that Worth $200000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 200000);
	}
	else if(pickupid == Moneybag1)
	{
	    GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in The Panoption that Worth $240000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 240000);
	}
	DestroyMR();
}
DestroyMR()
{
	DestroyPickup(Moneybag1);
	DestroyPickup(Moneybag2);
	DestroyPickup(Moneybag3);
}
everytime i pickup a "money bag" it says i have found it in The Hunter Quarry. it doesnt save the pickup id for some reason i think?

and if i switch the else if with if in onplayerpickup it sends all the three messages and gives me money for the 3 money bags.

pls help guys i cant figure this shit out... =(


Re: OnPlayerPickUpPickup - sTeAlthy [Brandon Brown] - 13.07.2010

Hmm weird. Should work.

I'll try to find a fix


Re: OnPlayerPickUpPickup - jamesbond007 - 13.07.2010

its like the pickup id doesnt save or anything... maybe im missing a return somewhere? ive been trying to fix this before already... nothing works


Re: OnPlayerPickUpPickup - jamesbond007 - 13.07.2010

bump^^^^


Re: OnPlayerPickUpPickup - Grim_ - 13.07.2010

How many times have you tested it in a row? It seems that random is always returning "2" out of luck.


Re: OnPlayerPickUpPickup - sTreTcheD - 13.07.2010

Its really have to work...
Maybe you can create a global var like this:
Код:
new Moneybag1;
new Moneybag2;
new Moneybag3;
new bag;
MR()
{
	new mbrand = random(3);
	if(mbrand == 0)
	{
	    MB1();
 	}
	else if(mbrand == 1)
	{
	    MB2();
	}
	else if(mbrand == 2)
	{
	    MB3();
	}
}
MB1()
{
	Moneybag1 = CreatePickup(1550, 2, -435.7654,-60.1194,58.8750);//  The Panopticon In Small Garage
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in The Panoption.");
        bag = 1;
}
MB2()
{
	Moneybag2 = CreatePickup(1550, 2, 571.3318,824.5909,-29.8438);//  Hunter Quarry Under Ladder
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Hunter Quarry.");
        bag = 2;
}
MB3()
{
	Moneybag3 = CreatePickup(1550, 2, -2374.7766,2215.7478,4.9844);// Bayside Behind Light House
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Bayside.");
        bag = 3;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new name[MAX_PLAYER_NAME];
    new string[128];
    if(pickupid == 1550)
{
if (bag == 1)
	{
	    GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in The Hunter Quarry that Worth $180000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 180000);
	}
	else if(bag == 2)
	{
		GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in Bayside that Worth $200000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 200000);
	}
	else if(bag == 3)
	{
	    GetPlayerName(playerid, name, sizeof(name));
		format(string, sizeof(string), "%s (%i) has Found the Lost Money Bag in The Panoption that Worth $240000.",name,playerid);
		SendClientMessageToAll(green, string);
		GivePlayerMoney(playerid, 240000);
	}
}
	DestroyMR();
}
DestroyMR()
{
	DestroyPickup(Moneybag1);
	DestroyPickup(Moneybag2);
	DestroyPickup(Moneybag3);
        bag == 0;
}



Re: OnPlayerPickUpPickup - [XST]O_x - 13.07.2010

The last part:
pawn Код:
DestroyMR()
{
    DestroyPickup(Moneybag1);
    DestroyPickup(Moneybag2);
    DestroyPickup(Moneybag3);
        bag == 0;
}
Will give you errors, you only use a double equal sign on a if/else/else-if statement.
bag = 0;
Don't know about the rest of the code though.


Re: OnPlayerPickUpPickup - DJDhan - 13.07.2010

You might want to try this:

Код:
new mbrand;

new Moneybag1;
new Moneybag2;
new Moneybag3;

stock MR()
{
	mbrand = 1+ random(2);
	if(mbrand == 1)
	{
	    	MB1();
 	}
	if(mbrand == 2)
	{
	    	MB2();
	}
	if(mbrand == 3)
	{
	    	MB3();
	}
	return 1;
}
stock MB1()
{
	Moneybag1 = CreatePickup(1550, 2, -435.7654,-60.1194,58.8750);//  The Panopticon In Small Garage
	return SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in The Panoption.");
}
stock MB2()
{
	Moneybag2 = CreatePickup(1550, 2, 571.3318,824.5909,-29.8438);//  Hunter Quarry Under Ladder
	return SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Hunter Quarry.");
}
stock MB3()
{
	Moneybag3 = CreatePickup(1550, 2, -2374.7766,2215.7478,4.9844);// Bayside Behind Light House
	return SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Bayside.");
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    	new name[MAX_PLAYER_NAME];
    	new string[128];

	GetPlayerName(playerid,name,sizeof(name));
	
	if(pickupid == Moneybag1)
	{
		format(string, sizeof(string), "%s (%d) has Found the Lost Money Bag in The Panoption that Worth $240000.",name,playerid);
		GivePlayerMoney(playerid, 240000);
	}
	if(pickupid == Moneybag2)
	{
		format(string, sizeof(string), "%s (%d) has Found the Lost Money Bag in The Hunter Quarry that Worth $180000.",name,playerid);
		GivePlayerMoney(playerid, 180000);
	}
	else if(pickupid == Moneybag3)
	{
		format(string, sizeof(string), "%s (%d) has Found the Lost Money Bag in Bayside that Worth $200000.",name,playerid);
		GivePlayerMoney(playerid, 200000);
	}

	SendClientMessageToAll(green, string);

	DestroyMR();
}
stock DestroyMR()
{
	DestroyPickup(Moneybag1);
	DestroyPickup(Moneybag2);
	DestroyPickup(Moneybag3);
	return 1;
}



Re: OnPlayerPickUpPickup - jamesbond007 - 13.07.2010

ty every1, ill try test that and reply back if it works


Re: OnPlayerPickUpPickup - jamesbond007 - 13.07.2010

tnx for help guys, i modified it a little bit cause no one's code was working. This works fine !
Код:
MR()
{
	new mbrand = random(3);
	if(mbrand == 0)
	{
	    MB1();
 	}
	else if(mbrand == 1)
	{
	    MB2();
	}
	else if(mbrand == 2)
	{
	    MB3();
	}
}
MB1()
{
	Moneybag = CreatePickup(1550, 2, -435.7654,-60.1194,58.8750);//  The Panopticon In Small Garage
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in The Panopticon.");
	bag = 3;
}
MB2()
{
	Moneybag = CreatePickup(1550, 2, 571.3318,824.5909,-29.8438);//  Hunter Quarry Under Ladder
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Hunter Quarry.");
	bag = 1;
}
MB3()
{
	Moneybag = CreatePickup(1550, 2, -2374.7766,2215.7478,4.9844);// Bayside Behind Light House
	SendClientMessageToAll(green, "Money Rush! A Money Bag has been dropped in Bayside.");
	bag = 2;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new name[MAX_PLAYER_NAME];
    new string[128];
    if(pickupid == Moneybag)
	{
		if(bag == 1)
		{
		    GetPlayerName(playerid, name, sizeof(name));
			format(string, sizeof(string), "%s (%i) Has Found the Lost Money Bag in The Hunter Quarry that Worth $180000.",name,playerid);
			SendClientMessageToAll(green, string);
			GivePlayerMoney(playerid, 180000);
		}
		else if(bag == 2)
		{
			GetPlayerName(playerid, name, sizeof(name));
			format(string, sizeof(string), "%s (%i) Has Found the Lost Money Bag in Bayside that Worth $200000.",name,playerid);
			SendClientMessageToAll(green, string);
			GivePlayerMoney(playerid, 200000);
		}
		else if(bag == 3)
		{
		    GetPlayerName(playerid, name, sizeof(name));
			format(string, sizeof(string), "%s (%i) Has Found the Lost Money Bag in The Panopticon that Worth $240000.",name,playerid);
			SendClientMessageToAll(green, string);
			GivePlayerMoney(playerid, 240000);
		}
	}
	DestroyMR();
}
DestroyMR()
{
	DestroyPickup(Moneybag);
 	bag = 0;
}