Szerző Téma: Fegyver az oldalon script probléma  (Megtekintve 740 alkalommal)

Nem elérhető myke

  • 213
    • Profil megtekintése
Fegyver az oldalon script probléma
« Dátum: 2015. május 11. - 17:45:10 »
0 Show voters
Hali.
Adott egy script, ami a fegyvereket az oldaladra, vagy a hátadra teszi.
Viszont, egyszerre csak 1 object lehet rajtad.
Hogy lehetne megoldani, hogy több lehessen rajtad?
Script:
 
#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;
}

 
A válaszokat előre is köszönöm!
« Utoljára szerkesztve: 2015. május 11. - 17:47:28 írta ƒlaﻛh »

Fegyver az oldalon script probléma
« Válasz #1 Dátum: 2015. május 12. - 12:38:18 »
0 Show voters

Nem elérhető myke

  • 213
    • Profil megtekintése
Fegyver az oldalon script probléma
« Válasz #2 Dátum: 2015. május 12. - 17:10:16 »
0 Show voters
Ez mind szép, és jó, csak nekem elég irreálisnak tűnik, ezért szeretném ezen megcsinálni.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal