GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: kundlam - 2013. július 14. - 14:05:09

Cím: Lövés script!
Írta: kundlam - 2013. július 14. - 14:05:09
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?
Cím: Lövés script!
Írta: SnooP - 2013. július 16. - 11:21:30
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;
}
Cím: Lövés script!
Írta: kundlam - 2013. július 25. - 15:20:29
Majdnem jó de van egy error: error 030: compound statement not closed at the end of file (started at line 173)
Cím: Lövés script!
Írta: SnooP - 2013. július 25. - 17:53:53
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 ;)
Cím: Lövés script!
Írta: kundlam - 2013. július 26. - 15:23:12
if(newkeys == KEY_FIRE && (GetPlayerWeapon(playerid) == 33 || GetPlayerWeapon(playerid) == 34))
ez de nekem nem megy :\'(
Cím: Lövés script!
Írta: Ryan_Adam - 2013. július 26. - 19:55:41
Definálva van?
 
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
Cím: Lövés script!
Írta: Benike1997 - 2013. július 27. - 20:37:34
ilyen legyen a vége:
 
                         SendClientMessage(playerid,0x0000ff77,String);
                }
        }
        return true;
}
}
Cím: Lövés script!
Írta: kos - 2013. július 31. - 08:27:53
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;
}
Cím: Lövés script!
Írta: kundlam - 2013. július 31. - 11:48:38
Hiába lövöm fejbe, csak a fele hpját veszi le
Cím: Lövés script!
Írta: kundlam - 2013. augusztus 04. - 22:21:24
Nem megy vki pls help!
Cím: Lövés script!
Írta: Benike1997 - 2013. augusztus 05. - 19:21:03
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...
Cím: Lövés script!
Írta: Peter1481048284 - 2013. augusztus 05. - 19:35:43
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!
Cím: Lövés script!
Írta: Benike1997 - 2013. augusztus 05. - 19:54:13
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!
Cím: Lövés script!
Írta: kundlam - 2013. augusztus 09. - 18:41:46
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! ;)