SA-MP Forums Archive
dcmd & params[] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: dcmd & params[] (/showthread.php?tid=434133)



dcmd & params[] - Seregamil1 - 01.05.2013

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

PHP код:

...
//addhouse
//первый параметр - интерьер
//второй - сумма денег - и после него начинает  мозги
//третий, допустим класс - он тоже пиздит если перед ним стоит параметр, в котором указываю число > 9
if(strlen(params[0]) == || strlen(params[1]) == 0|| strlen(params[2]) == 0) return false;//это для примера
... 
соответственно отображает неверно, однако, если параметры будут в порядке interior/class/money, то глючить будет только money

в чем может быть проблема


Re: dcmd & params[] - Slava[LSW] - 01.05.2013

В dcmd, params[] - это одна строка с параметрами, введенными после команды, само название команды не входит туда.

Надо сначала строку разделить, через пробелы, а потом уже получать число.
Пример:
PHP код:
new tmp[20], idx;
tmp strtok(paramsidx);
if(!
strlen(tmp))
{
    
//Ошибка
    
return 0;
}
new 
interior strval(tmp);
tmp strtok(paramsidx);
if(!
strlen(tmp))
{
    
//Ошибка
    
return 0;
}
new 
moneys strval(tmp);
tmp strtok(paramsidx);
if(!
strlen(tmp))
{
    
//Ошибка
    
return 0;
}
new class = 
strval(tmp); 
Это всего лишь пример с strtok, но он давным давно устарел, лучше используй sscanf плагин.


Re: dcmd & params[] - Seregamil1 - 02.05.2013

дак и без strtok должно работать


Re: dcmd & params[] - Slava[LSW] - 02.05.2013

Нет, так не будет.