27.12.2015, 00:08
Eu estou usando o sistema que o wil postou em um comentario mais o problema й o seguinte, quando eu uso o comando, todos que estгo no servidor tem a mesma arma que eu, acoplada ao corpo.
Como eu faзo somente para o jogador que usou o comando estar com o objeto?
Como eu faзo somente para o jogador que usou o comando estar com o objeto?
Код:
#include <a_samp> #include <zcmd> #include <foreach> new pWeaponHold[MAX_PLAYERS]; CMD:armac(playerid, params[]) { if(GetPlayerWeapon(playerid) == -1) return SendClientMessage(playerid, 0xFF6347FF, "Vocк nгo possui nenhuma arma na mгo."); new gunname[128], string[128]; if(!pWeaponHold[playerid]) { if(GetPlayerWeapon(playerid) == 25 || GetPlayerWeapon(playerid) == 27 || GetPlayerWeapon(playerid) == 29 || GetPlayerWeapon(playerid) == 30 || GetPlayerWeapon(playerid) == 31 || GetPlayerWeapon(playerid) == 33 || GetPlayerWeapon(playerid) == 34) { if(!pWeaponHold[playerid]) { pWeaponHold[playerid] = GetPlayerWeapon(playerid); GetWeaponName(GetPlayerWeapon(playerid), gunname, sizeof(gunname)); format(string, sizeof(string),"SERVIDOR: A sua %s foi acoplada ao seu corpo!",gunname); SendClientMessage(playerid, 0xFFFF00FF, string); return 1; } else { GetWeaponName(pWeaponHold[playerid], gunname, sizeof(gunname)); RemovePlayerAttachedObject(playerid, 4); format(string, sizeof(string),"SERVIDOR: A sua %s foi desacoplada do seu corpo!",gunname); SendClientMessage(playerid, 0xFFFF00FF, string); pWeaponHold[playerid] = 0; } } else { SendClientMessage(playerid, 0xFF6347FF, "Esta arma nгo pode ser acoplada a seu corpo."); } } else { RemovePlayerAttachedObject(playerid, 4); format(string, sizeof(string),"SERVIDOR: A arma em seu corpo foi desacoplada!"); SendClientMessage(playerid, 0xFFFF00FF, string); pWeaponHold[playerid] = 0; } return 1; } stock RemoveWeaponHold(playerid, weaponid) { if(weaponid == pWeaponHold[playerid]) { RemovePlayerAttachedObject(playerid, 4); pWeaponHold[playerid] = 0; } return 1; } public OnGameModeInit() { SetTimer("CheckArmaC", 1000, true);//1s return 1; } forward CheckArmaC(playerid); public CheckArmaC(playerid) { foreach (new i : Player) { if(pWeaponHold[playerid]) { new weapon; switch(pWeaponHold[playerid]) { case 22: weapon = 346; case 23: weapon = 347; case 24: weapon = 348; case 25: weapon = 349; case 27: weapon = 351; case 29: weapon = 353; case 30: weapon = 355; case 31: weapon = 356; } if(GetPlayerWeapon(i) != pWeaponHold[playerid]) { switch(pWeaponHold[playerid]) { case 25: { SetPlayerAttachedObject(i, 4, weapon, 1, 0.2049, 0.2430, -0.1359, -176.0000, 160.1999,6.5998); } case 27,29,30,31,33,34: { SetPlayerAttachedObject(i, 4, weapon, 1, 0.1298, 0.2230, -0.1500, 5.0998, 23.8999, -177.4998); } } } else { RemovePlayerAttachedObject(i, 4); } } } return 1; }