05.08.2015, 02:22
He can do amount <= 0 return scm you cant do it. But it will just say, not work.
Try like this. I resolved the drugs, as I saw it has the same problem. The guns may be resolved but I'm not sure.
Код:
COMMAND:houselocker(playerid, params[]) { // houselocker [take / put ] [sguns/sdrugs] [amount] new tmp[ 64 ], tmp2[ 64 ], tmp3; if(PlayerTemp[playerid][tmphouse]!=-1) { new filename[20]; format(filename,sizeof(filename),"Casa%d.txt",House[PlayerTemp[playerid][tmphouse]][HouseID]); new cursguns = dini_Int(filename,"sguns"); new cursdrugs = dini_Int(filename,"sdrugs"); if(sscanf(params, "ssd",tmp,tmp2,tmp3)) { SendClientMSG(playerid, COLOR_LIGHTGREY, "LOCKER: There is currently %d Guns and %d Drugs in the locker.", dini_Int(filename,"sguns"), dini_Int(filename,"sdrugs")); return SCP(playerid, "[ take / put ] [ sguns / sdrugs ] [ amount ]"); } if(!strcmp(tmp, "take")) { if(!strlen(tmp2)) return SCP(playerid,"take [ sguns / sdrugs ] [ amount ]"); if(!strcmp(tmp2,"sguns")) { if(tmp3>cursguns) { SendClientError(playerid, "Invalid amount"); return 1; } if(!cursguns) format(filename,sizeof(filename),"Casa%d.txt",House[PlayerTemp[playerid][tmphouse]][HouseID]); dini_IntSet(filename, "sguns", cursguns-tmp3); PlayerInfo[playerid][sguns] += tmp3; SendClientMSG(playerid, COLOR_LIGHTGREY, "LOCKER: You have taken %d guns from your house locker.", tmp3); } else if(!strcmp(tmp2,"sdrugs")) { if(!cursdrugs) if(tmp3>cursdrugs) { SendClientError(playerid, "Invalid amount"); return 1; } dini_IntSet(filename,"sdrugs", cursdrugs-tmp3); // format(filename,sizeof(filename),"Casa%d.txt",House[PlayerTemp[playerid][tmphouse]][HouseID]); PlayerInfo[playerid][sdrugs] += tmp3; SendClientMSG(playerid, COLOR_LIGHTGREY, "LOCKER: You have taken %d drugs from your house locker.", tmp3); } } else if(!strcmp(tmp, "put")) { if(!strlen(tmp2)) return SCP(playerid,"put [ sguns / sdrugs ] [ amount ]"); if(!strcmp(tmp2,"sguns")) { if(PlayerInfo[playerid][sguns]<tmp3) if(PlayerInfo[playerid][sguns]<0) { SendClientError(playerid, "Invalid amount"); return 1; } dini_IntSet(filename, "sguns" , cursguns+tmp3); PlayerInfo[playerid][sguns] >= tmp3; SendClientMSG(playerid, COLOR_LIGHTGREY, "LOCKER: You have put %d guns from your house locker.", tmp3); } else if(!strcmp(tmp2,"sdrugs")) { if(PlayerInfo[playerid][sdrugs]<tmp3) { SendClientError(playerid, "Invalid amount"); return 1; } dini_IntSet(filename,"sdrugs", cursdrugs+tmp3); PlayerInfo[playerid][sdrugs] >= tmp3; SendClientMSG(playerid, COLOR_LIGHTGREY, "LOCKER: You have put %d drugs from your house locker.", tmp3); } else { if(PlayerInfo[playerid][sdrugs] <=0) SendClientMSG(playerid, COLOR_LIGHTGREY, "You don't have enough drugs, you bitch."); return 1; } } } return 1; }