18.12.2013, 13:45
I am occuring a problem with the looting system I'm developing for my server. I can't pick up objects somehow, and I'd be happy if somebody could help me.
Code:
OnGameModeInit:
OnPlayerKeyStateChange
OnPlayerUseItem (j_inventory_v2)
No errors:
Code:
Код:
#define PRESSED (%0) #define MAX_LOOTS 100 new LootObjects[MAX_LOOTS] = { INVALID_OBJECT_ID, ... };
Код:
// Objects LootObjects[0] = CreateDynamicObject(1210, 254.31627, 4158.11377, 8.95453, 0.00000, 0.00000, 0.00000); // Medkit LootObjects[1] = CreateDynamicObject(1484, 247.87740, 4188.77002, 8.90115, 0.00000, 0.00000, 0.00000); // Beer Bottle LootObjects[2] = CreateDynamicObject(2806, 247.98601, 4100.01758, 3.42860, 0.00000, 0.00000, 0.00000); // Human Meat LootObjects[3] = CreateDynamicObject(2806, 248.70003, 4103.33936, 4.03377, 0.00000, 0.00000, 0.00000); // Human Meat LootObjects[4] = CreateDynamicObject(336, 136.25269, 4179.93018, 28.80020, -50.00000, 0.00000, 0.00000); // Bat in tree LootObjects[5] = CreateDynamicObject(1265, 289.96664, 4068.64990, 0.57592, 0.00000, 0.00000, 0.00000); // Bag with: Medkit, bandage LootObjects[6] = CreateDynamicObject(2891, 201.18965, 4179.41357, 8.75100, 0.00000, 0.00000, 0.00000); // Bandage LootObjects[7] = CreateDynamicObject(1582, 126.10010, 4083.24170, 0.07406, 10.00000, 0.00000, 0.00000); // Stranded Pizza
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if (newkeys & KEY_YES) { ShowInventory(playerid); return 1; } if (newkeys & KEY_NO) { if(IsValidObject(LootObjects[0]) && IsPlayerInRangeOfPoint(playerid,3.0, 254.31627, 4158.11377, 8.95453)) { ApplyAnimation(playerid,"BOMBER","BOM_PLANT_2IDLE",4.1,1,1,1,1,1,1); AddItem(playerid,"Small Medkit",1); SendClientMessage(playerid, -4, "* Small medical kit added to your inventory."); DestroyObject(LootObjects[0]); } } return 1; }
Код:
public OnPlayerUseItem(playerid,ItemName[]) { if(!strcmp(ItemName,"Medkit",true)) { new Float:hp; GetPlayerHealth(playerid,hp); if(hp>=100)return SendClientMessage(playerid,-1,"* You already have full health!"); SetPlayerHealth(playerid,100); RemoveItem(playerid,ItemName,1); return SendClientMessage(playerid,-1,"* You used a medkit."); } return 0; }
Код:
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase