Szerző Téma: Lövés script!  (Megtekintve 1860 alkalommal)

Lövés script!
« Dátum: 2013. július 14. - 14:05:09 »
0 Show voters
Helló!
Sok szerveren látom hogyha valakit fejbe lõnek akkor az azonnal meghal, ha valakit pedig lábon akkor persze animba esik!
Ezt valaki megtudná nekem mondani, hogy hogyan tudom megoldani, esetleg linket adna valaki vagy bármi?

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Lövés script!
« Válasz #1 Dátum: 2013. július 16. - 11:21:30 »
+2 Show voters
Tessék átírtam neked 1-et:
 

#include <a_samp>
#pragma tabsize 0
public OnFilterScriptInit()
{
        print(\"--------------------------------\");
        print(\"A Headshot filterscript betöltve\");
        print(\"--------------------------------\");
        return true;
}
public OnFilterScriptExit()
{
        print(\"--------------------------------\");
        print(\"A Headshot filterscript kilépve.\");
        print(\"--------------------------------\");
        return true;
}
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;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys == KEY_FIRE && (GetPlayerWeapon(playerid) == 33 || GetPlayerWeapon(playerid) == 34))
        {
                new Float:cam_y,Float:cam_x,Float:cam_z,Float:vec_x,Float:vec_y,Float:vec_z;
                new Float:Pos[3];
                GetPlayerCameraPos(playerid,cam_x,cam_y,cam_z);
                GetPlayerCameraFrontVector(playerid,vec_x,vec_y,vec_z);
                for(new i = 0,j=GetMaxPlayers(); i < j; i++)
                {
                        if(!IsPlayerConnected(i)) continue;
                        GetPlayerPos(i,Pos[0],Pos[1],Pos[2]);
                        if(IsPlayerAimingAt(playerid, Pos[0], Pos[1], Pos[2]+0.8, 0.2))
                        {
                                SetPlayerHealth(i,0.0);
                                SendDeathMessage(playerid,i,GetPlayerWeapon(playerid));
                                new String[256];
                                new Name[MAX_PLAYER_NAME];
                                GetPlayerName(i,Name,MAX_PLAYER_NAME);
                                format(String,256,\"Lelõtted az illetõt!\",Name);
                                SendClientMessage(playerid,0x0000ff77,String);
                                break;
                        }
                        else
            {
             SetPlayerHealth(i,20.0);
             ApplyAnimation(playerid,\"SWAT\",\"gnstwall_injurd\",4.1,1,1,1,0,4000,1);
             SendClientMessage(i, -1, \"Elkapott egy golyó próbálj meg gyorsan elmenekülni!\");
             new String[256];
                         new Name[MAX_PLAYER_NAME];
                         GetPlayerName(i,Name,MAX_PLAYER_NAME);
                         format(String,256,\"Lábon kaptad az illetõt!\",Name);
                         SendClientMessage(playerid,0x0000ff77,String);
                }
        }
        return true;
}
« Utoljára szerkesztve: 2013. július 16. - 13:00:54 írta Benceee »

Lövés script!
« Válasz #2 Dátum: 2013. július 25. - 15:20:29 »
0 Show voters
Majdnem jó de van egy error: error 030: compound statement not closed at the end of file (started at line 173)
« Utoljára szerkesztve: 2013. július 25. - 15:23:46 írta kundlam »

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Lövés script!
« Válasz #3 Dátum: 2013. július 25. - 17:53:53 »
0 Show voters
Az a te errorod. A 175-ös sornál lévõ függvény vagy valami amit megnyitottál nincs lezárva. Ez a filterscript hibátlan ;)

Lövés script!
« Válasz #4 Dátum: 2013. július 26. - 15:23:12 »
0 Show voters
if(newkeys == KEY_FIRE && (GetPlayerWeapon(playerid) == 33 || GetPlayerWeapon(playerid) == 34))
ez de nekem nem megy :\'(

Lövés script!
« Válasz #5 Dátum: 2013. július 26. - 19:55:41 »
0 Show voters
Definálva van?
 
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

Lövés script!
« Válasz #6 Dátum: 2013. július 27. - 20:37:34 »
0 Show voters
ilyen legyen a vége:
 
                         SendClientMessage(playerid,0x0000ff77,String);
                }
        }
        return true;
}
}

Nem elérhető kos

  • 292
    • Profil megtekintése
Lövés script!
« Válasz #7 Dátum: 2013. július 31. - 08:27:53 »
0 Show voters
a-a :D egy kapcsos zárójel hiányzik csak :P
 
else
                        {
                         SetPlayerHealth(i,20.0);
                         ApplyAnimation(playerid,\"SWAT\",\"gnstwall_injurd\",4.1,1,1,1,0,4000,1);
                         SendClientMessage(i, -1, \"Elkapott egy golyó próbálj meg gyorsan elmenekülni!\");
                         new String[256];
                         new Name[MAX_PLAYER_NAME];
                         GetPlayerName(i,Name,MAX_PLAYER_NAME);
                         format(String,256,\"Lábon kaptad az illetõt!\",Name);
                         SendClientMessage(playerid,0x0000ff77,String);
            }
                }
        }
        return true;
}

Lövés script!
« Válasz #8 Dátum: 2013. július 31. - 11:48:38 »
0 Show voters
Hiába lövöm fejbe, csak a fele hpját veszi le

Lövés script!
« Válasz #9 Dátum: 2013. augusztus 04. - 22:21:24 »
0 Show voters
Nem megy vki pls help!

Lövés script!
« Válasz #10 Dátum: 2013. augusztus 05. - 19:21:03 »
+1 Show voters
Olyat, hogy fejlösvésnél megkülönböztesse, nem tudok szerezni. De van egy hasznos dolog http://forum.sa-mp.com/showthread.php?t=403713! Azt takarja, hogy fej,láb,kéz megvan különböztetve. Szerintem megtudod csinálni...

Lövés script!
« Válasz #11 Dátum: 2013. augusztus 05. - 19:35:43 »
0 Show voters
Idézetet írta: Benike1997 date=1375723263\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39756\" data-ipsquote-contentclass=\"forums_Topic
Olyat, hogy fejlösvésnél megkülönböztesse, nem tudok szerezni. De van egy hasznos dolog http://forum.sa-mp.com/showthread.php?t=403713! Azt takarja, hogy fej,láb,kéz megvan különböztetve. Szerintem megtudod csinálni...
 
Köszi Pont egy ilyet kerestem. Gracias Amigo!

Lövés script!
« Válasz #12 Dátum: 2013. augusztus 05. - 19:54:13 »
0 Show voters
Nincs mit. Pont azért írtam le, mert én is sokáig kerestem hasonlót, és mikor megoldódott akkor találtam rá erre. De szerintem nagyon jó kis cucc!

Lövés script!
« Válasz #13 Dátum: 2013. augusztus 09. - 18:41:46 »
0 Show voters
Benike igenis van ilyen mert egy ism. szeróján is megy, de most írtam meg a sajátomat, és ha van rá igény akkor majd publikálom! ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal