Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum eWeaponItemsDropped
- {
- Float:flX,
- Float:flY,
- Float:flZ,
- WeaponID,
- iAmmo,
- Text3D:Label,
- Object,
- bUsed
- }
- new g_WeaponItems[MAX_DROPPED_WEAPONS][eWeaponItemsDropped];
- stock CreateDroppedWeapon(playerid, wID, Float:flPos[], modelid)
- {
- new i, strWeapon[32];
- for(i = 0; i < MAX_DROPPED_WEAPONS; ++i )
- {
- if ( g_WeaponItems[i][bUsed] )
- continue;
- else
- break;
- }
- g_WeaponItems[i][iAmmo] = GetPlayerAmmo(playerid);
- g_WeaponItems[i][flX] = flPos[0];
- g_WeaponItems[i][flY] = flPos[1];
- g_WeaponItems[i][flZ] = flPos[2] - 0.9;
- g_WeaponItems[i][WeaponID] = wID;
- GetWeaponName(wID, strWeapon, sizeof(strWeapon));
- g_WeaponItems[i][Object] = CreateDynamicObject(modelid, flPos[0], flPos[1], flPos[2] - 0.9, 2, 4, 6 );
- g_WeaponItems[i][Label] = CreateDynamic3DTextLabel(strWeapon, RGBA(100, 200, 0, 255), flPos[0], flPos[1], flPos[2] - 0.6, 2.5);
- new Float:rot[3];
- GetDynamicObjectRot( g_WeaponItems[i][Object], rot[0], rot[1], rot[2]);
- SetDynamicObjectRot( g_WeaponItems[i][Object], -90, rot[1], rot[2]);
- g_WeaponItems[i][bUsed] = true;
- return 1;
- }
- GetWeaponModel(weaponid)
- {
- new model;
- switch(weaponid)
- {
- case 1: model=331; case 2: model=333; case 3: model=334;
- case 4: model=335; case 5: model=336; case 6: model=337;
- case 7: model=338; case 8: model=339; case 9: model=341;
- case 10: model=321; case 11: model=322; case 12: model=323;
- case 13: model=324; case 14: model=325; case 15: model=326;
- case 16: model=342; case 17: model=343; case 18: model=344;
- case 22: model=346; case 23: model=347; case 24: model=348;
- case 25: model=349; case 26: model=350; case 27: model=351;
- case 28: model=352; case 29: model=353; case 30: model=355;
- case 31: model=356; case 32: model=372; case 33: model=357;
- case 34: model=358; case 35: model=359; case 36: model=360;
- case 37: model=361; case 38: model=362; case 39: model=363;
- case 41: model=365; case 42: model=366; case 46: model=371;
- }
- if(model<300) return -1;
- return model;
- }
- GetWeaponIDFromModel(modelid)
- {
- switch(modelid)
- {
- case 331: return 1; case 333: return 2; case 334: return 3;
- case 335: return 4; case 336: return 5; case 337: return 6;
- case 338: return 7; case 339: return 8; case 341: return 9;
- case 321: return 11; case 322: return 11; case 323: return 12;
- case 324: return 13; case 325: return 14; case 326: return 15;
- case 342: return 16; case 343: return 17; case 344: return 18;
- case 346: return 22; case 347: return 23; case 348: return 24;
- case 349: return 25; case 350: return 26; case 351: return 27;
- case 352: return 28; case 353: return 29; case 355: return 30;
- case 356: return 31; case 372: return 32; case 357: return 33;
- case 358: return 34; case 359: return 35; case 360: return 36;
- case 361: return 37; case 362: return 38; case 363: return 39;
- case 365: return 41; case 366: return 42; case 371: return 46;
- }
- return -1;
- }
- CMD:dropweapon(playerid, params[])
- {
- if(g_PlayerInfo[playerid][iWeapon] > 0 )
- {
- new action[128], szWepName[32];
- GetWeaponName(g_PlayerInfo[playerid][iWeapon], szWepName, 32);
- format(action, 128, "drops their %s on the ground.", szWepName);
- new Float:pos[3];
- GetPlayerOrigin(playerid, pos);
- new iModel = GetWeaponModel(g_PlayerInfo[playerid][iWeapon]);
- CreateDroppedWeapon(playerid, g_PlayerInfo[playerid][iWeapon], pos, iModel);
- RemoveWeapon(playerid, g_PlayerInfo[playerid][iWeapon]);
- }
- return 1;
- }
- CMD:pickupweapon(playerid, params[])
- {
- for(new i = 0; i < MAX_DROPPED_WEAPONS; ++i)
- {
- if(g_WeaponItems[i][bUsed] )
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.0, g_WeaponItems[i][flX], g_WeaponItems[i][flY], g_WeaponItems[i][flZ] ) )
- {
- new action[128], szWepName[32];
- GetWeaponName(g_WeaponItems[i][WeaponID], szWepName, 32);
- format(action, 128, "picks up a %s from the ground.", szWepName);
- DestroyDynamic3DTextLabel(g_WeaponItems[i][Label]);
- DestroyDynamicObject(g_WeaponItems[i][Object]);
- GivePlayerWeapon(playerid,g_WeaponItems[i][WeaponID], g_WeaponItems[i][iAmmo]);
- g_WeaponItems[i][bUsed] = false;
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement