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

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

    Перевод мода на dc_cmd

    Всем привет, вобщем, захотел я перевести свой мод на новый командный процессор dc_cmd, бросив стандартный "гиблый". Что можете посоветовать по переводу. Просто недавно начал изучать dc_cmd, как переводить команды, а мне нужно куда эти команды на dc_cmd писать ( в какой паблик ), последнюю версию dc_cmd, и что вместе с этим надо переводить или ничего не надо?

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

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    Не в паблик. В конец мода вписывай.

    PHP код:
    #include <a_samp>
    #include <dc_cmd>

    public OnGameModeInit()
    {
        return 
    1;
    }

    public 
    OnGameModeExit()
    {
        return 
    1;
    }

    public 
    OnPlayerConnect(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerDisconnect(playeridreason)
    {
        return 
    1;
    }

    //паблики

    CMD:test(playerid)
    {
        print(
    "DC_CMD работает.");
        return 
    1;


  3. #3
    Аватар для gangzone.ini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±

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

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    А вот еще вопрос, как научится переводить команды со стандартного процессора на DC_CMD ? Перевести так, чтобы еще была оптимизация ( если это возможно )
    Последний раз редактировалось Ne_nub; 05.08.2016 в 18:32.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    использовать sscanf вместе с такими cmd и будет тебе оптимизация)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    использовать sscanf вместе с такими cmd и будет тебе оптимизация)
    Можно тогда на примере моей команды ?

    PHP код:
        else if(strcmp(cmd"/sethp"true) == 0)
        {
            
    tmp strcharsplit(cmdtextidx);
            if(!
    strlen(tmp)) return    SendClientMessage(playeridCOLOR_WHITE"Введите: /sethp [id] [hp]");
            if(
    anti[playerid] == 1) return SendClientMessage(playeridCOLOR_LIGHTRED"[Анти-Наказание] Вы словили блок на наказание сроком 5 минут");
            new 
    playa ReturnUser(tmp);
            
    tmp strcharsplit(cmdtextidx);
            new 
    health strval(tmp);
            if (
    PlayerInfo[playerid][pAdmin] >= 10)
            {
                if(
    IsPlayerConnected(playa))
                {
                    if(
    playa != INVALID_PLAYER_ID)
                    {
                        
    PlayerHealth[playa] = health;
                        
    antiwarn[playerid] += 8;
                        if(
    antiwarn[playerid] >= 30 && anti[playerid] == 0anti[playerid] = 1antiwarn[playerid] = 300;
                        
    specid ReturnUser(tmp);
                        
    format(stringer,sizeof(stringer),"Анти-П**р: %s использовал /sethp на [ID'e: %d | HEALTH: %d]",PlayerInfo[playerid][pNames],specid,health),ABroadCast(COLOR_WHITE,stringer,1);
                        
    SetPlayerHealthAC(playahealth);
                        
    SendClientMessage(playeridCOLOR_WHITE"Уровень HP игроку установлен!");
                    }
                }
            }
            else { 
    SendClientMessage(playeridCOLOR_GRAD1"Вы не уполномочены использовать данную команду!"); }
            return 
    true;
        } 

  7. #7
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Ne_nub Посмотреть сообщение
    Можно тогда на примере моей команды ?

    PHP код:
        else if(strcmp(cmd"/sethp"true) == 0)
        {
            
    tmp strcharsplit(cmdtextidx);
            if(!
    strlen(tmp)) return    SendClientMessage(playeridCOLOR_WHITE"Введите: /sethp [id] [hp]");
            if(
    anti[playerid] == 1) return SendClientMessage(playeridCOLOR_LIGHTRED"[Анти-Наказание] Вы словили блок на наказание сроком 5 минут");
            new 
    playa ReturnUser(tmp);
            
    tmp strcharsplit(cmdtextidx);
            new 
    health strval(tmp);
            if (
    PlayerInfo[playerid][pAdmin] >= 10)
            {
                if(
    IsPlayerConnected(playa))
                {
                    if(
    playa != INVALID_PLAYER_ID)
                    {
                        
    PlayerHealth[playa] = health;
                        
    antiwarn[playerid] += 8;
                        if(
    antiwarn[playerid] >= 30 && anti[playerid] == 0anti[playerid] = 1antiwarn[playerid] = 300;
                        
    specid ReturnUser(tmp);
                        
    format(stringer,sizeof(stringer),"Анти-П**р: %s использовал /sethp на [ID'e: %d | HEALTH: %d]",PlayerInfo[playerid][pNames],specid,health),ABroadCast(COLOR_WHITE,stringer,1);
                        
    SetPlayerHealthAC(playahealth);
                        
    SendClientMessage(playeridCOLOR_WHITE"Уровень HP игроку установлен!");
                    }
                }
            }
            else { 
    SendClientMessage(playeridCOLOR_GRAD1"Вы не уполномочены использовать данную команду!"); }
            return 
    true;
        } 
    PHP код:
    CMD:sethp(playeridparams[])
    {
        new 
    targetidhealth;
        if (
    sscanf(params, !"dd"targetidhealth))
            return 
    SendClientMessage(playeridCOLOR_WHITE,
                !
    "Введите: /sethp [id] [hp]"
            
    );
        if(
    anti[playerid] == 1)
            return 
    SendClientMessage(playeridCOLOR_LIGHTRED,
                !
    "[Анти-Наказание] Вы словили блок на наказание сроком 5 минут"
            
    );
        if (
    PlayerInfo[playerid][pAdmin] < 10)
            return 
    SendClientMessage(playeridCOLOR_GRAD1,
                !
    "Вы не уполномочены использовать данную команду!"
            
    );
        
    PlayerHealth[targetid] = health;
        
    antiwarn[playerid] += 8;
        if(
    antiwarn[playerid] >= 30 && anti[playerid] == 0)
        {
            
    anti[playerid] = 1;
            
    antiwarn[playerid] = 300;
        }
        
    format(stringer,sizeof(stringer),
            
    "Анти-П**р: %s использовал /sethp на [ID'e: %d | HEALTH: %d]",
            
    PlayerInfo[playerid][pNames], specidhealth
        
    );
        
    ABroadCast(COLOR_WHITE,stringer,1);
        
    SetPlayerHealthAC(targetidhealth);
        
    SendClientMessage(playeridCOLOR_WHITE, !"Уровень HP игроку установлен!");
        return 
    1;


  8. #8
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Меня смущает эта рлсовская проверка))
    PHP код:
        antiwarn[playerid] += 8;
        if(
    antiwarn[playerid] >= 30 && anti[playerid] == 0)
        {
            
    anti[playerid] = 1;
            
    antiwarn[playerid] = 300;
        } 
    Когда можно всего лишь 1 переменную использовать))
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  9. #9
    Аватар для Ne_nub
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    А вот есть какой-нибудь урок по переводу команд, в котором всё объяснено ?

  10. #10
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Да нет ничего сложного в написании или переводе команд на dc_cmd. Мне в освоении подобных командных процессоров помогло осознание того, что все что мы вводим в команде (кроме ее названия) уходим в массив params[], а дальше мы просто начинаем работать с этим массивом. Обычно в работе используем sscanf. Дальше, тебе остается только научиться работать с sscanf.

 

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

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

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

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

Ваши права

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