Posts: 116
Threads: 28
Joined: Feb 2015
Hey,
I wanted to ask how to make a DeathPickup, so if a player dies, that he leaves a pickup which stays there for 15seconds.
thx
Posts: 116
Threads: 28
Joined: Feb 2015
Quote:
Originally Posted by MafiaOink
Thats not 15 seconds its just 1 second, Here is 15 seconds and the timer is wrong
Код:
// This should be at the top under includes
new pMoneyDeath[MAX_PLAYERS];
new LastMoney;
new death_pickup;
forward messagepickup();
public OnPlayerDeath(playerid, killerid, reason)
{
GetPlayerCash(playerid, pMoneyDeath[playerid]);
// Declare 3 float variables to store the X, Y and Z coordinates in
new Float:x, Float:y, Float:z;
// Use GetPlayerPos, passing the 3 float variables we just created
GetPlayerPos(playerid, x, y, z);
// Create a cash pickup at the player's position
death_pickup = CreatePickup(1212, 4, x, y, z, -1); //Change the pickupid if you want
SetTimer("messagepickup", 15000, false);
LastMoney = pMoneyDeath[playerid];
return 1;
}
public messagepickup()
{
//some time later...
DestroyPickup(death_pickup);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == death_pickup)
{
GivePlayerMoney(playerid, LastMoney);
}
return 1;
}
This will give the players cash when the player picksup the pickup
|
Hey bro,
it gave me these Errors:
PHP код:
C:\Users\Charalambos\Desktop\bible\gamemodes\WarZ.pwn(2666) : error 017: undefined symbol "GetPlayerCash"
C:\Users\Charalambos\Desktop\bible\gamemodes\WarZ.pwn(2666) : warning 215: expression has no effect
C:\Users\Charalambos\Desktop\bible\gamemodes\WarZ.pwn(2666) : error 001: expected token: ";", but found "]"
C:\Users\Charalambos\Desktop\bible\gamemodes\WarZ.pwn(2666) : error 029: invalid expression, assumed zero
C:\Users\Charalambos\Desktop\bible\gamemodes\WarZ.pwn(2666) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Posts: 116
Threads: 28
Joined: Feb 2015
Quote:
Originally Posted by Kaliber
This could bug, if more than 1 guy dies
Write it like this:
PHP код:
new Death_Pick[3][MAX_PLAYERS];
public OnPlayerDeath(playerid,killerid,reason)
{
if(GetPlayerMoney(playerid) > 0)
{
Death_Pick[0][playerid] = GetPlayerMoney(playerid);
GivePlayerMoney(playerid,-Death_Pick[0][playerid]);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
Death_Pick[1][playerid] = CreatePickup(1212, 2, x, y, z, GetPlayerVirtualWorld(playerid));
Death_Pick[2][playerid] = SetTimerEx("@dP",1000*15,0,"i",playerid);
}
else SendClientMessage(playerid,-1,"* Lucker, you have no money to loose!");
return 1;
}
@dP(i);@dP(i) return DestroyPickup(Death_Pick[1][i]),Death_Pick[1][i]=0;
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i; i<MAX_PLAYERS; i++) {
if(Death_Pick[1][i] != pickupid) continue;
GivePlayerMoney(playerid,Death_Pick[0][i]),
DestroyPickup(Death_Pick[1][i]),
KillTimer(Death_Pick[2][i]),
Death_Pick[1][i]=0;
break;
}
return 1;
}
Greekz
|
Eyxaristw file mou,
thanks bro.
I will test it
Posts: 116
Threads: 28
Joined: Feb 2015
This function
PHP код:
@dP(i);@dP(i) return DestroyPickup(Death_Pick[1][i]),Death_Pick[1][i]=0;
Gives error :/