03:23
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: AXE, Weddew  
[Архив #1] Вопросы по SAMP скриптам
PHPДата: Пятница, 18.04.2008, 22:44 | Сообщение # 1
Советчик
Группа: Пользователи
Сообщений: 1246
Награды: 71
Город: 1164
Замечания: 0%
Статус:
Задавайте вопросы, попробуем помочь!


Сообщение отредактировал Weddew - Понедельник, 09.06.2014, 03:17
riverДата: Четверг, 26.06.2008, 01:12 | Сообщение # 541
Уверенный в себе
Группа: Продвинутые
Сообщений: 284
Награды: 1
Город: Москва
Репутация: 37
Замечания: 0%
Статус:
Code
//------------------------------------------------------------------------------
    if(strcmp(cmd, "/givecash", true) == 0) {
    tmp = strtok(cmdtext, idx);

    if(!strlen(tmp)) {
     SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [èä èãðîêà] [ñêîëüêî]");
     return 1;
    }
    giveplayerid = strval(tmp);

    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
     SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [èä èãðîêà] [ñêîëüêî]");
     return 1;
    }
     moneys = strval(tmp);

    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), "*Âû îòïðàâèëè %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
      SendClientMessage(playerid, COLOR_YELLOW, string);
      format(string, sizeof(string), "*Âû ïîëó÷èëè $%d îò %s(ID: %d).", moneys, sendername, playerid);
      SendClientMessage(giveplayerid, COLOR_YELLOW, string);
      printf("%s(ID:%d) ïåðåäàë %d èãðîêó %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
     }
     else {
      SendClientMessage(playerid, COLOR_YELLOW, "*Íåïðàâèëüíàÿ ñóììà.");
     }
    }
    else {
      format(string, sizeof(string), "%d íå àêòèâíûé èãðîê.", giveplayerid);
      SendClientMessage(playerid, COLOR_YELLOW, string);
     }
    return 1;
   }





Сообщение отредактировал river - Четверг, 26.06.2008, 01:13
neversmileДата: Четверг, 26.06.2008, 04:11 | Сообщение # 542
Новенький
Группа: Пользователи
Сообщений: 27
Награды: 1
Город: Нарва
Репутация: 5
Замечания: 0%
Статус:
Quote (okstyle)
neversmile, проверь определение переменных.

Quote (DJSashoK59)
Понятней скажу, выравнивай их, сделай на одном уровне, чтоб строчки ровные были

спасибо 5 из 6 исчезло))



ExcessДата: Четверг, 26.06.2008, 07:37 | Сообщение # 543
Уверенный в себе
Группа: Продвинутые
Сообщений: 217
Награды: 1
Город: Екатеринбург
Репутация: 19
Замечания: 0%
Статус:
slayer, Держи
Code
public OnVehicleDeath(vehicleid, killerid)
{
  new string[256];
  format(string,sizeof(string),"Vehicle death VehicleID %d KillerID %d",vehicleid,killerid);
  SendClientMessageToAll(0xFFFF00AA,string);
  DestroyVehicle(GetPlayerVehicleID(killerid));
  return 1;
}

Вроде то что надо.




Хостинг предоставлен игровым порталом Gameway http://gameway.ru
slayerДата: Четверг, 26.06.2008, 09:19 | Сообщение # 544
Местный
Группа: I'm V.I.P.
Сообщений: 668
Награды: 12
Город: Tallinn
Репутация: 172
Замечания: 0%
Статус:
Блин в последнее время уже начинает бесить, вроде все правильно в итоге все равно Туева-Куча ошибок.
Code

//=====================ON PLAYER COMMAND TEXT===================================

public OnPlayerCommandText(playerid, cmdtext[]){
{
   new playermoney;
   new sendername[MAX_PLAYER_NAME];
   new giveplayer[MAX_PLAYER_NAME];
   new cmd[256];
   new giveplayerid, moneys, idx;
   if(strcmp(cmd, "/givecash", true) == 0) {

          cmd = strtok(cmdtext, idx);                    <===(425)

   tmp = strtok(cmdtext, idx);                    <===(427)

       if(!strlen(tmp)) {                    <====(429)
       SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [e`a" e`a~?i^e^a`] [n~e^i^e"u"e^i^]");   <===(430)
       return 1;
      }
      giveplayerid = strval(tmp);

      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp)) {
       SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [e`a" e`a~?i^e^a`] [n~e^i^e"u"e^i^]");
       return 1;
      }
       moneys = strval(tmp);

      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), "*A^u^ i^o`i"?a`a^e`e"e` %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        format(string, sizeof(string), "*A^u^ i"i^e"o'?e`e"e` $%d i^o` %s(ID: %d).", moneys, sendername, playerid);
        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
        printf("%s(ID:%d) i"a*?a*a"a`e" %d e`a~?i^e^o' %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
       }
       else {
        SendClientMessage(playerid, COLOR_YELLOW, "*I'a*i"?a`a^e`e"u"i'a`y" n~o'i`i`a`.");
       }
      }
      else {
        format(string, sizeof(string), "%d i'a* a`e^o`e`a^i'u^e' e`a~?i^e^.", giveplayerid);
        SendClientMessage(playerid, COLOR_YELLOW, string);
       }
      return 1;
     }

Code

C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(425) : error 017: undefined symbol "strtok"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(425) : error 033: array must be indexed (variable "cmd")
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(427) : error 017: undefined symbol "tmp"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(427) : error 017: undefined symbol "strtok"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(429) : error 017: undefined symbol "tmp"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(430) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(430) : error 017: undefined symbol "e"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(430) : error 029: invalid expression, assumed zero
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(430) : fatal error 107: too many error messages on one line

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

9 Errors.

riverДата: Четверг, 26.06.2008, 09:26 | Сообщение # 545
Уверенный в себе
Группа: Продвинутые
Сообщений: 284
Награды: 1
Город: Москва
Репутация: 37
Замечания: 0%
Статус:
это вот так должно быть
public OnPlayerCommandText(playerid, cmdtext[]){
{
new tmp[256];
new giveplayerid, moneys, idx;
new giveplayer[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new string[256];
new playermoney;

в конец

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;
}





Сообщение отредактировал river - Четверг, 26.06.2008, 09:28
slayerДата: Четверг, 26.06.2008, 10:17 | Сообщение # 546
Местный
Группа: I'm V.I.P.
Сообщений: 668
Награды: 12
Город: Tallinn
Репутация: 172
Замечания: 0%
Статус:
Code

public OnPlayerCommandText(playerid, cmdtext[]){
{
new tmp[256];
new giveplayerid, moneys, idx;
new giveplayer[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new string[256];
new playermoney;
if(strcmp(cmd, "/givecash", true) == 0) {
     tmp = strtok(cmdtext, idx);

     if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [e`a" e`a~?i^e^a`] [n~e^i^e"u"e^i^]");
      return 1;
     }
     giveplayerid = strval(tmp);

     tmp = strtok(cmdtext, idx);
     if(!strlen(tmp)) {
      SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [e`a" e`a~?i^e^a`] [n~e^i^e"u"e^i^]");
      return 1;
     }
      moneys = strval(tmp);

     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), "*A^u^ i^o`i"?a`a^e`e"e` %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
       SendClientMessage(playerid, COLOR_YELLOW, string);
       format(string, sizeof(string), "*A^u^ i"i^e"o'?e`e"e` $%d i^o` %s(ID: %d).", moneys, sendername, playerid);
       SendClientMessage(giveplayerid, COLOR_YELLOW, string);
       printf("%s(ID:%d) i"a*?a*a"a`e" %d e`a~?i^e^o' %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
      }
      else {
       SendClientMessage(playerid, COLOR_YELLOW, "*I'a*i"?a`a^e`e"u"i'a`y" n~o'i`i`a`.");
      }
     }
     else {
       format(string, sizeof(string), "%d i'a* a`e^o`e`a^i'u^e' e`a~?i^e^.", giveplayerid);
       SendClientMessage(playerid, COLOR_YELLOW, string);
      }
     return 1;
    }
    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;
}

Вот так должно быть, все точь в точь сделал и все равно ошибки

Code

C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(424) : error 017: undefined symbol "cmd"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(425) : error 017: undefined symbol "strtok"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(425) : error 033: array must be indexed (variable "tmp")
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(428) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(428) : error 017: undefined symbol "e"
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(428) : error 029: invalid expression, assumed zero
C:\Downloads\Файлы\SAMP0.2.2 Server&Client\DeathMatchServer\gamemodes\SLAYERDM.pwn(428) : 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.

OrangeДата: Четверг, 26.06.2008, 10:39 | Сообщение # 547
Уважаемый человек
Группа: Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус:
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;
}

public OnPlayerCommandText(playerid, cmdtext[])
{//1
     new playermoney;
     new sendername[MAX_PLAYER_NAME];
     new giveplayer[MAX_PLAYER_NAME];
     new cmd[256];
     new tmp[256];
  new string[256];
  new giveplayerid, moneys, idx;
     cmd = strtok(cmdtext, idx);
     tmp = strtok(cmdtext, idx);
  if(strcmp(cmd, "/givecash", true) == 0)
     {//2
      
  if(!strlen(tmp))
  {
  SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash");
  return 1;
  }

  giveplayerid = strval(tmp);
     if(!strlen(tmp))
     {
     SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash");
     return 1;

  }
     moneys = strval(tmp);
     if (IsPlayerConnected(giveplayerid))
  {//3
  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), " %s(ID: %d), $%d.", giveplayer,giveplayerid, moneys);
  SendClientMessage(playerid, COLOR_YELLOW, string);
  format(string, sizeof(string), " %s(ID: %d).", moneys, sendername, playerid);
  SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  printf("%s(ID:%d) %s(ID:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
  }
  else
     {
  SendClientMessage(playerid, COLOR_YELLOW, "");
  }

  }//3
  else
  {
  format(string, sizeof(string), "", giveplayerid);
  SendClientMessage(playerid, COLOR_YELLOW, string);
  }
  return 0;
     }//2
  return 1;
}//1




slayerДата: Четверг, 26.06.2008, 12:33 | Сообщение # 548
Местный
Группа: I'm V.I.P.
Сообщений: 668
Награды: 12
Город: Tallinn
Репутация: 172
Замечания: 0%
Статус:
Компилится без ошибок и варнингов на сервере при попытке передать деньги сервер Крэшится.
OKStyle™Дата: Четверг, 26.06.2008, 13:46 | Сообщение # 549
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
slayer, добавь перед всеми командами:
Code
new cmd[30];
new idx;
cmd = strtok(cmdtext, idx);

затем, определение strtok должно стоять ВНЕ public'ов, т.е. ты забыл перед ней поставить:

Code
return 0;
}



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
brain13Дата: Четверг, 26.06.2008, 14:03 | Сообщение # 550
Новенький
Группа: Продвинутые
Сообщений: 28
Награды: 1
Репутация: 2
Замечания: 0%
Статус:
помогите реализовать такую фишку: как только деньги заходят за минус - фраги перестают набиратся и выводится текстовое сообщение

З.Ы. + поставлю ;)

OKStyle™Дата: Четверг, 26.06.2008, 14:45 | Сообщение # 551
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
brain13, функция OnPlayerDeath будет выглядеть примерно следующим образом:
Code
...
if(GetPlayerMoney(killerid)>0)
{
  SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
}
else
{
  SendClientMessage(killerid,0xFF0000AA," У вас минусовой баланс. Фраги не набираются.");
}
....
return 1;
}



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
brain13Дата: Четверг, 26.06.2008, 14:50 | Сообщение # 552
Новенький
Группа: Продвинутые
Сообщений: 28
Награды: 1
Репутация: 2
Замечания: 0%
Статус:
спс =)
slayerДата: Четверг, 26.06.2008, 16:25 | Сообщение # 553
Местный
Группа: I'm V.I.P.
Сообщений: 668
Награды: 12
Город: Tallinn
Репутация: 172
Замечания: 0%
Статус:
блин бред какой то...
theAloneДата: Четверг, 26.06.2008, 18:26 | Сообщение # 554
Долгожитель
Группа: Пользователи
Сообщений: 1380
Награды: 1
Город: Москва
Репутация: 92
Замечания: 0%
Статус:
Помогите плиз, как сделать чтобы игрок не смог выйти из машины?

естественно с меня + fun

riverДата: Четверг, 26.06.2008, 18:32 | Сообщение # 555
Уверенный в себе
Группа: Продвинутые
Сообщений: 284
Награды: 1
Город: Москва
Репутация: 37
Замечания: 0%
Статус:
обычно люди просят чтоб войти нельзя было но выйти fun
жжёшь



Поиск:





 


 


 
Хостинг от uCoz samp.at.ua