Szerző Téma: [0.3Z] HeadShot  (Megtekintve 3827 alkalommal)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[0.3Z] HeadShot
« Dátum: 2014. január 22. - 20:12:34 »
+7 Show voters
Sziasztok.
Most nemrég írtam egy kis apró scriptet, ami annyit tartalmaz, hogy ha valakit fejbe lõsz, kiírja neked is, neki is hogy HeadShot, továbbá akit fejbe lõttél levon tõle 100 dollárt, neked pedig ad 100 dollárt, illetve minden 10. HeadShot lövésnél egy értesítõt kapsz a chat-be.
 
  • Készítõ: Pedro.

  • Sorok száma: 35

  • Kliens követelmény: 0.3Z+




#define FILTERSCRIPT
#include <a_samp>
#define BODY_PART_HEAD    9
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {
if(bodypart == BODY_PART_HEAD) {
if(damagedid != INVALID_PLAYER_ID && IsPlayerConnected(damagedid)) {
    GameTextForPlayer(playerid, \"~r~Headshot! :)~n~~g~+$100\", 3000, 4);
    GameTextForPlayer(damagedid, \"~w~Headshot! :(~n~~r~-$100\", 3000, 4);
   
    GivePlayerMoney(playerid, 100);
    GivePlayerMoney(damagedid, -100);
   SetPlayerHealth(damagedid, 0.0);
   new headshots = GetPVarInt(playerid, \"HeadShots\")+1;
   SetPVarInt(playerid, \"HeadShots\", headshots);
   if(!(headshots % 10)) {
      new string[144];
      format(string, sizeof(string), \"Ez már a %i. HeadShot lövésed!\", headshots);
      SendClientMessage(playerid, -1, string);
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2014. január 23. - 16:40:23 írta Pedró »

Nem elérhető fabianpatrik

  • 124
  • fabianpatrik
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #1 Dátum: 2014. január 23. - 06:37:42 »
0 Show voters
Szép szkript, egy dm szerverre szinte a legjobb!

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #2 Dátum: 2014. január 23. - 12:13:22 »
0 Show voters
Jó lett.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #3 Dátum: 2014. január 23. - 14:06:21 »
+1 Show voters
Nem tudom ti hogy vagytok vele, de engem ez kicsit elgondolkodtatott:
 
((HeadShots[playerid]/10)*10)

 
Na most ha elosztod 10-el a számot, és megszorzod 10-el a számot, lényegében nem csináltál vele semmit?!

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #4 Dátum: 2014. január 23. - 14:31:20 »
+1 Show voters
Egyszerû kis kód, de lecsatlakozásnál nem kellene esetleg lenullázni a változót? :) (Különben használhatnál PVart, nem kell nullázgatni és nem kell külön változót létrehozni.)


Idézetet írta: DrAkE date=1390482381\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45961\" data-ipsquote-contentclass=\"forums_Topic
Nem tudom ti hogy vagytok vele, de engem ez kicsit elgondolkodtatott:
 
((HeadShots[playerid]/10)*10)

 
Na most ha elosztod 10-el a számot, és megszorzod 10-el a számot, lényegében nem csináltál vele semmit?!
 
Ezt én is észrevettem. :D

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #5 Dátum: 2014. január 23. - 16:39:57 »
0 Show voters
Idézetet írta: DrAkE date=1390482381\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45961\" data-ipsquote-contentclass=\"forums_Topic
Nem tudom ti hogy vagytok vele, de engem ez kicsit elgondolkodtatott:
 
((HeadShots[playerid]/10)*10)

 
Na most ha elosztod 10-el a számot, és megszorzod 10-el a számot, lényegében nem csináltál vele semmit?!
 
Végülis ezt régóta így használom.. Azt jelentené, hogy osztható-e az érték 10-el maradék nélkül.. Utánanéztem és találtam jobb, rövidebb megoldást..
 

Egyszerû kis kód, de lecsatlakozásnál nem kellene esetleg lenullázni a változót? :) (Különben használhatnál PVart, nem kell nullázgatni és nem kell külön változót létrehozni.)
 
[/quote]
Nem, nem kellene! Minek? Úgyse használjuk annak a játékosnak a változóját, aki nem online..
Azt hittem több igény van az alap változókra.. Viszont így átírtam PVar-ra..


Topic frissítve!

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #6 Dátum: 2014. január 23. - 20:55:20 »
0 Show voters
Rendben, ahogy gondolod. :)

Különben a PVar igaz egyszerûbb, de lassabb is. De itt nem nagyon számít.


(A PVar használata nagy mániám nekem. :D )

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #7 Dátum: 2014. január 23. - 21:49:49 »
+5 Show voters
Találtál rövidebb megoldást. Erre gondoltál, vagy valami másra?
 
if(Valtozo % 10 == 0)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #8 Dátum: 2014. január 23. - 22:12:40 »
0 Show voters
Idézetet írta: Dfoglalo date=1390510189\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45961\" data-ipsquote-contentclass=\"forums_Topic
Találtál rövidebb megoldást. Erre gondoltál, vagy valami másra?
 
if(Valtozo % 10 == 0)

 

Már frissítettem a topicot. Ez nem lenne jó.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #9 Dátum: 2014. január 23. - 22:18:26 »
+1 Show voters
Idézetet írta: Pedró date=1390511560\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45961\" data-ipsquote-contentclass=\"forums_Topic


Találtál rövidebb megoldást. Erre gondoltál, vagy valami másra?
 
if(Valtozo % 10 == 0)

 

Már frissítettem a topicot. Ez nem lenne jó.
 
[/quote]
Hát pedig ez a maradékos osztás, ha a szám osztható 10-el nulla a maradék...
A kódodban pedig lényegében ugyan az mint dfoglaló írt, szóval a minuszt se igazán értem miért kapta szegény gyerek.

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #10 Dátum: 2014. január 24. - 10:49:10 »
0 Show voters
Minek írta ugyan azt, amit én, ötletnek? Ezért kapta!

[0.3Z] HeadShot
« Válasz #11 Dátum: 2014. január 24. - 12:33:42 »
0 Show voters
Jó lett :)
+

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #12 Dátum: 2014. január 24. - 12:37:51 »
0 Show voters
Drake!
Látom nem láttad át a kódot, érdekes..
 
if(HeadShots[playerid] == ((HeadShots[playerid]/10)*10))

 
egyenlõ:
érték egyenlõ ezzel?: (érték OSZTVA 10-el MAJD SZOROZVA 10-el)
lefutás például 56-os értéknél:
56 egyenlõ ezzel?: (56 OSZTVA 10-el MAJD SZOROZVA 10-el)>>
56 egyenlõ ezzel?: (5 SZOROZVA 10-el) = 56 == 50?
NEM
és ha 50?
50 egyenlõ ezzel?: (50 OSZTVA 10-el MAJD SZOROZVA 10-el)>>
50 egyenlõ ezzel?: (5 SZOROZVA 10-el) = 50 == 50?
IGEN!
Fórumokon szétnéztem és megtaláltam ezt a %-s megoldást, majd pawnban készítettem egy teszt kódot, hogy megtudjam hogy mûködik..
A tesztelésre alkalmazott kód:
 
   for(new x; x < 52; x++) {
if(!(x % 10)) printf(\"%i : IGEN\", x);
else printf(\"%i : NEM\", x);
}

 
-> minden 0-val végzõdõ számnál IGEN-t írt.. És így lett meg az eredmény..
 
Idézetet írta: DrAkE date=1390511906\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45961\" data-ipsquote-contentclass=\"forums_Topic


 

Találtál rövidebb megoldást. Erre gondoltál, vagy valami másra?
 
if(Valtozo % 10 == 0)

 

Már frissítettem a topicot. Ez nem lenne jó.
 
[/quote]
Hát pedig ez a maradékos osztás, ha a szám osztható 10-el nulla a maradék...
A kódodban pedig lényegében ugyan az mint dfoglaló írt, szóval a minuszt se igazán értem miért kapta szegény gyerek.
 
[/quote]
Hogy a francba ne tudnám már, hogy ez az?
SZEGÉNY SZEGÉNY.. A fenti kódomba már ez szerepel, csak másképp néz ki..
Nem if(Valtozo % 10 == 0) hanem if(!(HeadShots[playerid] % 10))
Nagyon nagy különbség.. Azért kapta a mínuszt, mert ugyanazt az ötletet adta, amit már megoldottam.. Szóval minek? Semmi értelme nemvolt ezzel ideírnia..

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #13 Dátum: 2014. január 24. - 15:16:48 »
0 Show voters
Amikor írtam a hozzászólásomat - melyet egyébként nem beszólásnak, vagy tudom is én minek szántam -, akkor még a
 
if(HeadShots[playerid] == ((HeadShots[playerid]/10)*10))

 
szerepelt a publikált kódban. Én csak leírtam, hogy hogyan lehet egyszerûbben megoldani ezt. Sõt, még meg is kérdeztem, hogy erre az egyszerûbb megoldásra gondoltál e. Nem tudom, miért kellett felkapni a vizet. A mínuszt meg köszönöm szépen, eladom a keletiben egy ezresért. :)

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
[0.3Z] HeadShot
« Válasz #14 Dátum: 2014. január 24. - 15:21:37 »
0 Show voters
[mod]Remélem megbeszéltétek már. Nem szeretném ha továbbra is bárki folytatná, mert még a végén a nyugodt hangvétel veszekedésbe civakodásba megy át.Szóval még ha nagyon nagy fontosságát érzitek ennek a megbeszélésnek. Akkor, megkérnélek, hogy ésszel tegyétek majd meg.[/mod]


Mielõtt még Pedró rákérdezne... Dfoglalo kommentje által kiváltott kommentekre gondolok. Egyenlõre normális a hangnem. Örülnék ha így maradna.
« Utoljára szerkesztve: 2014. január 24. - 15:25:08 írta cappsy »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal