PDA

View Full Version : How to add Moneybag?


Johnny Jojy
10/11/2012, 02:00 AM
Guys,I need a help with scripting..
If something is dropped on the floor (eg-Money Bag)
and when a player pass through it.That money bag should be attached to that player and that player should get 200$ per 2 seconds..How?
What is the script for that?? :confused:

Lordzy
10/11/2012, 02:50 AM
You could create a pickup of it using CreatePickup and then call it under OnPlayerPickupPickup callback.

Here's an example,

public OnPlayerDeath(playerid, killerid, reason)
{
new briefcase;
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid, xpos, ypos, zpos);
new vworld[MAX_PLAYERS];
vworld[playerid] = GetPlayerVirtualWorld(playerid);
briefcase = CreatePickup(1210, 2, xpos, ypos, zpos, vworld[playerid]); //Creates the briefcase when player dies, on his position.
return 1;
}

public OnPlayerPickupPickup(playerid, pickupid)
{
if(pickupid == briefcase) //When picking a briefcase.
{
GivePlayerMoney(playerid, 500); //Gives money.
SetPlayerAttachedObject(playerid, 3, 1210, 6); //Attach's the briefcase.
DestroyPickup(briefcase);
}
return 1;
}

Johnny Jojy
10/11/2012, 03:28 AM
Thanks,But am new in scripting..So can you tell me where to add them :-/

[HK]Ryder[AN]
10/11/2012, 03:47 AM
use this code
public OnPlayerDeath(playerid, killerid, reason)
{
new briefcase;
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid, xpos, ypos, zpos);
new vworld[MAX_PLAYERS];
vworld[playerid] = GetPlayerVirtualWorld(playerid);
briefcase = CreatePickup(1210, 2, xpos, ypos, zpos, vworld[playerid]); //Creates the briefcase when player dies, on his position.
return 1;
}

public OnPlayerPickupPickup(playerid, pickupid)
{
if(pickupid == briefcase) //When picking a briefcase.
{
SetTimerEx("givemoney", 2000, true, "i", playerid);
SetPlayerAttachedObject(playerid, 3, 1210, 6); //Attach's the briefcase.
DestroyPickup(briefcase);
}
return 1;
}
forward givemoney(playerid);
public givemoney(playerid)
{
GivePlayerMoney(playerid, 200);
return 1;
}

Lordzy
10/11/2012, 06:28 AM
Oh I didn't see that I must give 200 always :/. Thanks Ryder for posting it and Johnny you can add it as a filterscript.
Here's it, and I've embedded it a bit in adding a command and some other.

#include <a_samp>
#include <zcmd>
#include <sscanf2>

#define FILTERSCRIPT
#define red 0xFF0000FF
#define green 0xFF0000

new Lbrief[MAX_PLAYERS];
CMD:givebriefcase(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, red, "You must login as RCON admin to use this command.");
new p2, str[128], Lname[MAX_PLAYER_NAME];
if(sscanf(params,"u",p2)) return SendClientMessage(playerid, red, "Usage: /givebriefcase [playerid]");
Lbrief[p2] = 1;
GetPlayerName(playerid, Lname, sizeof(Lname));
format(str, sizeof(str), "You have recieved a briefcase from %s", Lname);
SendClientMessage(p2, green, str);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
if(Lbrief[playerid] == 1)
{
new briefcase;
new Float:xpos,Float:ypos,Float:zpos;
GetPlayerPos(playerid, xpos, ypos, zpos);
new vworld[MAX_PLAYERS];
vworld[playerid] = GetPlayerVirtualWorld(playerid);
briefcase = CreatePickup(1210, 2, xpos, ypos, zpos, vworld[playerid]); //Creates the briefcase when player dies, on his position.
Lbrief[playerid] = 0;
}
return 1;
}

public OnPlayerPickupPickup(playerid, pickupid)
{
if(pickupid == briefcase) //When picking a briefcase.
{
SetPlayerAttachedObject(playerid, 3, 1210, 6); //Attach's the briefcase.
DestroyPickup(briefcase);
Lbrief[playerid] = 1;
}
return 1;
}

public OnPlayerUpdate(playerid)
{
if(Lbrief[playerid] == 1)
{
SetTimerEx("givemoney", 2000, true, "i", playerid);
}
return 1;
}
forward givemoney(playerid);
public givemoney(playerid)
{
GivePlayerMoney(playerid, 200);
return 1;
}
Use /givebriefcase to give briefcase to a player.

Just compile this and check for errors/warns, if you have, please PM me or post here. If no errors/warns, add this as a filterscript and it will work.

Note:You must login as RCON to use /givebreifcase and must have zcmd include and sscanf2 include+plugin.

Johnny Jojy
10/11/2012, 09:47 AM
They are showing "cannot read from file: "zcmd" am not having zcmd file..What to do??

Johnny Jojy
10/11/2012, 09:54 AM
I was not having file "zcmd" and "sscanf2" I downloaded it and added.Now its showing--
C:\Users\admin\Desktop\License To Kill\filterscripts\Money Bag.txt(39) : error 017: undefined symbol "briefcase"
C:\Users\admin\Desktop\License To Kill\filterscripts\Money Bag.txt(42) : error 017: undefined symbol "briefcase"

Johnny Jojy
10/11/2012, 03:20 PM
Please help me......

Lordzy
10/11/2012, 03:23 PM
At the top, add this

new briefcase;

Johnny Jojy
10/11/2012, 03:39 PM
oh,ok and I need a bomb planting/diffusion script.Can I have one..
I need is - when its planting time terrorist team show have a red marker in mad and when its time to defuse army team should defuse it..