Právě je úte 22. kvě 2012 10:18:21
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[HELP] NHL 09 od MajkX
[Hlasovanie] Pridanie teamov do PICH od MajkX
[Ms 2012] NHL 2009 Remake od MajkX
[ HELP ]NPC od UpiR
[HELP]Hackovanie servera od kazlik

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 37 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
PříspěvekNapsal: sob 10. dub 2010 22:03:04 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 09. led 2010 20:48:22
Příspěvky: 160

Tahle funkce pouziva funkci od uzivatele RedShirt "DistanceCameraTargetToLocation" a modifikovanou funkci GetPlayerFacingAngleToPoint, kterou jsem si upravil na GetPointAngleToPoint. Protoze k detekci toho, kam hrac miri zamerovacim krizem nestaci pouze zjisteni polohy kamery a vektoru, nastavil jsem funkci IsPlayerAimingAt tak, aby reflektovala ruzne uhlove rozdily u jednotlivych typu zbrani.

Kód:
Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ, Float:FrX, Float:FrY, Float:FrZ) {

   new Float:TGTDistance;

   TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));

   new Float:tmpX, Float:tmpY, Float:tmpZ;

   tmpX = FrX * TGTDistance + CamX;
   tmpY = FrY * TGTDistance + CamY;
   tmpZ = FrZ * TGTDistance + CamZ;

   return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
}

stock Float:GetPointAngleToPoint(Float:x2, Float:y2, Float:X, Float:Y) {

   new Float:DX, Float:DY;
   new Float:angle;

   DX = floatabs(floatsub(x2,X));
   DY = floatabs(floatsub(y2,Y));

   if (DY == 0.0 || DX == 0.0) {
       if(DY == 0 && DX > 0) angle = 0.0;
       else if(DY == 0 && DX < 0) angle = 180.0;
       else if(DY > 0 && DX == 0) angle = 90.0;
       else if(DY < 0 && DX == 0) angle = 270.0;
       else if(DY == 0 && DX == 0) angle = 0.0;
   }
   else {
       angle = atan(DX/DY);

       if(X > x2 && Y <= y2) angle += 90.0;
       else if(X <= x2 && Y < y2) angle = floatsub(90.0, angle);
       else if(X < x2 && Y >= y2) angle -= 90.0;
       else if(X >= x2 && Y > y2) angle = floatsub(270.0, angle);
   }

   return floatadd(angle, 90.0);
}

stock GetXYInFrontOfPoint(&Float:x, &Float:y, Float:angle, Float:distance) {
   x += (distance * floatsin(-angle, degrees));
   y += (distance * floatcos(-angle, degrees));
}

stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius) {
   new Float:camera_x,Float:camera_y,Float:camera_z,Float:vector_x,Float:vector_y,Float:vector_z;
   GetPlayerCameraPos(playerid, camera_x, camera_y, camera_z);
   GetPlayerCameraFrontVector(playerid, vector_x, vector_y, vector_z);

   new Float:vertical, Float:horizontal;

   switch (GetPlayerWeapon(playerid)) {
       case 34,35,36: {
       if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, vector_x, vector_y, vector_z) < radius) return true;
       return false;
       }
       case 30,31: {vertical = 4.0; horizontal = -1.6;}
       case 33: {vertical = 2.7; horizontal = -1.0;}
       default: {vertical = 6.0; horizontal = -2.2;}
   }

   new Float:angle = GetPointAngleToPoint(0, 0, floatsqroot(vector_x*vector_x+vector_y*vector_y), vector_z) - 270.0;
   new Float:resize_x, Float:resize_y, Float:resize_z = floatsin(angle+vertical, degrees);
   GetXYInFrontOfPoint(resize_x, resize_y, GetPointAngleToPoint(0, 0, vector_x, vector_y)+horizontal, floatcos(angle+vertical, degrees));

   if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, resize_x, resize_y, resize_z) < radius) return true;
   return false;
}


Ve vysledku tedy staci implementovat vsechny tyhle funkce, a pak pouzijete funkci IsPlayerAimingAt ke zjisteni toho, kam hrac skutecne miri.

Kód:
stock IsPlayerAimingAtPlayer(playerid, targetplayerid) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(targetplayerid, x, y, z);
   return IsPlayerAimingAt(playerid, x, y, z, 1.1);
}


Tahle funkce treba spolehlive zjisti, jestli mirite na hrace.

Kód:
stock IsHeadshot(playerid, targetplayerid) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(targetplayerid, x, y, z);
   return IsPlayerAimingAt(playerid, x, y, z+0.8, 0.2);
}


A tahle zase zjisti, jestli mirite hraci na hlavu - headshot.

_________________
Obrázek

San Andreas Multiplayer (WTLS): play.gta-mp.cz:7777
• Bezkonkurenční herní mód s nadstandartními možnostmi - kulečník, basketbal, závody, minihry, války o území gangů, nemovitosti, skryté balíčky a mnohem více!
• Herní server bez cheaterů - na našem serveru máme efektivní anticheat
• Profesionální a přátelský administrační tým, který pomáhá hráčům

Vice City Multiplayer: play.gta-mp.cz:5192
IV-MP: play.gta-mp.cz:9999
Liberty Unleashed (GTA3): play.gta-mp.cz:2301


Naposledy upravil niCe dne sob 10. dub 2010 23:54:39, celkově upraveno 1

Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:11:23 
Wu Zi Mu "Woozzi"
Wu Zi Mu "Woozzi"
Uživatelský avatar
Registrován: ned 21. bře 2010 15:10:56
Příspěvky: 1388
Bydliště: mám

krása..toto je tut s velkým T .. 20/10


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:21:27 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: úte 13. říj 2009 17:56:16
Příspěvky: 846

Nice a toto ty jsko ze scriptujes ?? To mas hlavu jako bednu ne ? :S

nice tut ;) 10/10

_________________
Anarchie je jen sekundární název samovolného pořádku.
<?php
while(true)
{
echo "<script>";
echo "alert('Strašně XSSáckej text!')";
echo "</script>";
}


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:27:06 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Registrován: čtv 11. čer 2009 10:18:38
Příspěvky: 1117

Tak teď lituju že už nepawnim xD

_________________
...and people die, everywhere people die...


Obrázek


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:27:42 
Melvin Harris "Big Smoke"
Melvin Harris "Big Smoke"
Registrován: ned 20. zář 2009 10:09:57
Příspěvky: 2273
Bydliště: Jako moje jo? :D

Nice Nice Nice...
je to Nice niCe :D

_________________
"BORN" : ned 20. zář 2009 9:09:57

"DIE" : pát 23. pro 2011 16:53:29


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:27:53 

100/100


  
PříspěvekNapsal: sob 10. dub 2010 22:36:14 

Pekne 10/10 a mohol by si to dať Win_Man do módu lebo zatiaľ je :hehe: o ničom :boss: ..... Good TUT :D


  
PříspěvekNapsal: sob 10. dub 2010 22:38:56 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: pát 02. říj 2009 13:59:22
Příspěvky: 1455
Bydliště: ?????????

Good sem vedel ze to bude slozitejsi sem to parkrat hledal "cheers" pouziju do MarsCity
:v:


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 22:52:27 

resil sem to s niCem na ICQ...a rikal ze treba v mim pripade by to bylo hodne tezky to optimalizovat tak aby to nelagovalo server...jelikoz pri vetsim poctu hracu (20+) to hodne zatezuje...a dalsi nevyhoda je ze to dava headshoty i pres zdi...coz je nezadouci


  
PříspěvekNapsal: sob 10. dub 2010 23:08:13 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: úte 22. pro 2009 12:00:09
Příspěvky: 911

to se mi bude hodit do mého Afghanistan modu :) za Hedku 2 body xD

_________________
Obrázek


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 23:09:45 

je pravda ze do nejakyho CS modu by to nebylo spatny...ale ty hedky pres zed sou fakt na pytel


  
PříspěvekNapsal: sob 10. dub 2010 23:13:37 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Uživatelský avatar
Registrován: stř 20. srp 2008 10:24:58
Příspěvky: 2444

Om3n píše:
je pravda ze do nejakyho CS modu by to nebylo spatny...ale ty hedky pres zed sou fakt na pytel


tjn, ... taky mohli udělat funkci, která by ti zjistila, jestli koukáš na určitý bod skrz ( neprůstřelnej ) objekt :D

_________________

Každý má právo na svůj názor . . .
. . . ale někdy stojí za to, se nad sebou zamyslet



Obrázek

Obrázek

Obrázek


Offline
 Profil  
PříspěvekNapsal: sob 10. dub 2010 23:58:47 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 09. led 2010 20:48:22
Příspěvky: 160

Jeste maly update, pro lepsi presnost zjisteni, jestli hrac miri na hrace doporucuju vytvoreni vicebodovejch zasahovejch zon, treba:

Kód:
stock IsPlayerAimingAtPlayer(playerid, targetid) {
  new Float:x, Float:y, Float:z;
  GetPlayerPos(target, x, y, z);
  if (IsPlayerAimingAt(playerid, x, y, z-0.75, 0.25)) return true;
  if (IsPlayerAimingAt(playerid, x, y, z-0.25, 0.25)) return true;
  if (IsPlayerAimingAt(playerid, x, y, z+0.25, 0.25)) return true;
  if (IsPlayerAimingAt(playerid, x, y, z+0.75, 0.25)) return true;
  return false;
}

_________________
Obrázek

San Andreas Multiplayer (WTLS): play.gta-mp.cz:7777
• Bezkonkurenční herní mód s nadstandartními možnostmi - kulečník, basketbal, závody, minihry, války o území gangů, nemovitosti, skryté balíčky a mnohem více!
• Herní server bez cheaterů - na našem serveru máme efektivní anticheat
• Profesionální a přátelský administrační tým, který pomáhá hráčům

Vice City Multiplayer: play.gta-mp.cz:5192
IV-MP: play.gta-mp.cz:9999
Liberty Unleashed (GTA3): play.gta-mp.cz:2301


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 14:34:01 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: čtv 08. říj 2009 16:36:48
Příspěvky: 847

Určite túto funkciu použiem....niCe...very good


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 14:35:21 
Wu Zi Mu "Woozzi"
Wu Zi Mu "Woozzi"
Uživatelský avatar
Registrován: ned 06. zář 2009 10:14:22
Příspěvky: 1251

dik to se mi zrovna hodí

_________________
Obrázek

Obrázek


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 14:36:09 
The Truth
The Truth
Uživatelský avatar
Registrován: ned 29. bře 2009 15:13:06
Příspěvky: 542
Bydliště: Česká RAPublika

no vida, první příspěvek co niCe napsal a neni o wtf :)
jinak good tut, ale myslim si, že to nikdo nevyužije...

_________________
lajkuj to: http://www.facebook.com/pages/Mazzag/165162296860011
Spoiler:
Obrázek


Herní módy
Business City - 51%
Info o módu: http://www.pawno.cz/viewtopic.php?f=18&t=7943 Denně aktualizováno

Tutoriály
[TuT] Potřeba na wc přes progress bar + pochcání -http://pawno.cz/viewtopic.php?f=8&t=9008&start=0&st=0&sk=t&sd=a


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 14:39:47 
Wu Zi Mu "Woozzi"
Wu Zi Mu "Woozzi"
Uživatelský avatar
Registrován: ned 06. zář 2009 10:14:22
Příspěvky: 1251

to je pravda lukmane :D

_________________
Obrázek

Obrázek


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 16:27:05 
Sean Johnson "Sweet"
Sean Johnson "Sweet"
Uživatelský avatar
Registrován: pon 29. čer 2009 17:47:40
Příspěvky: 3156
Bydliště: Petrovice u Sedlčan

Pokud jsem to dobře pochopil, (kod sem neštudoval :D) by se to hodilo třeba i na zbrojní průkaz když musí trefit terč přesně do prostřed, nice tut.
Určitě využiju :)

_________________
Obrázek
Obrázek
Obrázek

[FS] Titanic


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 18:52:20 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 09. led 2010 20:48:22
Příspěvky: 160

Kompletne hotovou strelnici, kde mam tyhle funkce, najdete na WTSA, kde si muzete vyzkouset, jak to funguje.

_________________
Obrázek

San Andreas Multiplayer (WTLS): play.gta-mp.cz:7777
• Bezkonkurenční herní mód s nadstandartními možnostmi - kulečník, basketbal, závody, minihry, války o území gangů, nemovitosti, skryté balíčky a mnohem více!
• Herní server bez cheaterů - na našem serveru máme efektivní anticheat
• Profesionální a přátelský administrační tým, který pomáhá hráčům

Vice City Multiplayer: play.gta-mp.cz:5192
IV-MP: play.gta-mp.cz:9999
Liberty Unleashed (GTA3): play.gta-mp.cz:2301


Offline
 Profil  
PříspěvekNapsal: ned 11. dub 2010 18:57:46 
Sean Johnson "Sweet"
Sean Johnson "Sweet"
Uživatelský avatar
Registrován: pon 29. čer 2009 17:47:40
Příspěvky: 3156
Bydliště: Petrovice u Sedlčan

niCe píše:
Kompletne hotovou strelnici, kde mam tyhle funkce, najdete na WTSA, kde si muzete vyzkouset, jak to funguje.

Furt mě zajímalo jak si to udělal :D :D
ještě jednou dík...

_________________
Obrázek
Obrázek
Obrázek

[FS] Titanic


Offline
 Profil  
PříspěvekNapsal: pon 12. dub 2010 14:03:17 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Registrován: ned 19. črc 2009 12:53:53
Příspěvky: 2537

nice tut :D 1000/1000


Offline
 Profil  
PříspěvekNapsal: ned 02. kvě 2010 11:50:25 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

Ten headshot by se dal zalepit tak, ze nejdriv zjisti jestli hraci ubylo zdravi a pak funkce jestli dostal heda ne?

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: pon 03. kvě 2010 19:31:42 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Registrován: pon 10. srp 2009 20:53:11
Příspěvky: 1149

J slo ja to tak mam :) Akorad je nevyhoda, kdyz spadne treba jen z malyho utesu a nekdo na nej miri a vystreli tak ho to klidne tky zabije..


Offline
 Profil  
PříspěvekNapsal: pon 03. kvě 2010 19:35:27 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

Roox píše:
J slo ja to tak mam :) Akorad je nevyhoda, kdyz spadne treba jen z malyho utesu a nekdo na nej miri a vystreli tak ho to klidne tky zabije..


Je hodne mala sance aby ho trefil do hlavy uprostred animace.. kazdej typek bude mirit presne na model a ne 0.8 m nad jeho dolni bod.. ;)

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: pon 03. kvě 2010 19:38:33 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: úte 13. říj 2009 17:56:16
Příspěvky: 846

ovšem tato funkce nezná rozptyl a taky jesli hráč skutešne vystřelil .. takhle jsme to bugovaly s upilkama na WTLS :D

_________________
Anarchie je jen sekundární název samovolného pořádku.
<?php
while(true)
{
echo "<script>";
echo "alert('Strašně XSSáckej text!')";
echo "</script>";
}


Offline
 Profil  
PříspěvekNapsal: pon 03. kvě 2010 19:42:58 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Registrován: pon 10. srp 2009 20:53:11
Příspěvky: 1149

Ale ja sem na to, jestli hrac vystrelil udelal INC ;) Viz muj podpis


Offline
 Profil  
PříspěvekNapsal: úte 04. kvě 2010 6:47:42 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

tbx píše:
ovšem tato funkce nezná rozptyl a taky jesli hráč skutešne vystřelil .. takhle jsme to bugovaly s upilkama na WTLS :D


Totu funkci musis dat do publicu OnPlayerKeyChange a kontrolu na LMB xD Muzes pridat i nejakou specifickou zbran.. (Baseball bat XDD)

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: úte 04. kvě 2010 22:44:36 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 09. led 2010 20:48:22
Příspěvky: 160

tbx píše:
ovšem tato funkce nezná rozptyl a taky jesli hráč skutešne vystřelil .. takhle jsme to bugovaly s upilkama na WTLS :D


Na WTLS tyhle funkce pro hrace nikdy nebyly.

_________________
Obrázek

San Andreas Multiplayer (WTLS): play.gta-mp.cz:7777
• Bezkonkurenční herní mód s nadstandartními možnostmi - kulečník, basketbal, závody, minihry, války o území gangů, nemovitosti, skryté balíčky a mnohem více!
• Herní server bez cheaterů - na našem serveru máme efektivní anticheat
• Profesionální a přátelský administrační tým, který pomáhá hráčům

Vice City Multiplayer: play.gta-mp.cz:5192
IV-MP: play.gta-mp.cz:9999
Liberty Unleashed (GTA3): play.gta-mp.cz:2301


Offline
 Profil  
PříspěvekNapsal: sob 16. črc 2011 20:45:54 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 647
Bydliště: Nitra, Slovensko

Dalo by sa to nejako využiť aj s NPC? Aby im to povolilo strieľať? Ak áno napíšete mi pawn code príklad?

_________________
Obrázek

Obrázek


Offline
 Profil  
PříspěvekNapsal: sob 16. črc 2011 20:49:10 

Kód:
if(PRESSED(...)){
cyklus
if(IsPlayerAmingAt(playerid,i)){
if(IsPlayerNPC(i)){
NPCHealth[GetBotID(i)] -= random(25)+5;
if(NPCHeath[GetBotID(i)] > 0){
ApplayAnimation
SetTimerEx("",1000,false,"i",i)
}
}
}
}

public ...(botid){
Kick(botid);
}

Jednoduché...


  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 37 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: