Jump to content
  • 0

pomoc Problem s pickupami


KuraMa

Dotaz

Mám znova problém dúfam že už posledný.Robím si arenu a mám tam pickupy zbrani HP a vesty,lenže keď som sám ide to v pohode,ale keď som tam s niekym a on zoberie ten pickup tak ten pickup nezmizne.

Tu je kód:

 

 

//port do areny
ocmd:arena(playerid,params[])
{
   if(jevarene[playerid] == 1)return SendClientMessage(playerid,0xFFAAFF,"Už si v arene,pre odchod použi /exarena");
   GetPlayerPos(playerid,X,Y,Z);
   SetTimer("pickupy",60000,false);
   jevarene[playerid] = 1;
   GameTextForPlayer(playerid,"~r~Bol si pripojeny ~b~ do areny pre ~w~ odchod pouzi /exarena",8000,5);
   ResetPlayerWeapons(playerid);
   SetPlayerPos(playerid,40.7208,1531.5510,12.7500);
   SetPlayerVirtualWorld(playerid,1);
   GivePlayerWeapon(playerid,1,999999);
   zbranpickup1[playerid] = CreatePickup(356,1,-33.4152,1502.2678,13.7492,1);
   zbranpickup2[playerid] = CreatePickup(356,1,0.9561,1479.6188,13.2496,1);
   zbranpickup3[playerid] = CreatePickup(355,1,37.3472,1492.0446,13.8312,1);
   zbranpickup4[playerid] = CreatePickup(355,1,8.3327,1567.1240,12.7500,1);
   zbranpickup5[playerid] = CreatePickup(353,1,-36.1281,1546.6001,12.8000,1);
   zbranpickup6[playerid] = CreatePickup(353,1,-19.6570,1560.1019,12.9203,1);
   return 1;
}
//public onplayerpickup
public OnPlayerPickUpPickup(playerid, pickupid)
{
	if(pickupid == zbranpickup1[playerid])
	{
		GivePlayerWeapon(playerid,31,50);
		DestroyPickup(zbranpickup1[playerid]);
		zbranpickup1[playerid] = -1;
		SetTimer("zbran1",60000,false);
	}
	if(pickupid == zbranpickup2[playerid])
	{
		GivePlayerWeapon(playerid,31,50);
		DestroyPickup(zbranpickup2[playerid]);
		zbranpickup2[playerid] = -1;
		SetTimer("zbran2",60000,false);
	}
	if(pickupid == zbranpickup3[playerid])
	{
		GivePlayerWeapon(playerid,30,50);
		DestroyPickup(zbranpickup3[playerid]);
		zbranpickup3[playerid] = -1;
		SetTimer("zbran3",60000,false);
	}
	if(pickupid == zbranpickup4[playerid])
	{
		GivePlayerWeapon(playerid,30,50);
		DestroyPickup(zbranpickup4[playerid]);
		zbranpickup4[playerid] = -1;
		SetTimer("zbran4",60000,false);
	}
	if(pickupid == zbranpickup5[playerid])
	{
		GivePlayerWeapon(playerid,29,50);
		DestroyPickup(zbranpickup5[playerid]);
		zbranpickup5[playerid] = -1;
		SetTimer("zbran5",60000,false);
	}
	if(pickupid == zbranpickup6[playerid])
	{
		GivePlayerWeapon(playerid,29,50);
		DestroyPickup(zbranpickup6[playerid]);
		zbranpickup6[playerid] = -1;
		SetTimer("zbran6",60000,false);
	}
    if(pickupid == hppickup1[playerid])
    {
        SetPlayerHealth(playerid,100);
        DestroyPickup(hppickup1[playerid]);
        hppickup1[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
    if(pickupid == hppickup2[playerid])
    {
        SetPlayerHealth(playerid,100);
        DestroyPickup(hppickup2[playerid]);
        hppickup2[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
    if(pickupid == hppickup3[playerid])
    {
        SetPlayerHealth(playerid,100);
        DestroyPickup(hppickup3[playerid]);
        hppickup3[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
    if(pickupid == vestapickup1[playerid])
    {
        SetPlayerArmour(playerid,100);
        DestroyPickup(vestapickup1[playerid]);
        vestapickup1[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
    if(pickupid == vestapickup2[playerid])
    {
        SetPlayerArmour(playerid,100);
        DestroyPickup(vestapickup2[playerid]);
        vestapickup2[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
    if(pickupid == vestapickup3[playerid])
    {
        SetPlayerArmour(playerid,100);
        DestroyPickup(vestapickup3[playerid]);
        vestapickup3[playerid] = -1;
        SetTimer("pickupy",60000,false);
        return 1;
    }
	return 1;
}
//public pickupy
public pickupy(playerid)
{
   new pickups = random(6);
   switch (pickups)
   {
	   case 0:hppickup1[playerid] = CreatePickup(1240,1,36.5012,1558.5099,13.8007,1);
	   case 1:hppickup2[playerid] = CreatePickup(1240,1,14.9635,1521.3167,14.9781,1);
	   case 2:hppickup3[playerid] = CreatePickup(1240,1,15.5463,1485.9327,12.7500,1);
	   case 3:vestapickup1[playerid] = CreatePickup(1242,1,-27.2449,1486.5269,13.2496,1);
	   case 4:vestapickup2[playerid] = CreatePickup(1242,1,-58.7937,1507.3346,12.7500,1);
	   case 5:vestapickup3[playerid] = CreatePickup(1242,1,-12.7272,1525.0887,12.7500,1);
   }
   return 1;
}
//a tu su publici zbrani
public zbran1(playerid)
{
    zbranpickup1[playerid] = CreatePickup(356,1,-33.4152,1502.2678,13.7492,1);
	return 1;
}

public zbran2(playerid)
{
    zbranpickup2[playerid] = CreatePickup(356,1,0.9561,1479.6188,13.2496,1);
	return 1;
}

public zbran3(playerid)
{
    zbranpickup3[playerid] = CreatePickup(355,1,37.3472,1492.0446,13.8312,1);
	return 1;
}

public zbran4(playerid)
{
    zbranpickup4[playerid] = CreatePickup(355,1,8.3327,1567.1240,12.7500,1);
	return 1;
}

public zbran5(playerid)
{
    zbranpickup5[playerid] = CreatePickup(353,1,-36.1281,1546.6001,12.8000,1);
	return 1;
}

public zbran6(playerid)
{
    zbranpickup6[playerid] = CreatePickup(353,1,-19.6570,1560.1019,12.9203,1);
	return 1;
}

 

 

Dakujem za odpovede.

Edited by KuraMa
Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0

Proč pro každého hráče co zadá "/arena" tvoříš X pickupů? Pak se nediv, že ti nemizej, když každej může zničit jen ty svoje. Udělej z toho global proměnné (zbranpickup1[playerid] -> zbranpickup1) a vytvoř to třeba pod OnGameModeInit, pak mužeš použít i ty tvoje SetTimer, které takto fungovat nebudou. Taky z těch tvejch publicu dej pryč playerid (zbran1(playerid) -> zbran1())

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...