Szerző Téma: Anims preloader  (Megtekintve 3786 alkalommal)

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Anims preloader
« Dátum: 2011. Június 29. - 14:33:45 »
+3 Show voters
Sokatok problémát okozhatott már, hogy alkalmanként egy animáció nem játszódott le, vagy csak második próbálkozásra.
Ez azért van, mert minden animációs könyvtárat használat elõtt be kell tölteni.
Az alábbi szkriptem ezt hivatott megtenni; Betölti õket egyszer, az elsõ spawn folyamán.
Figyelmeztetés: Ez nem egy animációs szkript, ez csupán \'kijavítja\' az animációkat. Ha más animációs szkriptet használsz (kiv. actions vagy seifanim), érdemes ezt is használd a fent körülírt probléma elkerülésére.
 


Szkript
Forrás
anim_preloader.amx   

 
anim_preloader.pwn   


[dload]
« Utoljára szerkesztve: 2012. December 27. - 17:38:46 írta Anthony »

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Anims preloader
« Válasz #1 Dátum: 2011. Június 29. - 14:56:37 »
0 Show voters
Jó szkript, rá sem jöttem volna, hogy elõtte bekell tölteni az animációs könyvtárat. ;)

Koncz_Norbert

  • Vendég
Anims preloader
« Válasz #2 Dátum: 2011. Június 29. - 16:58:50 »
0 Show voters
Nem vagyok nagy angolos, de mi az hogy preloader? Nem inkább Reloader (Újratöltõ) ?
De ezt imádtam.
#include a_samp

 Minden eddigi publikált szkriptjeiben
#include <a_samp>

 volt. Ahogy én jöttem elõsször ezzel akkor mindenki folytatJAVÁRJ!! :laugh:
Am asszem ezt lehet változómentesen is.

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Anims preloader
« Válasz #3 Dátum: 2011. Június 29. - 17:07:54 »
0 Show voters
re - újra  (f.e. restart)
pre - elõre (f.e prepackaged food)

 
Ki kell, hogy ábrándítsalak tovább azt illetõen is, hogy tõled vette át mindenki.
Csak akkor használom a < >-s megoldást, ha a new.pwn bõl szerkesztem a szkriptet, más különben nem szoktam ilyen apróságokkal foglalkozni.
« Utoljára szerkesztve: 2011. Június 29. - 17:18:28 írta Epsilon »

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
Anims preloader
« Válasz #4 Dátum: 2011. Június 29. - 23:49:36 »
+1 Show voters
Nos ügyes kis script a forrást áttekintve , ügyes vagy és ez is méltó a többi munkád mellé! ;)
Ügyes vagy írhatsz magadnak még egy piros pontot!!

Anims preloader
« Válasz #5 Dátum: 2011. Június 30. - 17:13:59 »
0 Show voters
Szép.
Egy kérdés.
OnPlayerConnectnél nem jó betölteni az animációs könyvtárakat?

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Anims preloader
« Válasz #6 Dátum: 2011. Június 30. - 17:38:33 »
0 Show voters
Mikor felcsatlakozol egy szerverre, a karaktered csak utána kezd betölteni, tehát gyengébb gépeknél akadhatnak malõrök, de biztosat, csak egy teszt tudna mutatni.

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Anims preloader
« Válasz #7 Dátum: 2011. Június 30. - 20:34:03 »
0 Show voters
szép munka Epsilon bácsi :P

Anims preloader
« Válasz #8 Dátum: 2011. Július 03. - 19:59:21 »
0 Show voters
Remélem nem gond de írtam én is egy változatot sõt nemsokára kész a másik változat is ahol csak az anim library nevek kerülnek lekérdezésre.
Csak azért írtam hogy ilyen megoldás is van, meg hogy elfoglaljam magam valamivel.  :angel:
De így észre vettem hogy 131 animációs könyvtár van, hacsak a kódban nincs valami hibás rész.
Elsõ változat:
[pawn]
public
OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) return 1; // Én kizártam innen az NPC-ket de lehet nekik se árt ez aki úgy gondolja törli ezt a sort.
if(!GetPVarType(playerid, \"anims_loaded\"))
{
   SetPVarInt(playerid, \"anims_loaded\", 1);
   new
      animlib[32],
      checkanimlib[32],
      count; // Anim library számláló
   checkanimlib = \"Csak azért hogy\"; // ne legyen üres mert akkor az strcmp nem azt az eredményt adja vissza amit kell.
   for(new i = 1; i < 1812; i++)
   {
      if(!GetAnimationName(i, animlib, 32, \"\", 0))continue;
      if(strcmp(animlib, checkanimlib) != 0)
      {
         count++;
//            printf(\" %s \", animlib); // Debug
         ApplyAnimation(playerid, animlib, \"null\", 0.0, 0, 0, 0, 0, 0);
      }
      format(checkanimlib, 32, \"%s\", animlib);      
   }
   printf(\"%d, animlibrary preloaded succesfully.\", count); // Debug jellegû üzenet
}
return 1;
}
[/pawn]
Második változat:
[pawn]
public
OnPlayerSpawn(playerid)
{
static
   GetAnimLibraryIndex[ ] =
{
   1, 2, 5, 17, 28, 41, 46, 53, 57, 76,
   94, 103, 123, 141, 145, 163, 169, 179, 220, 225,
   234, 248, 259, 266, 287, 312, 323, 341, 354, 360,
   367, 379, 383, 393, 398, 403, 416, 423, 432, 436,
   446, 454, 472, 482, 494, 504, 508, 524, 532, 533,
   536, 569, 578, 611, 631, 638, 639, 641, 644, 647,
   671, 684, 694, 704, 714, 722, 726, 730, 745, 761,
   763, 765, 767, 806, 831, 839, 840, 881, 899, 916,
   918, 947, 958, 980, 983, 995, 1289, 1293, 1298, 1308,
   1329, 1331, 1336, 1353, 1357, 1365, 1370, 1377, 1382, 1387,
   1392, 1408, 1420, 1424, 1449, 1452, 1456, 1459, 1467, 1468,
   1470, 1490, 1508, 1531, 1538, 1545, 1555, 1561, 1618, 1622,
   1626, 1643, 1648, 1656, 1662, 1666, 1684, 1701, 1713, 1746,
   1779
};
if(IsPlayerNPC(playerid)) return 1;
if(!GetPVarType(playerid, \"anims_loaded\"))
{
   SetPVarInt(playerid, \"anims_loaded\", 1);
   new
      animlib[32],
      count;
   for(new i; i < sizeof GetAnimLibraryIndex; i++)
   {
      if(!GetAnimationName(GetAnimLibraryIndex, animlib, 32, \"\", 0)) continue;

      count++;


//         printf(\" %s \", animlib); // Debug


      ApplyAnimation(playerid, animlib, \"null\", 0.0, 0, 0, 0, 0, 0);


   }


   printf(\"%d, animlibrary preloaded succesfully.\", count); // Debug jellegû üzenet


}


return 1;


}


[/pawn]


El is készült a második változat.  :D
« Utoljára szerkesztve: 2011. Július 03. - 20:14:24 írta Zsolesszka »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Anims preloader
« Válasz #9 Dátum: 2011. Július 05. - 23:01:09 »
+1 Show voters
Idézetet írta: Zsolesszka date=1309715961\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9255\" data-ipsquote-contentclass=\"forums_Topic
Remélem nem gond de írtam én is egy változatot sõt nemsokára kész a másik változat is ahol csak az anim library nevek kerülnek lekérdezésre.
Csak azért írtam hogy ilyen megoldás is van, meg hogy elfoglaljam magam valamivel.  :angel:
De így észre vettem hogy 131 animációs könyvtár van, hacsak a kódban nincs valami hibás rész.
Elsõ változat:
[pawn]
[/pawn]
Második változat:
[pawn]
[/pawn]
El is készült a második változat.  :D
 
Jól van, ezzel überelsz.  :(
 

\"I5Ch4.png\"
 
Tulajdonképpen csak bonyolítottál és az nem jó.
Mivel újabb funkciókat használtál - sztem feleslegesen -, lassítottad, emellett azt sem értem miért számoltatod meg vele minden alkalommal. Te egyszer,  a szkript megírásakor megszámolod, és kész. Nincs olyan sok.
 

Az nem felvételrõl menõ NJK-knak is ugyanúgy \'elõre be kell tölteni\' az animációs könyvtárakat.

Anims preloader
« Válasz #10 Dátum: 2011. Július 05. - 23:28:40 »
0 Show voters
;D
A számoltatás csak azért van hogy lásd azt, hogy a scriptedben 129 animációs könyvtár név van míg ezek 131-et töltenek be tehát a scriptedbõl kettõ hiányzik nem tudom melyek azok nem néztem. De azt viszont észre vettem így, hogy 0.3c R2-ben cenzurázva lett egy anim könyvtár, ami így nem kerül lefuttatásra, (tehát akkor 132 lenne jelenleg?) amit ezek a funkciók nem jelenítenek meg: GetAnimationName GetPlayerAnimationIndex  :-[ (Amúgy arra hasznos még a postolt kód hogy szépen kiírassuk az összeset egy fájlba vagy a server_log-ba, akár szépen vesszõvel elválasztva. 

Anims preloader
« Válasz #11 Dátum: 2011. Augusztus 09. - 16:28:10 »
0 Show voters
Ha connecthez teszem be, akkor a skinválasztóban betölti az animációt az elsõ skinnek?

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Anims preloader
« Válasz #12 Dátum: 2011. Augusztus 09. - 21:15:41 »
0 Show voters
Idézetet írta: Epsilon date=1309448313\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9255\" data-ipsquote-contentclass=\"forums_Topic
Mikor felcsatlakozol egy szerverre, a karaktered csak utána kezd betölteni, tehát gyengébb gépeknél akadhatnak malõrök, de biztosat, csak egy teszt tudna mutatni.
 

Anims preloader
« Válasz #13 Dátum: 2011. Augusztus 17. - 10:13:31 »
0 Show voters
jo lett grt!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal