• Страница 1 из 1
  • 1
Модератор форума: drifter-dron, admin, TweIk  
cmdtext
kasyakДата: Пятница, 26.08.2011, 20:39:57 | Сообщение # 1

Группа: Пользователи
Сообщений: 28
Подскажите как сделать так чтобы только для команды TEAM_triada работала команда /asdf

Добавлено (26.08.2011, 20:39)
---------------------------------------------
и подскажите как сделать передачу денег другому игроку, только без диалогов

 
СообщениеПодскажите как сделать так чтобы только для команды TEAM_triada работала команда /asdf

Добавлено (26.08.2011, 20:39)
---------------------------------------------
и подскажите как сделать передачу денег другому игроку, только без диалогов


Автор - kasyak
Дата добавления - 26.08.2011 в 20:39:57
SnoopДата: Пятница, 26.08.2011, 21:03:12 | Сообщение # 2

Группа: Пользователи
Сообщений: 98
kasyak,
Quote (kasyak)
и подскажите как сделать передачу денег другому игроку, только без диалогов

Это щас дам

Добавлено (26.08.2011, 20:52)
---------------------------------------------
Вот

Code
if(strcmp(cmd, "/Команда для Передачи денег", true) == 0)
  {
      if(IsPlayerConnected(playerid))
      {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: [playerid/PartOfName] [amount]");
     return 1;
    }
    //giveplayerid = strval(tmp);
          giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /pay [playerid/PartOfName] [amount]");
     return 1;
    }
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 3)
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Áîëüøå 10000 òîëüêî ñ 3 ëâë!");
     return 1;
    }
    if(moneys < 1 || moneys > 1000000)
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Ìèíèìóì 1, ìàêñèìóì 1000000.");
        return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
            if(PlayerInfo[giveplayerid][pLocal] == 106)
      {
       SendClientMessage(playerid, COLOR_GRAD1, "Command not allowed in this location");
       return 1;
      }
      if (ProxDetectorS(5.0, playerid, giveplayerid))
      {
       GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
       GetPlayerName(playerid, sendername, sizeof(sendername));
       playermoney = GetPlayerMoney(playerid);
       if (moneys > 0 && playermoney >= moneys)
       {
           ConsumingMoney[giveplayerid] = 1;
        GiveMoney(playerid, (0 - moneys));
        GiveMoney(giveplayerid, moneys);
        format(string, sizeof(string), "   Òû ïåðåäàë %s(èãðîêó: %d), $%d.", giveplayer,giveplayerid, moneys);
        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
        SendClientMessage(playerid, COLOR_GRAD1, string);
        format(string, sizeof(string), "   Òû ïîëó÷èë $%d îò %s(player: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_GRAD1, string);
        format(string, sizeof(string), "%s çàïëàòèë $%d ê %s", sendername, moneys, giveplayer);
        PayLog(string);
        if(moneys >= 1000000)
        {
         ABroadCast(COLOR_YELLOW,string,1);
        }
        PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
        format(string, sizeof(string), "* %s âûíèìàåò íåêîòîðûå íàëè÷íûå äåíüãè, è îòäà¸ò èõ %s.", sendername ,giveplayer);
        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0);
       }
       else
       {
        SendClientMessage(playerid, COLOR_GRAD1, "   Ó òåáÿ íåò ñòîëüêî äåíåã! .");
       }
      }
      else
      {
       SendClientMessage(playerid, COLOR_GRAD1, "   Ýòîò èãðîê ñëèøêîì äàë¸êî îò âàñ! .");
      }
     }//invalid id
    }
    else
    {
     format(string, sizeof(string), "   %d èãðîê íå â èãðå.", giveplayerid);
     SendClientMessage(playerid, COLOR_GRAD1, string);
    }
   }
   return 1;
  }

Добавлено (26.08.2011, 21:00)
---------------------------------------------

Quote (kasyak)
работала команда /asdf

А что это за такая команда?!

Добавлено (26.08.2011, 21:03)
---------------------------------------------
kasyak, ну Если ты хочешь чтобы работала только у определеной фракции
То в команде После

Code
    if (strcmp(cmd, "/Команда", true) == 0)
  {

Вставь:
Code
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)

У меня все так...Если помог от + Не откажусь ;)
 
Сообщениеkasyak,
Quote (kasyak)
и подскажите как сделать передачу денег другому игроку, только без диалогов

Это щас дам

Добавлено (26.08.2011, 20:52)
---------------------------------------------
Вот

Code
if(strcmp(cmd, "/Команда для Передачи денег", true) == 0)
  {
      if(IsPlayerConnected(playerid))
      {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: [playerid/PartOfName] [amount]");
     return 1;
    }
    //giveplayerid = strval(tmp);
          giveplayerid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Ïîäñêàçêà: /pay [playerid/PartOfName] [amount]");
     return 1;
    }
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 3)
    {
     SendClientMessage(playerid, COLOR_GRAD1, "Áîëüøå 10000 òîëüêî ñ 3 ëâë!");
     return 1;
    }
    if(moneys < 1 || moneys > 1000000)
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Ìèíèìóì 1, ìàêñèìóì 1000000.");
        return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
            if(PlayerInfo[giveplayerid][pLocal] == 106)
      {
       SendClientMessage(playerid, COLOR_GRAD1, "Command not allowed in this location");
       return 1;
      }
      if (ProxDetectorS(5.0, playerid, giveplayerid))
      {
       GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
       GetPlayerName(playerid, sendername, sizeof(sendername));
       playermoney = GetPlayerMoney(playerid);
       if (moneys > 0 && playermoney >= moneys)
       {
           ConsumingMoney[giveplayerid] = 1;
        GiveMoney(playerid, (0 - moneys));
        GiveMoney(giveplayerid, moneys);
        format(string, sizeof(string), "   Òû ïåðåäàë %s(èãðîêó: %d), $%d.", giveplayer,giveplayerid, moneys);
        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
        SendClientMessage(playerid, COLOR_GRAD1, string);
        format(string, sizeof(string), "   Òû ïîëó÷èë $%d îò %s(player: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_GRAD1, string);
        format(string, sizeof(string), "%s çàïëàòèë $%d ê %s", sendername, moneys, giveplayer);
        PayLog(string);
        if(moneys >= 1000000)
        {
         ABroadCast(COLOR_YELLOW,string,1);
        }
        PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
        format(string, sizeof(string), "* %s âûíèìàåò íåêîòîðûå íàëè÷íûå äåíüãè, è îòäà¸ò èõ %s.", sendername ,giveplayer);
        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0);
       }
       else
       {
        SendClientMessage(playerid, COLOR_GRAD1, "   Ó òåáÿ íåò ñòîëüêî äåíåã! .");
       }
      }
      else
      {
       SendClientMessage(playerid, COLOR_GRAD1, "   Ýòîò èãðîê ñëèøêîì äàë¸êî îò âàñ! .");
      }
     }//invalid id
    }
    else
    {
     format(string, sizeof(string), "   %d èãðîê íå â èãðå.", giveplayerid);
     SendClientMessage(playerid, COLOR_GRAD1, string);
    }
   }
   return 1;
  }

Добавлено (26.08.2011, 21:00)
---------------------------------------------

Quote (kasyak)
работала команда /asdf

А что это за такая команда?!

Добавлено (26.08.2011, 21:03)
---------------------------------------------
kasyak, ну Если ты хочешь чтобы работала только у определеной фракции
То в команде После

Code
    if (strcmp(cmd, "/Команда", true) == 0)
  {

Вставь:
Code
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)

У меня все так...Если помог от + Не откажусь ;)

Автор - Snoop
Дата добавления - 26.08.2011 в 21:03:12
kasyakДата: Суббота, 27.08.2011, 15:58:10 | Сообщение # 3

Группа: Пользователи
Сообщений: 28
передача денег не работает
Code

E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "tmp"
E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "strtok"
E:\serv1\server\gamemodes\test.pwn(388) : error 017: undefined symbol "tmp"
E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "COLOR_GRAD1"
E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "i"
E:\serv1\server\gamemodes\test.pwn(390) : warning 215: expression has no effect
E:\serv1\server\gamemodes\test.pwn(390) : error 001: expected token: ";", but found ")"
E:\serv1\server\gamemodes\test.pwn(390) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

7 Errors.

Добавлено (27.08.2011, 15:58)
---------------------------------------------
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)
об этом по подробнее можно?
PlayerInfo[playerid][pLeader] что это за переменая и это PlayerInfo[playerid][pMember] ?

 
Сообщениепередача денег не работает
Code

E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "tmp"
E:\serv1\server\gamemodes\test.pwn(387) : error 017: undefined symbol "strtok"
E:\serv1\server\gamemodes\test.pwn(388) : error 017: undefined symbol "tmp"
E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "COLOR_GRAD1"
E:\serv1\server\gamemodes\test.pwn(390) : error 017: undefined symbol "i"
E:\serv1\server\gamemodes\test.pwn(390) : warning 215: expression has no effect
E:\serv1\server\gamemodes\test.pwn(390) : error 001: expected token: ";", but found ")"
E:\serv1\server\gamemodes\test.pwn(390) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

7 Errors.

Добавлено (27.08.2011, 15:58)
---------------------------------------------
if(PlayerInfo[playerid][pLeader] == ID Фракции || PlayerInfo[playerid][pMember] == ID Фракции)
об этом по подробнее можно?
PlayerInfo[playerid][pLeader] что это за переменая и это PlayerInfo[playerid][pMember] ?


Автор - kasyak
Дата добавления - 27.08.2011 в 15:58:10
adminДата: Суббота, 27.08.2011, 20:17:43 | Сообщение # 4

Группа: Администраторы
Сообщений: 3869
kasyak, в команде самом впиши вот что:
Code
if(gTeam[playerid] != TEAM_Kop) //тут где TEAM_Kop изменишь на свое
   {
      SendClientMessage(playerid, COLOR_RED, "это текст что будет писать если он не под этим зашел");
      return 1;
      }

и верху мода впиши:
Code
new gTeam[MAX_PLAYERS];


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщениеkasyak, в команде самом впиши вот что:
Code
if(gTeam[playerid] != TEAM_Kop) //тут где TEAM_Kop изменишь на свое
   {
      SendClientMessage(playerid, COLOR_RED, "это текст что будет писать если он не под этим зашел");
      return 1;
      }

и верху мода впиши:
Code
new gTeam[MAX_PLAYERS];

Автор - admin
Дата добавления - 27.08.2011 в 20:17:43
kasyakДата: Суббота, 27.08.2011, 23:40:53 | Сообщение # 5

Группа: Пользователи
Сообщений: 28
а насчет денег?
 
Сообщениеа насчет денег?

Автор - kasyak
Дата добавления - 27.08.2011 в 23:40:53
adminДата: Воскресенье, 28.08.2011, 07:10:15 | Сообщение # 6

Группа: Администраторы
Сообщений: 3869
Находим паблик OnPlayerCommandText и вставляем в него след.строки:
Code
  
new string[256];   
new playermoney;   
new sendername[MAX_PLAYER_NAME];   
new giveplayer[MAX_PLAYER_NAME];   
new cmd[256];   
new giveplayerid, moneys, idx;   

cmd = strtok(cmdtext, idx);   
if(strcmp(cmd, "/givecash", true) == 0) {   
new tmp[256];   
tmp = strtok(cmdtext, idx);   

if(!strlen(tmp)) {   
SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]");   
return 1;   
}   
giveplayerid = strval(tmp);   
tmp = strtok(cmdtext, idx);   
if(!strlen(tmp)) {   
SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]");   
return 1;   
}   
moneys = strval(tmp);   
printf("givecash_command: %d %d",giveplayerid,moneys);   

if (IsPlayerConnected(giveplayerid)) {   
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));   
GetPlayerName(playerid, sendername, sizeof(sendername));   
playermoney = GetPlayerMoney(playerid);   
if (moneys > 0 && playermoney >= moneys) {   
GivePlayerMoney(playerid, (0 - moneys));   
GivePlayerMoney(giveplayerid, moneys);   
format(string, sizeof(string), " Вы отправили $%d для %s.", giveplayer, moneys);   
SendClientMessage(playerid, COLOR_YELLOW, string);   
format(string, sizeof(string), " Вы получили $%d от %s.", moneys, sendername);   
SendClientMessage(giveplayerid, COLOR_YELLOW, string);   
printf("%s(id:%d) отправил %d для %s.",sendername, playerid, moneys, giveplayer);   
}   
else {   
SendClientMessage(playerid, COLOR_YELLOW, " Неправильный кол-во денег!");   
}   
}   
else {   
format(string, sizeof(string), " Неправельный ИД!",giveplayerid);   
SendClientMessage(playerid, COLOR_YELLOW, string);   
}   
return 1;   
}


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеНаходим паблик OnPlayerCommandText и вставляем в него след.строки:
Code
  
new string[256];   
new playermoney;   
new sendername[MAX_PLAYER_NAME];   
new giveplayer[MAX_PLAYER_NAME];   
new cmd[256];   
new giveplayerid, moneys, idx;   

cmd = strtok(cmdtext, idx);   
if(strcmp(cmd, "/givecash", true) == 0) {   
new tmp[256];   
tmp = strtok(cmdtext, idx);   

if(!strlen(tmp)) {   
SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]");   
return 1;   
}   
giveplayerid = strval(tmp);   
tmp = strtok(cmdtext, idx);   
if(!strlen(tmp)) {   
SendClientMessage(playerid, COLOR_WHITE, "ПИШИ: /givecash [id] [money]");   
return 1;   
}   
moneys = strval(tmp);   
printf("givecash_command: %d %d",giveplayerid,moneys);   

if (IsPlayerConnected(giveplayerid)) {   
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));   
GetPlayerName(playerid, sendername, sizeof(sendername));   
playermoney = GetPlayerMoney(playerid);   
if (moneys > 0 && playermoney >= moneys) {   
GivePlayerMoney(playerid, (0 - moneys));   
GivePlayerMoney(giveplayerid, moneys);   
format(string, sizeof(string), " Вы отправили $%d для %s.", giveplayer, moneys);   
SendClientMessage(playerid, COLOR_YELLOW, string);   
format(string, sizeof(string), " Вы получили $%d от %s.", moneys, sendername);   
SendClientMessage(giveplayerid, COLOR_YELLOW, string);   
printf("%s(id:%d) отправил %d для %s.",sendername, playerid, moneys, giveplayer);   
}   
else {   
SendClientMessage(playerid, COLOR_YELLOW, " Неправильный кол-во денег!");   
}   
}   
else {   
format(string, sizeof(string), " Неправельный ИД!",giveplayerid);   
SendClientMessage(playerid, COLOR_YELLOW, string);   
}   
return 1;   
}

Автор - admin
Дата добавления - 28.08.2011 в 07:10:15
kasyakДата: Воскресенье, 28.08.2011, 14:52:12 | Сообщение # 7

Группа: Пользователи
Сообщений: 28
надо было еще в конце подписать
Code
strtok(const string[], &index)
{
     new length = strlen(string);
     while ((index < length) && (string[index] <= ' '))
     {
         index++;
     }

     new offset = index;
     new result[20];
     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
     {
         result[index - offset] = string[index];
         index++;
     }
     result[index - offset] = EOS;
     return result;
}

Добавлено (28.08.2011, 2:52:12)
---------------------------------------------
Подскажите как сделать так чтобы вводиш команду и число и и у чела отнималось столько денег и добавлялось в переменную. Только если можно то по подробнее рассказать.

 
Сообщениенадо было еще в конце подписать
Code
strtok(const string[], &index)
{
     new length = strlen(string);
     while ((index < length) && (string[index] <= ' '))
     {
         index++;
     }

     new offset = index;
     new result[20];
     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
     {
         result[index - offset] = string[index];
         index++;
     }
     result[index - offset] = EOS;
     return result;
}

Добавлено (28.08.2011, 2:52:12)
---------------------------------------------
Подскажите как сделать так чтобы вводиш команду и число и и у чела отнималось столько денег и добавлялось в переменную. Только если можно то по подробнее рассказать.


Автор - kasyak
Дата добавления - 28.08.2011 в 14:52:12
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

ps798829

(Среда 08:23:47)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

Вверх
06:21:06
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2026

vkontakte :samp-pawno.ru: