SA-MP Forums Archive
Возвращение текста - 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: Возвращение текста (/showthread.php?tid=485968)



Возвращение текста - Romz - 06.01.2014

Почему не рекомендуемо возвращать текст в return'е? Почему нельзя возвращать текст в public, сразу летят ошибки?


Re: Возвращение текста - hub4 - 06.01.2014

почему нельзя? можно


Re: Возвращение текста - Romz - 06.01.2014

Quote:
Originally Posted by hub4
View Post
почему нельзя? можно
Ну сам попробуй
PHP Code:
forward Test(id);
public 
Test(id) {
    new 
text[32];
    switch(
id) {
        case 
0text "Привет";
        case 
1text "Сервер";
        case 
2text "SA-MP";
    }
    return 
text;

Будет error 090: public functions may not return arrays (symbol "Test")

Все таки если юзать в stock то все работает но мне нужно в public'e делать так.


Re: Возвращение текста - iRusel - 06.01.2014

А что если использовать так:

PHP Code:
new vehname[8];
GetNameCar(411vehname);
printf("%s",vehname); 
PHP Code:
forward GetNameCar(idvehname[]);
public 
GetNameCar(idvehname[])
{
  new 
name[8];
  switch(
id)
  {
    case 
411name "Infernus";
    case 
562name "XZ";
    case 
482name "Burrito";
  }
  
strmid(vehnamename0strlen(name), 255);




Re: Возвращение текста - KriD - 06.01.2014

Quote:
Originally Posted by iRusel
View Post
А что если использовать так:
Тогда уж сразу в vehname, без всяких извращений co strmid


Re: Возвращение текста - Jon_De - 06.01.2014

Quote:
Originally Posted by Kolstin
View Post
Почему не рекомендуемо возвращать текст в return'е? Почему нельзя возвращать текст в public, сразу летят ошибки?
у меня так тексты из других массивов попадали туда, где их быть не должно


Re: Возвращение текста - Romz - 06.01.2014

Quote:
Originally Posted by iRusel
View Post
А что если использовать так:

PHP Code:
new vehname[8];
GetNameCar(411vehname);
printf("%s",vehname); 
PHP Code:
forward GetNameCar(idvehname[]);
public 
GetNameCar(idvehname[])
{
  new 
name[8];
  switch(
id)
  {
    case 
411name "Infernus";
    case 
562name "XZ";
    case 
482name "Burrito";
  }
  
strmid(vehnamename0strlen(name), 255);

Не подходит вообще не как этот вариант...


Re: Возвращение текста - Mexanizm93 - 06.01.2014

Вроде переполнение стека может быть от возврата строки.


Re: Возвращение текста - Jekazzz - 07.01.2014

1. В паблике никак не получится такое.
2. Зачем тебе в пабилке?


Re: Возвращение текста - kaZax - 11.01.2014

PHP Code:
new str[24];
WriteText(1,str); 
PHP Code:
WriteText(id,str){
    switch(
id){
    case 
0:str "Hello";
    case 
1:str "Hello!!";
    case 
2:str "Hello!!!";
    }

Для чего тебе паблик?


Re: Возвращение текста - OKStyle - 11.01.2014

Никогда не понимал, как можно без stock или public делать функцию... Это ж извращение. А можно просто создать массив с названием транспорта и оттуда брать по индексу модели. Это ж стопицот лет назад придумали.


Re: Возвращение текста - Romz - 11.01.2014

Quote:
Originally Posted by kaZax
Посмотреть сообщение
PHP код:
new str[24];
WriteText(1,str); 
PHP код:
WriteText(id,str){
    switch(
id){
    case 
0:str "Hello";
    case 
1:str "Hello!!";
    case 
2:str "Hello!!!";
    }

Для чего тебе паблик?
Для CallRemoteFunction, stock не вызываеться в данной функции необходимо только public.


Re: Возвращение текста - Stepashka - 12.01.2014

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Никогда не понимал, как можно без stock или public делать функцию... Это ж извращение.
В С++ функции вообще объявляются без префиксов, а public используется только в ООП для указания типа функции. Так что извращение это как раз таки использовать префиксы не по назначению.


Re: Возвращение текста - hub4 - 12.01.2014

среди нубов русскоязычного самп сообщества водится дурная привычка называть пабликом вообще любую функцию. а вместе с этим обьявлять их в скрипте таким образом, везде где это даже не нужно. со всеми вытекающими.