Szerző Téma: Fegyver a játékoson  (Megtekintve 930 alkalommal)

Fegyver a játékoson
« Dátum: 2014. május 05. - 18:22:58 »
0 Show voters
Sziasztok!
egy olyan scriptet vagy segítséget szeretnék kérni, hogy a játékos fegyverét pl MP5-öt az oldalára tegye rá autómatikussan.
Ha elteszi a fegyvert akkor a derekára kerüljön vissza.
Elõre is köszönöm!

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Fegyver a játékoson
« Válasz #1 Dátum: 2014. május 05. - 20:00:11 »
0 Show voters
#include <a_samp>
#define WEAPON_TYPE_NONE    (0)
#define WEAPON_TYPE_HEAVY   (1)
#define WEAPON_TYPE_LIGHT   (2)
#define WEAPON_TYPE_MELEE   (3)//Nahkampf
new OldWeapon[MAX_PLAYERS];
new HoldingWeapon[MAX_PLAYERS];
 
#define SetPlayerHoldingObject(%1,%2,%3,%4,%5,%6,%7,%8,%9) SetPlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1,%2,%3,%4,%5,%6,%7,%8,%9)
#define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1)
//------------------------------------------------------------------------------------------------------
public OnFilterScriptExit()
{
for(new i=0;i<MAX_PLAYERS;i++)
    if(IsPlayerConnected(i))
   StopPlayerHoldingObject(i);
return 1;
}
public OnPlayerConnect(playerid)
{
OldWeapon[playerid]=0;
HoldingWeapon[playerid]=0;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate==PLAYER_STATE_ONFOOT)
{
StopPlayerHoldingObject(playerid);
OldWeapon[playerid]=0;
HoldingWeapon[playerid]=0;
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
{
new weaponid=GetPlayerWeapon(playerid),oldweapontype=GetWeaponType(OldWeapon[playerid]);
new weapontype=GetWeaponType(weaponid);
if(HoldingWeapon[playerid]==weaponid)
    StopPlayerHoldingObject(playerid);
if(OldWeapon[playerid]!=weaponid)
{
    new modelid=GetWeaponModel(OldWeapon[playerid]);
    if(modelid!=0 && oldweapontype!=WEAPON_TYPE_NONE && oldweapontype!=weapontype)
    {
        HoldingWeapon[playerid]=OldWeapon[playerid];
        switch(oldweapontype)
        {
            case WEAPON_TYPE_LIGHT:
            SetPlayerHoldingObject(playerid, modelid, 8,0.0,-0.1,0.15, -100.0, 0.0, 0.0);
         case WEAPON_TYPE_MELEE:
             SetPlayerHoldingObject(playerid, modelid, 7,0.0,0.0,-0.18, 100.0, 45.0, 0.0);
         case WEAPON_TYPE_HEAVY:
             SetPlayerHoldingObject(playerid, modelid, 1, 0.2,-0.125,-0.1,0.0,25.0,180.0);
        }
    }
}
if(oldweapontype!=weapontype)
   OldWeapon[playerid]=weaponid;
}
return 1;
}
//------------------------------------------------------------------------------------------------------
GetWeaponType(weaponid)
{
switch(weaponid)
{
    case 22,23,24,26,28,32:
        return WEAPON_TYPE_LIGHT;
case 3,4,16,17,18,39,10,11,12,13,14,40,41:
    return WEAPON_TYPE_MELEE;
case 2,5,6,7,8,9,25,27,29,30,31,33,34,35,36,37,38:
    return WEAPON_TYPE_HEAVY;
}
return WEAPON_TYPE_NONE;
}
stock GetWeaponModel(weaponid)
{
switch(weaponid)
{
    case 1:
        return 331;
case 2..8:
    return weaponid+331;
        case 9:
    return 341;
case 10..15:
   return weaponid+311;
case 16..18:
    return weaponid+326;
case 22..29:
    return weaponid+324;
case 30,31:
    return weaponid+325;
case 32:
    return 372;
case 33..45:
    return weaponid+324;
case 46:
    return 371;
}
return 0;
}

Fegyver a játékoson
« Válasz #2 Dátum: 2014. május 05. - 20:11:26 »
0 Show voters
Köszönöm mûködik!
De az miért van hogy egyszerre csak egyet tesz ki vagy a hátára vagy az oldalára ?

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Fegyver a játékoson
« Válasz #3 Dátum: 2014. május 05. - 20:18:58 »
0 Show voters
Hát mert úgy van meg alkotva de itt a link ahol ezt találtam : http://sampforum.hu/index.php?topic=38449.0

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Fegyver a játékoson
« Válasz #4 Dátum: 2014. május 24. - 15:15:38 »
0 Show voters
[mod]Témát zártam! Ha mégsem oldódott meg a problémád, kérlek jelezd PÜ-be, és megnyitom a témát![/mod]

Fegyver a játékoson
« Válasz #5 Dátum: 2014. május 05. - 18:22:58 »
0 Show voters
Sziasztok!
egy olyan scriptet vagy segítséget szeretnék kérni, hogy a játékos fegyverét pl MP5-öt az oldalára tegye rá autómatikussan.
Ha elteszi a fegyvert akkor a derekára kerüljön vissza.
Elõre is köszönöm!

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Fegyver a játékoson
« Válasz #6 Dátum: 2014. május 05. - 20:00:11 »
0 Show voters
#include <a_samp>
#define WEAPON_TYPE_NONE    (0)
#define WEAPON_TYPE_HEAVY   (1)
#define WEAPON_TYPE_LIGHT   (2)
#define WEAPON_TYPE_MELEE   (3)//Nahkampf
new OldWeapon[MAX_PLAYERS];
new HoldingWeapon[MAX_PLAYERS];
 
#define SetPlayerHoldingObject(%1,%2,%3,%4,%5,%6,%7,%8,%9) SetPlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1,%2,%3,%4,%5,%6,%7,%8,%9)
#define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJECTS-1)
//------------------------------------------------------------------------------------------------------
public OnFilterScriptExit()
{
for(new i=0;i<MAX_PLAYERS;i++)
    if(IsPlayerConnected(i))
   StopPlayerHoldingObject(i);
return 1;
}
public OnPlayerConnect(playerid)
{
OldWeapon[playerid]=0;
HoldingWeapon[playerid]=0;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate==PLAYER_STATE_ONFOOT)
{
StopPlayerHoldingObject(playerid);
OldWeapon[playerid]=0;
HoldingWeapon[playerid]=0;
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
{
new weaponid=GetPlayerWeapon(playerid),oldweapontype=GetWeaponType(OldWeapon[playerid]);
new weapontype=GetWeaponType(weaponid);
if(HoldingWeapon[playerid]==weaponid)
    StopPlayerHoldingObject(playerid);
if(OldWeapon[playerid]!=weaponid)
{
    new modelid=GetWeaponModel(OldWeapon[playerid]);
    if(modelid!=0 && oldweapontype!=WEAPON_TYPE_NONE && oldweapontype!=weapontype)
    {
        HoldingWeapon[playerid]=OldWeapon[playerid];
        switch(oldweapontype)
        {
            case WEAPON_TYPE_LIGHT:
            SetPlayerHoldingObject(playerid, modelid, 8,0.0,-0.1,0.15, -100.0, 0.0, 0.0);
         case WEAPON_TYPE_MELEE:
             SetPlayerHoldingObject(playerid, modelid, 7,0.0,0.0,-0.18, 100.0, 45.0, 0.0);
         case WEAPON_TYPE_HEAVY:
             SetPlayerHoldingObject(playerid, modelid, 1, 0.2,-0.125,-0.1,0.0,25.0,180.0);
        }
    }
}
if(oldweapontype!=weapontype)
   OldWeapon[playerid]=weaponid;
}
return 1;
}
//------------------------------------------------------------------------------------------------------
GetWeaponType(weaponid)
{
switch(weaponid)
{
    case 22,23,24,26,28,32:
        return WEAPON_TYPE_LIGHT;
case 3,4,16,17,18,39,10,11,12,13,14,40,41:
    return WEAPON_TYPE_MELEE;
case 2,5,6,7,8,9,25,27,29,30,31,33,34,35,36,37,38:
    return WEAPON_TYPE_HEAVY;
}
return WEAPON_TYPE_NONE;
}
stock GetWeaponModel(weaponid)
{
switch(weaponid)
{
    case 1:
        return 331;
case 2..8:
    return weaponid+331;
        case 9:
    return 341;
case 10..15:
   return weaponid+311;
case 16..18:
    return weaponid+326;
case 22..29:
    return weaponid+324;
case 30,31:
    return weaponid+325;
case 32:
    return 372;
case 33..45:
    return weaponid+324;
case 46:
    return 371;
}
return 0;
}

Fegyver a játékoson
« Válasz #7 Dátum: 2014. május 05. - 20:11:26 »
0 Show voters
Köszönöm mûködik!
De az miért van hogy egyszerre csak egyet tesz ki vagy a hátára vagy az oldalára ?

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Fegyver a játékoson
« Válasz #8 Dátum: 2014. május 05. - 20:18:58 »
0 Show voters
Hát mert úgy van meg alkotva de itt a link ahol ezt találtam : http://sampforum.hu/index.php?topic=38449.0

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Fegyver a játékoson
« Válasz #9 Dátum: 2014. május 24. - 15:15:38 »
0 Show voters
[mod]Témát zártam! Ha mégsem oldódott meg a problémád, kérlek jelezd PÜ-be, és megnyitom a témát![/mod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal