Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => FilterScripte, Include, Pluginovi za SA-MP => Filterskripte & include fajlovi => Temu započeo: Mergevos poslato Avgust 04, 2020, 00:04:37 PRE PODNE

Naslov: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: Mergevos poslato Avgust 04, 2020, 00:04:37 PRE PODNE
Tip: Include
Slike ili Video: Ako bude potrebno, dodacu naravno
Opis i dodatne informacije: Ovako, znaci ovo je neki djarMa, Madjar, izbacio pre 6 godina. Nikada nisam radio sa animacijama, no uglavnom ovo sluzi dosta RP serverima, jer mozete da se pretvarate tipa da hodate kao majmuncina neka ne znam. Ovo je forkovano od strane mene, prebaceno je u inlude, a ne filterscripta kao sto je bilo.

SetPlayerWalkingStyle(const playerid, const style);


Ovo ce vam setati neke od stilova ispod

enum {
WALKING_STYLE_DEFAULT = 0,
WALKING_STYLE_NORMAL,
WALKING_STYLE_PED,
WALKING_STYLE_GANGSTA,
WALKING_STYLE_GANGSTA2,
WALKING_STYLE_OLD,
WALKING_STYLE_FAT_OLD,
WALKING_STYLE_FAT,
WALKING_STYLE_WOMANOLD,
WALKING_STYLE_WOMANFATOLD,
WALKING_STYLE_SHUFFLE,
WALKING_STYLE_LADY,
WALKING_STYLE_LADY2,
WALKING_STYLE_WHORE,
WALKING_STYLE_WHORE2,
WALKING_STYLE_DRUNK,
WALKING_STYLE_BLIND
};


GetPlayerWalkingStyle(const playerid);

[/i]
Download link: (https://img.shields.io/badge/mergevos-samp--walking--styles-2f2f2f.svg?style=for-the-badge) (https://github.com/Mergevos/samp-walking-styles)

Scan link: Git
Credits: Ben Jackster za kreiranje.
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 04, 2020, 00:51:42 PRE PODNE
Jesi siguran da mora tajmer tu? Valjda je looping animacija bez prestajanja?

Nisam siguran tho

I ovo slobodno u char

[pawn]style_Walking[MAX_PLAYERS char];[/pawn]
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: Mergevos poslato Avgust 04, 2020, 00:54:25 PRE PODNE
Citat: Alhemičar v2 poslato Avgust 04, 2020, 00:51:42 PRE PODNE
Jesi siguran da mora tajmer tu? Valjda je looping animacija bez prestajanja?

Nisam siguran tho

I ovo slobodno u char

[pawn]style_Walking[MAX_PLAYERS char];[/pawn]
Mora zbog keyeva da proverava koje keyeve drzi, posto se direction keyevi ne mogu pozvati u KeyStateChange clb.
To za char si dobro rekao nema >255

Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 04, 2020, 01:09:42 PRE PODNE
Citat: Mergevos poslato Avgust 04, 2020, 00:54:25 PRE PODNE
Mora zbog keyeva da proverava koje keyeve drzi, posto se direction keyevi ne mogu pozvati u KeyStateChange clb.
To za char si dobro rekao nema >255
Yep, zaboravih, gj!
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: Mergevos poslato Avgust 04, 2020, 10:05:32 PRE PODNE
Citat: Alhemičar v2 poslato Avgust 04, 2020, 01:09:42 PRE PODNE
Yep, zaboravih, gj!
Hvala lepi moj
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: inquisitiveemmett poslato Avgust 04, 2020, 16:28:06 POSLE PODNE
 >:(
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: XACK poslato Avgust 06, 2020, 01:45:54 PRE PODNE
Lepo, samo sto nema mnogo razlika osim sto si iz fs prebacio u include.

Evo nekih predloga/kritika od mene:

Nemoj koristiti puno space mesta izmedju #include direktive i imena includ-a(bas para oci :D)

@OnPlayerKeyStateChange :

if(HOLDING(KEY_WALK) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)

Ovu proveru bi mogao prosiriti sa proverom koristenja jetpacka i takodje da bi malo smanjio opterecenje
mozes to odraditi na ovaj nacin ogranicavajuci da ako ne drzi taj key da uopste dalje ne proverava:

[pawn]
if(HOLDING(KEY_WALK))
{
   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
   {
      if(GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_USEJETPACK)
      {
         //pozivanje tajmera
      }
   }
}
[/pawn]

Takodje:

@timer_WalkAnimation :

Posle uzimanja keyeva ulazis u switch u kome ima jako puno redudanse tj. ponavljanja koda.
Znaci ovu proveru za direction keyeve i KEY_WALK mozes da stavis samo jednom uopste ne koristeci switch.

Naime, mozes dodati funkciju sa ovakvom strukturom:

[pawn]
ApplyWalkStyle(const playerid)
{
   // mozes dodati jos neku proveru i za zaustavljanje svejedno je
   switch(walk_style)
   {
      case 0: ApplyAnimation(...); ... ili setanje timer_Walking sta god vec zelis
      case 1: ApplyAnimation(...); ...
   }
}
[/pawn]

Onda umesto onog velikog switcha u @timer_walkAnimation stavi sledece posle detekcije keyeva:

[pawn]
if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT)) {
   ApplyWalkStyle(playerid);
}
[/pawn]

Mislim da kapiras sta hocu reci vec.

stock ne moras stavljati uopste, stavi samo plain funkciju, ali ako ti se vise svidja sa stockom onda nije ni bitno(code style matters :D)

Mogao bi da uradis i za running style takodje, bilo bi cool uz ovo  :P :P
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: Mergevos poslato Avgust 06, 2020, 01:51:30 PRE PODNE
Citat: XACK poslato Avgust 06, 2020, 01:45:54 PRE PODNE
Lepo, samo sto nema mnogo razlika osim sto si iz fs prebacio u include.

Evo nekih predloga/kritika od mene:

Nemoj koristiti puno space mesta izmedju #include direktive i imena includ-a(bas para oci :D)

@OnPlayerKeyStateChange :

if(HOLDING(KEY_WALK) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)

Ovu proveru bi mogao prosiriti sa proverom koristenja jetpacka i takodje da bi malo smanjio opterecenje
mozes to odraditi na ovaj nacin ogranicavajuci da ako ne drzi taj key da uopste dalje ne proverava:

[pawn]
if(HOLDING(KEY_WALK))
{
   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
   {
      if(GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_USEJETPACK)
      {
         //pozivanje tajmera
      }
   }
}
[/pawn]

Takodje:

@timer_WalkAnimation :

Posle uzimanja keyeva ulazis u switch u kome ima jako puno redudanse tj. ponavljanja koda.
Znaci ovu proveru za direction keyeve i KEY_WALK mozes da stavis samo jednom uopste ne koristeci switch.

Naime, mozes dodati funkciju sa ovakvom strukturom:

[pawn]
ApplyWalkStyle(const playerid)
{
   // mozes dodati jos neku proveru i za zaustavljanje svejedno je
   switch(walk_style)
   {
      case 0: ApplyAnimation(...); ... ili setanje timer_Walking sta god vec zelis
      case 1: ApplyAnimation(...); ...
   }
}
[/pawn]

Onda umesto onog velikog switcha u @timer_walkAnimation stavi sledece posle detekcije keyeva:

[pawn]
if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT)) {
   ApplyWalkStyle(playerid);
}
[/pawn]

Mislim da kapiras sta hocu reci vec.

stock ne moras stavljati uopste, stavi samo plain funkciju, ali ako ti se vise svidja sa stockom onda nije ni bitno(code style matters :D)

Mogao bi da uradis i za running style takodje, bilo bi cool uz ovo  :P :P

Problem je kod te redutanse sto ako prestanem drzati alt animacija ce se nastaviti loopati, pokusavao sam već jednom, doduše mogao bih probati opet, videću mozda sam zasrao taj put. A to stock ako ne koristim, bacace wqrn za funkciju i nekorišćenje
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: omcho poslato Avgust 06, 2020, 05:04:50 PRE PODNE
stock-ovi trebaju da se pisu u .inc fajlovima

nmp sto si radio super je ekstra si samo jako uaa
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: skritpe iz 2007 godine. ( ͡° ͜ʖ ͡°) poslato Avgust 06, 2020, 14:24:56 POSLE PODNE
Citat: Mergevos poslato Avgust 06, 2020, 01:51:30 PRE PODNE
Problem je kod te redutanse sto ako prestanem drzati alt animacija ce se nastaviti loopati, pokusavao sam već jednom, doduše mogao bih probati opet, videću mozda sam zasrao taj put. A to stock ako ne koristim, bacace wqrn za funkciju i nekorišćenje
Verovatno zato što ti je u ApplyAnimation looping na 1
Naslov: Odg: samp-walking-styles | Mine fork of Ben Jackster's walking styles | 15+ styles
Poruka od: Mergevos poslato Avgust 06, 2020, 21:25:05 POSLE PODNE
Citat: Alhemičar v2 poslato Avgust 06, 2020, 14:24:56 POSLE PODNE
Verovatno zato što ti je u ApplyAnimation looping na 1
Moguće i to, uskoro cu srediti to, hvala ti