03.09.2010, 17:08
Всем привет. Очередной тупой вопрос от меня 
Вообщем я вообще запутался с числами с плавающей запятой.
Суть такова, решил я сделать налоги на сервере, и что-бы мэр мог менять их. Причём нада что-бы было можно ставить например 0.7% или даже 0.55%, т.е. с точкой.
Функции для чтение\записи в ini файл сделал, всё читает, всё пишет.
А вот и использованием в коде есть траблы.
Первый такой:
Создаю переменную:
new Float:PERCENTAGEAUTOBUY;
дальше загружаю её значение. Всё загружается.
Дальше использую её:
new Price1[max_line];
Price1[pid] = Price[vid]-((Price[vid]/100)*PERCENTAGEAUTOBUY);
И при компиляции на этой строке варнинг: "warning 213: tag mismatch"
Второй:
В результате когда я пытаюсь ввести число например "0.5" пишет "Некорректное количество", а например если "1.5" то сохраняет как просто "1"
ps. Мод Mafia Wars.

Вообщем я вообще запутался с числами с плавающей запятой.
Суть такова, решил я сделать налоги на сервере, и что-бы мэр мог менять их. Причём нада что-бы было можно ставить например 0.7% или даже 0.55%, т.е. с точкой.
Функции для чтение\записи в ini файл сделал, всё читает, всё пишет.
А вот и использованием в коде есть траблы.
Первый такой:
Создаю переменную:
new Float:PERCENTAGEAUTOBUY;
дальше загружаю её значение. Всё загружается.
Дальше использую её:
new Price1[max_line];
Price1[pid] = Price[vid]-((Price[vid]/100)*PERCENTAGEAUTOBUY);
И при компиляции на этой строке варнинг: "warning 213: tag mismatch"
Второй:
Code:
...........тут начало кода.........
else if(iscmd(tmp,"bank")){
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)){
format(msg,max_line,"Проценты от вклада: %.3f процентов",PERCENTAGEBANK);
Message(playerid,msg,clYellow);
return 1;
}
pint = strval(tmp);
if(pint<=0 || pint>=10){
Message(playerid,"Некорректное количество",clYellow);
return 1;
}
PERCENTAGEBANK = pint;
format(msg,max_line,"Мэр изменил проценты от вклада. Теперь они равны: %.3f процентов",PERCENTAGEBANK);
SendClientMessageToAll(clYellow, msg);
}
...........тут конец кода.........
ps. Мод Mafia Wars.


)
