/changename
#1

pawn Код:
if(strcmp(cmd, "/changename", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new tmpp[256];
            tmpp = strtok(cmdtext, idx);
            if(!strlen(tmpp))
            {
                SendClientMessage(playerid, COLOR_DBLUE, "USAGE: /changename [playerid] [new nick]");
                return 1;
            }
            giveplayerid = strval(tmpp);
            tmp = strtok(cmdtext, idx);
            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
            //GetPlayerName(playerid, sendername, sizeof(sendername));
            if(PlayerInfo[playerid][pAdmin] >= 4)
            {
                format(string, 128, "users/%s.ini" , tmp);
                if (fexist(string)) { SendClientMessage(playerid, COLOR_RED, "this name already registered!"); return 1; }
                //OnPlayerRename(tmp,string,giveplayerid);
                if(IsPlayerConnected(giveplayerid))
                {
                    format(string, sizeof(string), "Your name changed to %s", tmp);
                    SendClientMessage(giveplayerid, COLOR_DBLUE, string);
                    //format(string, sizeof(string), "", giveplayer,tmp);
                    format(string, sizeof(string), "AdmCmd: %s has been change %s name to %s",sendername,giveplayer,tmp);
                    ABroadCast(COLOR_YELLOW,string,1);
                    new str[128];
                    format(str, 128, "users/%s.ini" , giveplayer);
                    format(string, 128, "users/%s.ini" , tmp);//SetPlayerName(giveplayerid, tmp);
                    OnPlayerRename(tmp,string,giveplayerid);
                    PlayerInfo[giveplayerid][pLocked] = 2;
                    if (fexist(str)) { fremove(str); }
                    Kick(giveplayerid);
                }
                else
                {
                    format(string, sizeof(string), "%d is not an active player.", giveplayerid);
                    SendClientMessage(playerid, COLOR_RED, string);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
        }
        return 1;
    }
It crashes my server, why ?
Reply
#2

pawn Код:
if(!strcmp("/changename", cmd, true))
    {
    if (PlayerInfo[playerid][pAdmin] < 1338) return SendClientMessage(playerid, COLOR_GRAD2, "   you are not authorized to use that command!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /changename [id] [newname]");
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Invalid Playerid!");
    new str[128],gpname[MAX_PLAYER_NAME];
    GetPlayerName(giveplayerid, gpname, MAX_PLAYER_NAME);
    format(str, 128, "users/%s.ini", gpname);
    if(!fexist(str)) return SendClientMessage(playerid, COLOR_YELLOW, "The person havent an account on this server");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /changename [id] [newname]");
    new str2[128];
    format(str2,128,"users/%s.ini",tmp);
    frename(str,str2);
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    SetPlayerName(giveplayerid,tmp);
    format(string, sizeof(string), "[NameChange] %s changed name of \"%s\" to \"%s\"",pname,gpname,tmp);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "(%d-%d-%d) Admin: %s was changed name of %s to %s", day,month,year, pname,gpname,tmp);
    NameChangeLog(string);
    return 1;
    }
This commands works fine for me, try it.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)