25.10.2012, 03:26
Whenever i use the following command it crashes the server help with it.
Код:
CMD:setname(playerid, params[]) { new playerb ,string[128], string2[128], file[64], idx, idx2, idx3, idx4, text[MAX_PLAYER_NAME]; if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command."); if(PlayerInfo[playerid][pAdmin] < 4 && !Approve[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command."); if(Approve[playerid]) Approve[playerid] = 0; if(sscanf(params, "us[24]", playerb, text)) return SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /setname [playerid] [name]"); if(aDuty[playerb]) return SendClientMessage(playerid, COLOR_GREY, "You can't set an admin on duty's name."); if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id."); // Start of detecting space in name new end, temp[32], temp2[32]; end = strfind(text, " ",true); if(end != -1) { strmid(temp, text, 0, end); format(temp, sizeof(temp), "%s_", temp); strdel(text, 0, end); strmid(temp2, text, 1, strlen(text)); format(text, 24, ""); strcat(text, temp, sizeof(temp)); strcat(text, temp2, sizeof(temp2)); } // End of detecting space in name format(string, sizeof(string), "AdmCmd: %s has changed %s's name to %s.", RPN(playerid), RPN(playerb), text); format(string2, sizeof(string2), " Administrator %s has changed your name to {FF6347}%s{FFFFFF}.", RPN(playerid), text); format(file, sizeof(file), "users/%s.ini", text); if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_GREY, "Name already in use."); idx = PlayerInfo[playerb][pBiz]; idx2 = PlayerInfo[playerb][pHouse]; idx3 = PlayerInfo[playerb][pVBiz]; idx4 = PlayerInfo[playerb][pVHouse]; format(file, sizeof(file), "users/%s.ini", RPNU(playerb)); dini_Remove(file); SetPlayerName(playerb, text); PlayerInfo[playerb][pBiz] = idx; format(file, sizeof(file), "users/%s.ini", RPNU(playerb)); dini_Create(file); SaveChar(playerb); SendAdminMessage(COLOR_DARKRED, 1, string); SendClientMessage(playerb, COLOR_WHITE, string2); if(idx) { format(BizInfo[idx][bOwner], 32, "%s", text); format(string, sizeof(string), "ID: %d\n%s\nOwner: %s\nStatus: %s", idx, RBT(idx), BizInfo[idx][bOwner], RBS(idx)); UpdateDynamic3DTextLabelText(BizInfo[idx][bText], COLOR_WHITE, string); } if(idx2) { idx = idx2; format(HouseInfo[idx][hOwner], 32, "%s", text); format(string, sizeof(string), "ID: %d\nHouse (Lvl: %d)\nOwner: %s\nStatus: %s", idx, HouseInfo[idx][hLevel], HouseInfo[idx][hOwner], RHS(idx)); UpdateDynamic3DTextLabelText(HouseInfo[idx][hText], COLOR_WHITE, string); } if(idx3) { idx = idx3; format(BizInfo[idx][bOwner], 32, "%s", text); format(string, sizeof(string), "ID: %d\n%s\nOwner: %s\nStatus: %s", idx, RBT(idx), BizInfo[idx][bOwner], RBS(idx)); UpdateDynamic3DTextLabelText(BizInfo[idx][bText], COLOR_WHITE, string); } if(idx4) { idx = idx4; format(HouseInfo[idx][hOwner], 32, "%s", text); format(string, sizeof(string), "ID: %d\nHouse (Lvl: %d)\nOwner: %s\nStatus: %s", idx, HouseInfo[idx][hLevel], HouseInfo[idx][hOwner], RHS(idx)); UpdateDynamic3DTextLabelText(HouseInfo[idx][hText], COLOR_WHITE, string); } return 1; }