Jump to content
  • 0

pomoc ZbrojnýPreukaz


KuraMa

Dotaz

Mám taký problém znova...Dával som si toto http://pastebin.com/mpe1sy3y do FS a pridal som tam,že keď zničí ten object tak mu to má pripočítať a keď ich zničí 10 tak mu to má dať zbrojny preukaz,lenže keď zničíš tých 10 objektov nedá mi to zbrojný preuka.

Tu je kód kde som spravil to pripočítavanie ked znici ten object:

 

 

Toto je v publicu OnPlayerKeyStateChange

if(GetPVarInt(playerid, "training") == 1)
    {
        if(newkeys & KEY_FIRE && GetPlayerWeapon(playerid) != 0)
        {
                new Float:x,
                Float:y,
                Float:z;
                GetPosFromView(playerid, 80, x, y, z);
            for(new  ob,l=MAX_OBJECTS;ob<l;ob++)
                {
                if(ObjectToPoint(playerid, 1,ob, x, y, z) != 0)
                {
                    DestroyPlayerObject(playerid, ob);
                    znicene[playerid] ++;
                    }
                    if(znicene[playerid] == 10)
                    {
			ZbrojnyPreukazA[playerid] = 1;
			SCM(playerid,COLOR_CERVENA,"Dostal si zbrojný preukaz typu A");
                    }
                }
        }
    } 

 

 

Edited by KuraMa
Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

  • 0

Spravil som to aj cez public OnPlayerWeaponShot,avšak mi to stále nefunguje.Proste keď zničím 10 tých objektov aj tak mi to nedá ten zbrojný preukaz.

Tu je kód OnPlayerWeaponShot čo som zmenil:

 

 

public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
    if(GetPVarInt(playerid, "training") == 1)
    {
                new Float:x,
                Float:y,
                Float:z;
                GetPosFromView(playerid, 80, x, y, z);
                for(new  ob,l=MAX_OBJECTS;ob<l;ob++)
                {
                if(ObjectToPoint(playerid, 1,ob, x, y, z) != 0)
                {
                if(hitid == ob)
                {
                    DestroyPlayerObject(playerid, ob);
                    znicene[playerid] ++;
                    ztimer[playerid] = SetTimerEx("zniceneobjecty",100,true,"i",playerid);
                    }
                }
            }
    }
	return 1;
}

 

 

Spravil som si tam aj timer,tu je public timeru:

 

 

public zniceneobjecty(playerid)
{
   if(znicene[playerid] == 10)
   {
		ZbrojnyPreukazA[playerid] = 1;
		SCM(playerid,COLOR_ZELENA,"Dostal si zbrojný preukaz typu A");
		KillTimer(ztimer[playerid]);
   }
   return 1;
}

 

 

Link to comment
Share on other sites

  • 0

Ten kód je absolutně k ničemu, lepší je si to udělat sám a je to easy peasy lemon squezy.

Vytvořit object (na těch random pozicích třeba každou vteřinu jak to tam je) a jeho id uložit pod proměnnou.

Pak OnPlayerWeaponShot

if(hittype == BULLET_HIT_TYPE_(PLAYER_)OBJECT)

if(hitid == proměnná objektu)

if(zasahu<10) zasahu++

else DátZbrojní

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...