Szerző Téma: Objekt health és lövés hiba  (Megtekintve 895 alkalommal)

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Objekt health és lövés hiba
« Dátum: 2015. július 23. - 10:21:16 »
0 Show voters
Sziasztok!
Írtam egy szkriptet amiben van egy objekt annak van X healthja, és ha meglövik az az objektet az életéből levon 1-et, majd updateli a 3dlabelt.Legalább is ebböl áll, de nem tesztelés során nem történik semmi.
Kód :
 

new ObjectHP[MAX_OBJECTS];
new Text3D:mylabel;
new obi;
obi = CreateDynamicObject(16776, -2084.76709, -2532.95361, 28.10344,   0.00000, 0.00000, 320.47034);
ObjectHP[obi] = 500;
mylabel = Create3DTextLabel(\"[500/500]\", 0xFFFF00FF, -2087.1465,-2530.3347,35.4219, 20.0, 0, 0);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(hittype == BULLET_HIT_TYPE_OBJECT)
{
if(IsValidObject(obi))
{
   new string[128];
   ObjectHP[obi] -= 1;
   format(string,128,\"[500/%i]\",ObjectHP[obi]);
   Update3DTextLabelText(mylabel, 0xFFFF00FFF,string);
   if(ObjectHP[obi] <= 0)
   {
       DestroyObject(hitid);
   }
}
}
return 1;
}

 
[ code=pawn][ /code] tageket használj
« Utoljára szerkesztve: 2015. július 24. - 08:54:21 írta divkn »

Objekt health és lövés hiba
« Válasz #1 Dátum: 2015. július 23. - 11:05:34 »
0 Show voters
Így?
 

new ObjectHP[MAX_OBJECTS];
new Text3D:mylabel;
new obi;
obi = CreateDynamicObject(16776, -2084.76709, -2532.95361, 28.10344,   0.00000, 0.00000, 320.47034);
ObjectHP[obi] = 500;
mylabel = Create3DTextLabel(\"[500/500]\", 0xFFFF00FF, -2087.1465,-2530.3347,35.4219, 20.0, 0, 0);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
   if(hittype == BULLET_HIT_TYPE_OBJECT)
   {
      if(IsValidObject(hitid))
      {
         new string[128];
         ObjectHP[hitid] -= 1;
         format(string,128,\"[500/%i]\",ObjectHP[hitid]);
         Update3DTextLabelText(mylabel, 0xFFFF00FFF,string);
         
         if(ObjectHP[obi] <= 0)
         {
             DestroyObject(hitid);
         }
      }
   }
   return 1;
}

Nem elérhető 1Mark6

  • 437
    • Profil megtekintése
Objekt health és lövés hiba
« Válasz #2 Dátum: 2015. július 23. - 11:18:49 »
0 Show voters
Igen, így akartam kiirni csak nemtaláltam a pawn kódot.

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Objekt health és lövés hiba
« Válasz #3 Dátum: 2015. július 23. - 11:51:14 »
0 Show voters
if(IsValidObject(hitid))
{
SendClientMessage(playerid,0xFF6600FF,\"DEBUG!\"); // Ezt a sort írd be

 
próbáld meg így kidebugolni...és nézd meg hol akad el...ha ez lefut akkor mással van a gond...
« Utoljára szerkesztve: 2015. július 24. - 08:54:58 írta divkn »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Objekt health és lövés hiba
« Válasz #4 Dátum: 2015. július 23. - 16:29:04 »
0 Show voters
Nem teszteltem lehet benne elírás.
 
new ObjectHP[MAX_OBJECTS];
new Text3D:mylabel;
new obi;
obi = CreateDynamicObject(16776, -2084.76709, -2532.95361, 28.10344,   0.00000, 0.00000, 320.47034);
ObjectHP[obi] = 500;
mylabel = Create3DTextLabel(\"[500/500]\", 0xFFFF00FF, -2087.1465,-2530.3347,35.4219, 20.0, 0, 0);
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
        if(hittype == BULLET_HIT_TYPE_OBJECT && hitid == obi) //1. hiba
        {
                if(IsValidDynamicObject(obi))//2. hiba
                {
                        new string[16];//Bőven elég
                        ObjectHP[obi] -= 1;
                        format(string,128,\"[500/%i]\",ObjectHP[obi]);
                        Update3DTextLabelText(mylabel, 0xFFFF00FFF,string);
                       
                        if(ObjectHP[obi] <= 0) DestroyDynamicObject(hitid); //..
                }
        }
        return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal