Server crashes on /setname
#1

pawn Код:
CMD:setname(playerid, params[])
{
    new playerb ,string[256], string2[128], file[64], idx, idx2, idx3, idx4, text[MAX_PLAYER_NAME], text2[80], another[80], NormalName[25];
    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(!aDuty[playerid] && PlayerInfo[playerid][pAdmin] < 7) return SendClientMessage(playerid, COLOR_GREY, "You are not on Admin Duty.");
    if(Approve[playerid]) Approve[playerid] = 0;
    if(sscanf(params, "us[24]", playerb, text)) return SendClientMessage(playerid, USAGE, "[Usage]: /setname [playerid] [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];
    GetPlayerName(playerb,NormalName,sizeof(NormalName));
    SetPlayerName(playerb, text);
    format(text,80,"users/%s.ini", NormalName);
    format(another,80,"users/%s.ini", text);
    frename(text, another);
    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), "{33AA33}%s{FFFFFF}\nBusiness %s\nBusiness type: %s\n%s", BizInfo[idx][bName], BizInfo[idx][bOwner], RBT(idx), RBS(idx));
        UpdateDynamic3DTextLabelText(BizInfo[idx][bText], COLOR_WHITE, string);
    }
    if(idx2)
    {
        idx = idx2;
        format(HouseInfo[idx][hOwner], 32, "%s", text);
        format(string, sizeof(string), "{00C0FF}House of %s\nHouse Type: %s\nStatus: %s", HouseInfo[idx][hOwner], HT(idx), RHS(idx));
        UpdateDynamic3DTextLabelText(HouseInfo[idx][hText], COLOR_WHITE, string);
    }
    if(idx3)
    {
        idx = idx3;
        format(BizInfo[idx][bOwner], 32, "%s", text);
        format(string, sizeof(string), "{33AA33}%s{FFFFFF}\nBusiness %s\nBusiness type: %s\n%s", BizInfo[idx][bName], BizInfo[idx][bOwner], RBT(idx), RBS(idx));
        UpdateDynamic3DTextLabelText(BizInfo[idx][bText], COLOR_WHITE, string);
    }
    if(idx4)
    {
        idx = idx4;
        format(HouseInfo[idx][hOwner], 32, "%s", text);
        format(string, sizeof(string), "{00C0FF}House of %s\nHouse Type: %s\nStatus: %s", HouseInfo[idx][hOwner], HT(idx), RHS(idx));
        UpdateDynamic3DTextLabelText(HouseInfo[idx][hText], COLOR_WHITE, string);
    }
    return 1;
}
Reply
#2

If you are not doing this already, download and load plugin Crashdetect, then post the message the crashing server gives.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)