strmid
#1

Добрый день, возникла проблема, игрок создает команду, вводит название и оно нормально записывается в массив, потом другой игрок создает команду вписывает название, и тогда название команды первого игрока меняется, в нем появляются непонятные символы и.т.д . На скрине пдебаг создания и проверка, второй это участок кода когда создают команду

А это код
PHP код:
new text[64];
                        if(
Player[playerid][PlayerTeam] != -1) return send(playeridCOLOR_LIGHTRED"[ WARNING ]: Вы уже состоите");
                        if(
Player[playerid][Money] < 10000) return send(playeridCOLOR_LIGHTRED"[ WARNING ]: У вас не хватает денег");
                        if(
strlen(inputtext) == 0) return SendClientMessage(playeridCOLOR_LIGHTRED"[ WARNING ]: Введите название");
                        if(
sscanf(inputtext"s[64]"text)) return SendClientMessage(playeridCOLOR_LIGHTRED"[ WARNING ]: Неккоректное название");
                        for( new 
i!= totalci++)
                        {
                            if(!
strcmp(inputtexthTeam[i][Name_team])) return SendClientMessage(playeridCOLOR_LIGHTRED"[ WARNING ]: Это название уже занято!");
                        }
                        
hTeam[totalc][ID_team] = totalc;
                        
strmid(hTeam[totalc][Name_team], text064128);
                        
strmid(hTeam[totalc][Member_team1], UserName(playerid), 0strlen(UserName(playerid)), 255);
                        
strmid(hTeam[totalc][Member_team2], "NONE"0strlen("NONE"), 255);
                        
strmid(hTeam[totalc][Member_team3], "NONE"0strlen("NONE"), 255);
                        
strmid(hTeam[totalc][Member_team4], "NONE"0strlen("NONE"), 255);
                        
hTeam[totalc][Points_team] = 0;
                        
hTeam[totalc][Level_team] = 0;
                        
Player[playerid][PlayerTeam] = hTeam[totalc][ID_team];
                        
Player[playerid][LeaderTeam] = totalc;
                        
printf("create %d | %s | %d | %s | %s | %s| %s | %d |"hTeam[totalc][ID_team], hTeam[totalc][Name_team], hTeam[totalc][Level_team], hTeam[totalc][Member_team1], hTeam[totalc][Member_team2], hTeam[totalc][Member_team3], hTeam[totalc][Member_team4], hTeam[totalc][Points_team]);
                        
GiveMoney(playerid, -10000);
                        new 
query[333];
                        
format(querysizeof(query), "INSERT INTO `Hog` (ID_team, Name_team, Level_team, Member1, Member2, Member3, Member4, Points_team) VALUE ('%i','%s','0', '%s', 'NONE', 'NONE', 'NONE', '0')",totalcinputtextUserName(playerid));
                        
mysql_tquery(dbHandlequery"","");
                        
totalc++; 
Reply
#2

Очищайте массивы перед записью.
Reply
#3

strdel + strmid не выходит, все равно та же проблема остается
Reply
#4

проблема все еще актуальна.
Reply
#5

проблема решена.
Reply
#6

Quote:
Originally Posted by AlexeyTrekkkk
Посмотреть сообщение
проблема решена.
Напиши как, чтобы другие, когда столкнутся с такой проблемой, не создавали темы.
Reply
#7

Например, юзать формат вместо strmid
Reply
#8

пустяковая, по невнимательности, в массив не вставил константу максимальное количество команд.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)