Szerző Téma: Zombi hulla és ember hulla bug!!  (Megtekintve 480 alkalommal)

Nem elérhető kos

  • 292
    • Profil megtekintése
Zombi hulla és ember hulla bug!!
« Dátum: 2013. Április 06. - 22:20:20 »
0 Show voters
Hello!
Az a bajom ezzel, hogy nem tom hogy rendezzem, hogy ne bugoljon....
Sok féle képpen próbáltam de mindig valami bug beütött...
 
if(gTeam[playerid] == Team_Ember)
    {
        GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
hObject[playerid] = CreatePickup(2907, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);
gTeam[playerid] = Team_Zombi;
Zombiscore +=  1;
        if(gTeam[killerid] == Team_Zombi)
{
    GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
   hObject[playerid] = CreatePickup(2907, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);
   gTeam[playerid] = Team_Zombi;
   Zombiscore +=  1;
}
if(gTeam[killerid] == Team_Ember)
{
    GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
   hObject[playerid] = CreatePickup(2907, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);
   gTeam[playerid] = Team_Zombi;
   Zombiscore +=  1;
}
    }
    if(gTeam[playerid] == Team_Zombi)
{
    new RandomHus = random(2);
switch (RandomHus)
{
    case 0:
   {
      //DestroyDynamicObject(hObject [playerid]);
      GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
      hObject1[playerid] = CreatePickup(2804, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806
   }
    case 1:
   {
      //DestroyDynamicObject(hObject [playerid]);
      GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
      hObject2[playerid] = CreatePickup(2806, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806;
   }
}
gTeam[playerid] = Team_Zombi;
Emberscore +=  1;
    if(gTeam[killerid] == Team_Ember)
{
    //new RandomHus = random(2);
   switch (RandomHus)
   {
       case 0:
      {
         //DestroyDynamicObject(hObject [playerid]);
         GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
         hObject1[playerid] = CreatePickup(2804, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806
      }
       case 1:
      {
         //DestroyDynamicObject(hObject [playerid]);
         GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
         hObject2[playerid] = CreatePickup(2806, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806;
      }
   }
   gTeam[playerid] = Team_Ember;
   Emberscore +=  1;
}
if(gTeam[killerid] == Team_Zombi)
{
    //new RandomHus = random(2);
   switch (RandomHus)
   {
       case 0:
      {
         //DestroyDynamicObject(hObject [playerid]);
         GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
         hObject1[playerid] = CreatePickup(2804, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806
      }
       case 1:
      {
         //DestroyDynamicObject(hObject [playerid]);
         GetPlayerPos(playerid, Yh[playerid], Xh[playerid], Zh[playerid]);
         hObject2[playerid] = CreatePickup(2806, 1, Yh[playerid], Xh[playerid], Zh[playerid]-0.8);//2804,2806;
      }
   }
   gTeam[playerid] = Team_Zombi;
   Emberscore +=  1;
}
}

 
Ez a kicsike kavarodik sajnos, mert sok függvénynek kell teljesülnie... :wag:
4 szempontnak kéne bug mentesen mûködnie:
1. Ember -> Zombit õl (zombi hulla,emberscore+1,ember legyen)
2. Zombi -> Embert õl (ember hulla,zombiscore+1,zombi legyen)
3.Ember meghal simán[nincs killer id tehát] (ember hulla,zombiscore+1,zombi legyen)
4.Zombi =||=                                                (zombi hulla,emberscore+1,zombi marad)
Valamiért a rendszer kavarodik()ezt nem kell olvasni, csak ha szempontot nézel miért is nem...
Nos ha simán hal meg akár zombi akár ember azt ugye jól csinálja mondjuk, de ha killer id is van akkor az elöbbit amit írtam és azt is számolja else függvény javítható, de a többi akkor bebugol ezesetben, ilyen logikai bombákkal lõ vissza mindig ha javítani akarom...
Remélem érthetõ volt a problémám  :wall:

Zombi hulla és ember hulla bug!!
« Válasz #1 Dátum: 2013. Április 06. - 23:40:43 »
0 Show voters
if(killerid == INVALID_PLAYER_ID)  // Nincs killer.
{
gTeam[playerid] = Team_Zombi; // Zombi lesz ha ember volt. A zombi meg az is marad.
Zombiscore++;            // Zombi score + 1;
switch(gTeam[playerid])
{
case Team_Ember:
{
 
}
case Team_Zombi:
{
 
}
}
} else { // Van . Mindenki az marad ami volt, a zombi zombi, az ember ember.  (az ember ember <- ezt se hittem volna hogy valaha leírom)
switch(gTeam[playerid])
{
case Team_Ember: // Az ember a killer
{
   Emberscore++;
}
case Team_Zombi: // Itt a zombi a killer
{
   Zombiscore++;
 
}
}
}

 
Sajnos a pickupokat nem tudtam kibogozni mi akar lenni, de a játékos pozícióját elég egyszer lekérned.
« Utoljára szerkesztve: 2013. Április 06. - 23:47:47 írta ɐʞzssǝlosz »

Nem elérhető kos

  • 292
    • Profil megtekintése
Zombi hulla és ember hulla bug!!
« Válasz #2 Dátum: 2013. Április 07. - 00:21:23 »
0 Show voters
Köszi!
Erre nem is gondoltam :)
Meglátom mire megyek. :rolleyes:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal