Szerző Téma: fegyver ellenõrzések  (Megtekintve 739 alkalommal)

fegyver ellenõrzések
« Dátum: 2014. április 24. - 21:32:11 »
0 Show voters
Sziasztok!!
 

new vanhely=0,query[100];
for(new i = 0; i < sizeof(DropInfo); i++)
{
   if (IsPlayerInRangeOfPoint(playerid, 2.0,DropInfo[eldobfegyPosX],DropInfo[eldobfegyPosY],DropInfo[eldobfegyPosZ]))
   {
       if(GetPlayerVirtualWorld(playerid) == DropInfo[eldobfegyVWorld] && GetPlayerInterior(playerid) == DropInfo[eldobfegyInterior])
       {
         for(new i1=1; i1 < 7;i1++)
         {
            if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan
            {
               pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
               vanhely=i1;
               printf(\"ha van márnála olyan\");
               break;
            }
            if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely
            {
               pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
               pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
               vanhely=i1;
               printf(\"második if\");
               break;
            }
         }
         if(vanhely == 0) return SendClientMessage(playerid, COLOR_RED,\"Sajnos nincs több férõhely nálad!!\");
      }
       break;
   }
}

 
Ez egy /felvesz fegyver akar lenni
Annyi a baj fele hogy elõször le akarom ellenõrizni hogy van e nála olyan fegyver ha igen akkor növelem a löszerét mentem.
és egy másikat ha nincs nála olyan fegyver akkor pedig egy üres helyre berakom.
csak az a baj ha: (elrakok egy 22 id fegyvert)
fegyver: 0 0 lõszer
fegyver: 0 0 lõszer
fegyver: 22 500 lõszer
fegyver: 24 500 lõszer
Itt az teljesül hogy ahol üres oda rakja.
Hogy tudom akkor megcsinálni hogy ellöb azt chekolja hogy vannála olyan aztutána azt hogy van e nála üres hely??
Rem érthetõ:)
Köszönöm elõre is a fáradozást:)

fegyver ellenõrzések
« Válasz #1 Dátum: 2014. április 24. - 21:56:52 »
0 Show voters
Nem igazán értem, de szerintem rakj be egy
 
if(vanhely == 1)

 
részt, ha jól láttam ez kell.

fegyver ellenõrzések
« Válasz #2 Dátum: 2014. április 24. - 22:07:05 »
0 Show voters
for(new i1=1; i1 < 7;i1++)
                                        {
                                                if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan ez 1.  nek chekoljon
                                                {
                                                        pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"ha van márnála olyan\");
                                                        break;
                                                }
                                                if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely ez menjen végig 2. jára
                                                {
for(new i1=1; i1 < 7;i1++)
                                        {
                                                        pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
                                                        pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"második if\");
                                                        break;
                                                }
                                                       
                                        }
                               }

 
lehet meg tom csinálni de ma valahogy nem tom:(((
 

new bool:mehetamasikfor=true;
for(new i1=1; i1 < 7;i1++)
                                        {
                                                if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan ez 1.  nek chekoljon
                                                {
                                                        pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"ha van márnála olyan\");
                                                        mehetamasikfor=false;
                                                        break;
                                                }
                                                       
                                        }
                           if(mehetamasikfor==true)
                          {
for(new i1=1; i1 < 7;i1++)
                                        {
                                           if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely ez menjen végig 2. jára
                                                {
                                                        pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
                                                        pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"második if\");
                                                        break;
                                                }
                            }
               }

 
valahogy így de rövidebben le lehet egyszerûsíteni??:)))
« Utoljára szerkesztve: 2014. április 25. - 13:22:41 írta kriszrap »

fegyver ellenõrzések
« Válasz #3 Dátum: 2014. április 24. - 21:32:11 »
0 Show voters
Sziasztok!!
 

new vanhely=0,query[100];
for(new i = 0; i < sizeof(DropInfo); i++)
{
   if (IsPlayerInRangeOfPoint(playerid, 2.0,DropInfo[eldobfegyPosX],DropInfo[eldobfegyPosY],DropInfo[eldobfegyPosZ]))
   {
       if(GetPlayerVirtualWorld(playerid) == DropInfo[eldobfegyVWorld] && GetPlayerInterior(playerid) == DropInfo[eldobfegyInterior])
       {
         for(new i1=1; i1 < 7;i1++)
         {
            if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan
            {
               pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
               vanhely=i1;
               printf(\"ha van márnála olyan\");
               break;
            }
            if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely
            {
               pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
               pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
               vanhely=i1;
               printf(\"második if\");
               break;
            }
         }
         if(vanhely == 0) return SendClientMessage(playerid, COLOR_RED,\"Sajnos nincs több férõhely nálad!!\");
      }
       break;
   }
}

 
Ez egy /felvesz fegyver akar lenni
Annyi a baj fele hogy elõször le akarom ellenõrizni hogy van e nála olyan fegyver ha igen akkor növelem a löszerét mentem.
és egy másikat ha nincs nála olyan fegyver akkor pedig egy üres helyre berakom.
csak az a baj ha: (elrakok egy 22 id fegyvert)
fegyver: 0 0 lõszer
fegyver: 0 0 lõszer
fegyver: 22 500 lõszer
fegyver: 24 500 lõszer
Itt az teljesül hogy ahol üres oda rakja.
Hogy tudom akkor megcsinálni hogy ellöb azt chekolja hogy vannála olyan aztutána azt hogy van e nála üres hely??
Rem érthetõ:)
Köszönöm elõre is a fáradozást:)

fegyver ellenõrzések
« Válasz #4 Dátum: 2014. április 24. - 21:56:52 »
0 Show voters
Nem igazán értem, de szerintem rakj be egy
 
if(vanhely == 1)

 
részt, ha jól láttam ez kell.

fegyver ellenõrzések
« Válasz #5 Dátum: 2014. április 24. - 22:07:05 »
0 Show voters
for(new i1=1; i1 < 7;i1++)
                                        {
                                                if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan ez 1.  nek chekoljon
                                                {
                                                        pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"ha van márnála olyan\");
                                                        break;
                                                }
                                                if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely ez menjen végig 2. jára
                                                {
for(new i1=1; i1 < 7;i1++)
                                        {
                                                        pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
                                                        pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"második if\");
                                                        break;
                                                }
                                                       
                                        }
                               }

 
lehet meg tom csinálni de ma valahogy nem tom:(((
 

new bool:mehetamasikfor=true;
for(new i1=1; i1 < 7;i1++)
                                        {
                                                if(pInfo[playerid][pWeaponid][i1] == DropInfo[eldobfegyAmmount][0])//ha van márnála olyan ez 1.  nek chekoljon
                                                {
                                                        pInfo[playerid][pWeaponAmmo][i1]=pInfo[playerid][pWeaponAmmo][i1]+DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"ha van márnála olyan\");
                                                        mehetamasikfor=false;
                                                        break;
                                                }
                                                       
                                        }
                           if(mehetamasikfor==true)
                          {
for(new i1=1; i1 < 7;i1++)
                                        {
                                           if(pInfo[playerid][pWeaponid][i1] == 0)//üres a hely ez menjen végig 2. jára
                                                {
                                                        pInfo[playerid][pWeaponid][i1]=DropInfo[eldobfegyAmmount][0];
                                                        pInfo[playerid][pWeaponAmmo][i1]=DropInfo[eldobfegyAmmount][1];
                                                        vanhely=i1;
                                                        printf(\"második if\");
                                                        break;
                                                }
                            }
               }

 
valahogy így de rövidebben le lehet egyszerûsíteni??:)))
« Utoljára szerkesztve: 2014. április 25. - 13:22:41 írta kriszrap »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal