Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: Чат

  1. #1
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±

    Чат

    Здравствуйте.
    1. Возможно ли сделать так чтобы чат был на расстоянии, к примеру вы пишите в чат что то, а видят то что вы написал только те кто находятся более менее ближе к вам, или же расстояние по своему сделать)
    2. Возможно ли сделать к примеру если вы пишите просто зажимая F6: Ты выходит текст на расстоянии ( из 1 - ого случая ), а если к примеру ввести (!) - то уже текст перейдет в общий чат и всё кто на сервере смогут увидеть что вы написали ( а не на расстоянии )

    1. [R] Rick: Всем привет
    2. (!) Rick: Всем привет

  2. #2
    Аватар для #ball
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Rostov-on-Don
    Сообщений
    119
    Репутация:
    14 ±
    1.На работоспособность не проверял.
    PHP код:
    public OnPlayerText(playeridtext[])
    {
        
    SendMessages(playeridtext);
        return 
    0;

    PHP код:
    stock SendMessages(itext[])
    {
        new 
    Floatt_pos_xFloatt_pos_yFloatt_pos_z,str[128];
        
    GetPlayerPos(it_pos_xt_pos_yt_pos_z);
        
    format(str128"%s[%d]: %s"acInfo[i][acName], itext);
        foreach(new 
    j:Player) if(IsPlayerInRangeOfPoint(j20.0t_pos_xt_pos_yt_pos_z)) SendClientMessage(i,-1str);
        return 
    1;


  3. #3
    Аватар для Дёня
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.03.2014
    Сообщений
    152
    Репутация:
    13 ±
    Цитата Сообщение от Rick Посмотреть сообщение
    Здравствуйте.
    1. Возможно ли сделать так чтобы чат был на расстоянии, к примеру вы пишите в чат что то, а видят то что вы написал только те кто находятся более менее ближе к вам, или же расстояние по своему сделать)
    2. Возможно ли сделать к примеру если вы пишите просто зажимая F6: Ты выходит текст на расстоянии ( из 1 - ого случая ), а если к примеру ввести (!) - то уже текст перейдет в общий чат и всё кто на сервере смогут увидеть что вы написали ( а не на расстоянии )

    1. [R] Rick: Всем привет
    2. (!) Rick: Всем привет
    1.
    public OnPlayerText(playerid, text[])

    PHP код:
    new string[256];
                    new 
    sendername[MAX_PLAYER_NAME]; 
                    
    GetPlayerName(playeridsendernamesizeof(sendername));
                    
    format(string,sizeof string,"{FF8700}%s(%d): %s",sendernameplayerid,text);
                    new 
    Float:xpos,Float:ypos,Float:zpos;
                    
    GetPlayerPos(playerid,xpos,ypos,zpos);
                    for(new 
    i=0;i<MAX_PLAYERS;i++){
                    if(
    IsPlayerInRangeOfPoint(i,50,xpos,ypos,zpos)) SendClientMessage(i,mescolor,string);
                    return 
    false;
            } 
    2.
    Ко всем #define

    PHP код:
    #define fixchars(%1) for(new charfixloop=0;charfixloop<strlen(%1);charfixloop++)if(%1[charfixloop]<0)%1[charfixloop]+=256 
    В OnPlayerComm
    PHP код:
        fixchars(text);
        if(
    text[0] == '!') {
            new 
    string[128]; 
            
    GetPlayerName(playerid,string,sizeof(string));
            
    format(string,sizeof(string),"Общий чат: %s(%d): %s",string,playerid,text[1]);
            
    SendClientMessageToAll(COLOR_WHITE,string);
            return 
    0;
        } 
    - - - Добавлено - - -

    Прошу прощения, ошибку допустил. Отредактирвоать, почему-то не могу

    Вот это тоже в public OnPlayerText(playerid, text[])
    PHP код:
     fixchars(text);
        if(
    text[0] == '!') {
            new 
    string[128]; 
            
    GetPlayerName(playerid,string,sizeof(string));
            
    format(string,sizeof(string),"Общий чат: %s(%d): %s",string,playerid,text[1]);
            
    SendClientMessageToAll(COLOR_WHITE,string);
            return 
    0;
        } 

  4. #4
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    Дёня,

    PHP код:
    D:\Ìîäû òðåáóåìûåñòàðûå\ñåðâåðà äëÿ [Gn_R]\gamemodes\modhost03.pwn(2606) : error 021symbol already defined"string"
    D:\Ìîäû òðåáóåìûåñòàðûå\ñåðâåðà äëÿ [Gn_R]\gamemodes\modhost03.pwn(2613) : error 017undefined symbol "mescolor"
    D:\Ìîäû òðåáóåìûåñòàðûå\ñåðâåðà äëÿ [Gn_R]\gamemodes\modhost03.pwn(2617) : error 021symbol already defined"string"
    D:\Ìîäû òðåáóåìûåñòàðûå\ñåðâåðà äëÿ [Gn_R]\gamemodes\modhost03.pwn(2618) : error 021symbol already defined"sendername"
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    4 Errors


  5. #5
    Аватар для #ball
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Rostov-on-Don
    Сообщений
    119
    Репутация:
    14 ±
    Пробуй мой:
    PHP код:
    public OnPlayerText(playeridtext[])
    {
        if(
    text[0] == "!")
        {
            new 
    Floatt_pos_xFloatt_pos_yFloatt_pos_z,str[128],name[MAX_PLAYER_NAME];
            
    GetPlayerName(playeridnameMAX_PLAYER_NAME);
            
    GetPlayerPos(playeridt_pos_xt_pos_yt_pos_z);
            
    format(str128"[!]%s[%d]: %s"nameplayeridtext[1]);
            for(new 
    i=0i<MAX_PLAYERSi++) if(IsPlayerInRangeOfPoint(i20.0t_pos_xt_pos_yt_pos_z)) SendClientMessageToAll(-1str);
        }
        else
        {
            new 
    Floatt_pos_xFloatt_pos_yFloatt_pos_z,str[128],name[MAX_PLAYER_NAME];
            
    GetPlayerName(playeridnameMAX_PLAYER_NAME);
            
    GetPlayerPos(playeridt_pos_xt_pos_yt_pos_z);
            
    format(str128"[R]%s[%d]: %s"nameplayeridtext);
            for(new 
    i=0i<MAX_PLAYERSi++) if(IsPlayerInRangeOfPoint(i20.0t_pos_xt_pos_yt_pos_z)) SendClientMessage(i,-1str);
        }
        return 
    0;

    - - - Добавлено - - -

    Ошибочка,вот исправил:
    PHP код:
    public OnPlayerText(playeridtext[])
    {
        new 
    Floatt_pos_xFloatt_pos_yFloatt_pos_z,str[128],name[MAX_PLAYER_NAME];
        
    GetPlayerName(playeridnameMAX_PLAYER_NAME);
        
    GetPlayerPos(playeridt_pos_xt_pos_yt_pos_z);
        if(
    text[0] == "!")
        {
            
    format(str128"[!]%s[%d]: %s"nameplayeridtext[1]);
            
    SendClientMessageToAll(-1str);
        }
        else
        {
            
    format(str128"[R]%s[%d]: %s"nameplayeridtext);
            for(new 
    i=0i<MAX_PLAYERSi++) if(IsPlayerInRangeOfPoint(i20.0t_pos_xt_pos_yt_pos_z)) SendClientMessage(i,-1str);
        }
        return 
    0

  6. #6
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    #ball

    PHP код:
    D:\Ìîäû òðåáóåìûåñòàðûå\ñåðâåðà äëÿ [Gn_R]\gamemodes\modhost03.pwn(2600) : error 033: array must be indexed (variable "-unknown-")
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    1 Error


  7. #7
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    В конец мода:
    PHP код:
    stock SCMToAllInRangeOfPoint(const playerid, const Floatrange, const text[])
    {
        new
            
    str[144],
            
    Floatp_pos_x,
            
    Floatp_pos_y,
            
    Floatp_pos_z,
            
    GetMaxPlayers();

        
    GetPlayerName(playeridstrsizeof(str));

        
    format(str144"%s[%i]: %s"strplayeridtext);
        
        do
        {
            --
    i;
            if(
    IsPlayerConnected(i) && IsPlayerInRangeOfPoint(irangep_pos_xp_pos_yp_pos_z))
                
    SendClientMessage(i, -1str);
        }
        while(
    != 0);

    Использование такое:
    PHP код:
    SCMToAllInRangeOfPoint(playerid10.0text); 

  8. Пользователь сказал cпасибо:
    Rick (06.08.2014)
  9. #8
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    Londlem

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

  10. #9
    Аватар для A N D R E Y
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.12.2013
    Сообщений
    149
    Репутация:
    14 ±
    Цитата Сообщение от Rick Посмотреть сообщение
    Londlem

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

  11. #10
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    Цитата Сообщение от A N D R E Y Посмотреть сообщение
    Зачем кидать в паблик, когда надо кидать в конец мода?
    Вы меня не так поняли, я закинул сток в конец мода, но а функцию SCMToAllInRangeOfPoint(playerid, 10.0, text); незнал куда кидать . Не нужно позорить меня, тем что я как будто вообще нечего в скриптинге не понимаю. Это вы не поняли о чём идет речь.

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •