new death_pickup; forward message(); public OnPlayerDeath(playerid, killerid, reason) { // 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("PickupDestroy", 1000, false); return 1; } public message() { //some time later... DestroyPickup(death_pickup); }
// 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; }
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; } |
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.
// This should be at the top under includes new pMoneyDeath[MAX_PLAYERS]; new LastMoney; new death_pickup; forward messagepickup(); public OnPlayerDeath(playerid, killerid, reason) { GetPlayerMoney(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; }
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;
}
This could bug, if more than 1 guy dies
Write it like this: PHP код:
|
@dP(i);@dP(i) return DestroyPickup(Death_Pick[1][i]),Death_Pick[1][i]=0;