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

 



 
          





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





Последние Файлы 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  
[Архив #2] Вопросы ответы по SAMP [от 11.01.2012]
ВеликсДата: Среда, 11.01.2012, 23:37 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
[move]-= Вопрос | Ответ =-[/move]

В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте вашу проблему, если вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Помощь идет только по желанию пользователя, если вам человек помог вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за вас. (!!!)
  • Если вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если вы уже задавали вопрос, и не получили на него ответа, лучше напишите в ЛС одному, из участников группы Support, чем зафлуживать тему.


Скриптерам:

  • Не оскорблять новичков.
  • Не флудить сообщениями, подобных "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Юзер итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]


Сообщение отредактировал Weddew - Понедельник, 09.06.2014, 03:17
JiggaДата: Суббота, 05.01.2013, 15:18 | Сообщение # 5506
Новенький
Группа: Пользователи
Сообщений: 53
Награды: 0
Город: Владивосток
Репутация: 0
Замечания: 0%
Статус:
Цитата (Weddew)
Напишите сюда часть лога mysql_log, с INSERT INTO `houses`.

Код
Passing query INSERT INTO `houses` (hID,EnterX,EnterY,EnterZ,ExitX,ExitY,ExitZ,hOwner,hPrice,hInt,hVW,hLock) VALUES ('1','2031.489868','1340.126708','10.820312','140.266006','1366.109130','1083.859375','None','12','5','1',0) |  
[16:57:05] ProcessQueryThread(Empty) - Query was successful. (INSERT INTO `houses` (hID,EnterX,EnterY,EnterZ,ExitX,ExitY,ExitZ,hOwner,hPrice,hInt,hVW,hLock) VALUES ('1','2031.489868','1340.126708','10.820312','140.266006','1366.109130','1083.859375','None','12','5','1',0))
[16:57:05] ProcessQueryThread(Empty) - Data caching enabled.
[16:57:05] CMySQLHandler::StoreResult() - No data to store.
[16:57:05] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()

Добавлено (05.01.2013, 15:18)
---------------------------------------------
подскажите в чем проблема может быть

WeddewДата: Суббота, 05.01.2013, 15:57 | Сообщение # 5507
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Jigga)
Цитата (Weddew)
Напишите сюда часть лога mysql_log, с INSERT INTO `houses`.

Код
Passing query INSERT INTO `houses` (hID,EnterX,EnterY,EnterZ,ExitX,ExitY,ExitZ,hOwner,hPrice,hInt,hVW,hLock) VALUES ('1','2031.489868','1340.126708','10.820312','140.266006','1366.109130','1083.859375','None','12','5','1',0) |  
[16:57:05] ProcessQueryThread(Empty) - Query was successful. (INSERT INTO `houses` (hID,EnterX,EnterY,EnterZ,ExitX,ExitY,ExitZ,hOwner,hPrice,hInt,hVW,hLock) VALUES ('1','2031.489868','1340.126708','10.820312','140.266006','1366.109130','1083.859375','None','12','5','1',0))
[16:57:05] ProcessQueryThread(Empty) - Data caching enabled.
[16:57:05] CMySQLHandler::StoreResult() - No data to store.
[16:57:05] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
Добавлено (05.01.2013, 15:18)
---------------------------------------------
подскажите в чем проблема может быть

У Вас было не правильное присваивание строковой переменной.
Попробуйте так:
Код
public houseload()  
{  
      new rows, fields;  
      for(new s; s < TOTAL_HOUSES; s++) strmid(HouseInfo[s][hOwner],"None",0,strlen("None"),24);  
      cache_get_data(rows, fields);  
      for(new i = 0; i < rows; i++)  
      {  
          new temp[12];  
          cache_get_field_content(i, "hID", temp), HouseInfo[i][hID] = strval(temp);  
          cache_get_field_content(i, "EnterX", temp), HouseInfo[i][EnterX] = floatstr(temp);  
          cache_get_field_content(i, "EnterY", temp), HouseInfo[i][EnterY] = floatstr(temp);  
          cache_get_field_content(i, "EnterZ", temp), HouseInfo[i][EnterZ] = floatstr(temp);  
          cache_get_field_content(i, "ExitX", temp), HouseInfo[i][ExitX] = floatstr(temp);  
          cache_get_field_content(i, "ExitY", temp), HouseInfo[i][ExitY] = floatstr(temp);  
          cache_get_field_content(i, "ExitZ", temp), HouseInfo[i][ExitZ] = floatstr(temp);  
          cache_get_field_content(i, "hOwner", HouseInfo[i][hOwner]);  
          cache_get_field_content(i, "hPrice", temp), HouseInfo[i][hPrice]  = strval(temp);  
          cache_get_field_content(i, "hInt", temp), HouseInfo[i][hInt]  = strval(temp);  
          cache_get_field_content(i, "hVW", temp), HouseInfo[i][hVW]  = strval(temp);  
          cache_get_field_content(i, "hLock", temp), HouseInfo[i][hLock]  = strval(temp);  
          if(!strcmp(HouseInfo[i][hOwner],"None",true))  
          {  
               //HouseInfo[i][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrx], HouseInfo[idx][hEntry], HouseInfo[idx][hEntrz], 31, 0,-1,-1,-1,200.0);  
               HouseInfo[i][hPickup] = CreatePickup(1273, 1,HouseInfo[i][EnterX],HouseInfo[i][EnterY], HouseInfo[i][EnterZ]);  
             format(strin,sizeof(strin),"iiia? aiia: %i.\naii aunoaaeai ia i?iaa?o\noaia: %i.",TOTAL_HOUSES,HouseInfo[i][hPrice]);  
          }  
          else  
          {  
               //HouseInfo[idx][hMIcon] = CreateDynamicMapIcon(HouseInfo[idx][hEntrx], HouseInfo[idx][hEntry], HouseInfo[idx][hEntrz], 32, 0,-1,-1,-1,200.0);  
               HouseInfo[i][hPickup] = CreatePickup(1318, 1,HouseInfo[i][EnterX],HouseInfo[i][EnterY], HouseInfo[i][EnterZ]);  
               format(strin,sizeof(strin),"iiia? aiia: %i.\naeaaaeao aiia:%s.",TOTAL_HOUSES,HouseInfo[i][hOwner]);  
          }  
          HouseInfo[i][hLabel] = Create3DTextLabel(strin, 0xC4DAADFF, HouseInfo[i][EnterX],HouseInfo[i][EnterY],HouseInfo[i][EnterZ],15.0,0,1);  
          ++TOTAL_HOUSES;  
      }  
      printf("  Oniaoiay caa?ocea 'Houses' - caa?o?aii %d", TOTAL_HOUSES);  
      return 1;  
}




www.weddew-shop.ru
JiggaДата: Суббота, 05.01.2013, 16:10 | Сообщение # 5508
Новенький
Группа: Пользователи
Сообщений: 53
Награды: 0
Город: Владивосток
Репутация: 0
Замечания: 0%
Статус:
Цитата (Weddew)
У Вас было не правильное присваивание строковой переменной.
Попробуйте так:

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

LynxyДата: Суббота, 05.01.2013, 16:34 | Сообщение # 5509
Новенький
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
подскажите а что за проект такой gta-multiplayer который верху ???? кто нибудь играл??
WeddewДата: Суббота, 05.01.2013, 16:55 | Сообщение # 5510
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Lynxy)
подскажите а что за проект такой gta-multiplayer который верху ???? кто нибудь играл??

Вы разделом ошиблись, здесь оказывается помощь по программированию на языке Pawn.
Jigga, попробуйте заменить
Код
new temp[12];

на
Код
new temp[64];

в public houseload()




www.weddew-shop.ru
JiggaДата: Суббота, 05.01.2013, 17:16 | Сообщение # 5511
Новенький
Группа: Пользователи
Сообщений: 53
Награды: 0
Город: Владивосток
Репутация: 0
Замечания: 0%
Статус:
Цитата (Weddew)
Jigga, попробуйте заменить

так же. куплю дом, умру или просто перезайду все нормально,спавнюсь в нем, но после рестарта спавнюсь где то в деревне.
я еще заметил ид дома сбиваеться после рестарта был 1 становиться 0
может тут в чем то проблема
Код
public OnPlayerSpawn(playerid)
{
   for(new i = 0; i < sizeof(HouseInfo); i++)
   {
         if(!strcmp(HouseInfo[i][hOwner],"None",true))HouseInfo[i][hMapIcon] = SetPlayerMapIcon(playerid,i,HouseInfo[i][EnterX],HouseInfo[i][EnterY],HouseInfo[i][EnterZ],31,-1);
         else HouseInfo[i][hMapIcon] = SetPlayerMapIcon(playerid,i,HouseInfo[i][EnterX],HouseInfo[i][EnterY],HouseInfo[i][EnterZ],32,-1);
   }
   for(new i = 1; i <= TOTAL_HOUSES;i++)
   {
   if(!strcmp(HouseInfo[i][hOwner],Player[playerid][names],true))
   {
        SetPlayerPos(playerid,HouseInfo[i][ExitX],HouseInfo[i][ExitY],HouseInfo[i][ExitZ]);
        SetPlayerInterior(playerid,HouseInfo[i][hInt]);
        SetPlayerVirtualWorld(playerid,HouseInfo[i][hVW]);
        SetPVarInt(playerid, "PlayerHouse", i);
        return 1;
   }
   }
   return 1;
}

FaRaNelLДата: Суббота, 05.01.2013, 17:24 | Сообщение # 5512
Освоившийся
Группа: Продвинутые
Сообщений: 104
Награды: 1
Город: Краснодар
Репутация: 159
Замечания: 0%
Статус:
Всем привет, где то с года 2 назад делал ссвой сервер, всё делал сам, изучал и т.д. Вот мне опять загорелось, но жёсткий у меня слетал и всё сервера и мои записи аналогично. Щас я составляю список того чего хочу сделать на своём будущем сервере, это добавить скрипты в мод, сделать меню и по мелочи. Прошу вашей помощи, естесственно за деньги. Мой скайп mocart1994, аська 626433394, ну или напишите свои данные тут я буду следить за темой, прошу прощения если здесь по каким либо причинам нельзя это писать, направте тогда в нужное русло)))





Skype: mocart1994
WeddewДата: Суббота, 05.01.2013, 17:31 | Сообщение # 5513
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Jigga)
так же. куплю дом, умру или просто перезайду все нормально,спавнюсь в нем, но после рестарта спавнюсь где то в деревне.
я еще заметил ид дома сбиваеться после рестарта был 1 становиться 0
может тут в чем то проблема

Начинайте лучше отсчет ID`а с 0.
И еще, чему равно TOTAL_HOUSES?

Добавлено (05.01.2013, 17:31)
---------------------------------------------
Я переделал немного цикл.
Код
public OnPlayerSpawn(playerid)   
{   
     for(new i = 0; i < sizeof(HouseInfo); i++)   
     {   
           if(!strcmp(HouseInfo[i][hOwner],"None",true))HouseInfo[i][hMapIcon] = SetPlayerMapIcon(playerid,i,HouseInfo[i][EnterX],HouseInfo[i][EnterY],HouseInfo[i][EnterZ],31,-1);   
           else HouseInfo[i][hMapIcon] = SetPlayerMapIcon(playerid,i,HouseInfo[i][EnterX],HouseInfo[i][EnterY],HouseInfo[i][EnterZ],32,-1);   
     }   
     for(new i = 0; i < sizeof(HouseInfo); i++)   
     {   
     if(!strcmp(HouseInfo[i][hOwner],Player[playerid][names],true))   
     {   
          SetPlayerPos(playerid,HouseInfo[i][ExitX],HouseInfo[i][ExitY],HouseInfo[i][ExitZ]);   
          SetPlayerInterior(playerid,HouseInfo[i][hInt]);   
          SetPlayerVirtualWorld(playerid,HouseInfo[i][hVW]);   
          SetPVarInt(playerid, "PlayerHouse", i);   
          return 1;   
     }   
     }   
     return 1;   
}




www.weddew-shop.ru


Сообщение отредактировал Weddew - Суббота, 05.01.2013, 17:31
JiggaДата: Суббота, 05.01.2013, 18:50 | Сообщение # 5514
Новенький
Группа: Пользователи
Сообщений: 53
Награды: 0
Город: Владивосток
Репутация: 0
Замечания: 0%
Статус:
Цитата (Weddew)
Начинайте лучше отсчет ID`а с 0.
И еще, чему равно TOTAL_HOUSES?

new TOTAL_HOUSES;
потом при создании дома
++TOTAL_HOUSES
но в бд пишит ид 1 но грузит после реста ид 0
щяс воще если даже дома нету спавнит в деревне

Lotus_MДата: Суббота, 05.01.2013, 19:18 | Сообщение # 5515
Новенький
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Всем привет, у меня вопрос связанный с enum:
пример 1:
enum qwer
{
one,
two,
three
};
new en[qwer];

en[qwer:1] = 11;
в этом случае printf("%d",en[two]); покажет 11

пример 1:
enum qwer
{
one[10],
two,
three
};
new en[qwer];

en[qwer:1] = 11;
в этом случае printf("%d",en[two]); покажет 0.
У меня вопрос, почему так происходит( какое смещение ), и как правильно в этом случае сделать?

Добавлено (05.01.2013, 19:18)
---------------------------------------------
Извините за дабл пост, не нашел кнопки редактировать. Про смещение поторопился спрашивать, естественно на 10 сдвиг, но как в данной ситуации лучше сделать, что-то не знаю.

WeddewДата: Суббота, 05.01.2013, 19:23 | Сообщение # 5516
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Lotus_M)
Всем привет, у меня вопрос связанный с enum:
пример 1:
enum qwer
{
one,
two,
three
};
new en[qwer];

en[qwer:1] = 11;
в этом случае printf("%d",en[two]); покажет 11

пример 1:
enum qwer
{
one[10],
two,
three
};
new en[qwer];

en[qwer:1] = 11;
в этом случае printf("%d",en[two]); покажет 0.
У меня вопрос, почему так происходит( какое смещение ), и как правильно в этом случае сделать?

Естественно у вас не правильно, Вы присваиваете qwer:1 строковой переменной целое число, а выводите qwer:2, то есть en[two].
Вообще это делается так:
Код
enum structvars //Переменные структуры
{
  stringvar[12], //Строковой переменная
  intvar, // Целочисленная переменная
  Float:var, //Переменная с плавающей запятой
};

new structure[structvars];

strmid(structure[stringvar], "Text", 0, sizeof(stringvar), sizeof(stringvar)); // Присваиваем строковой переменной строку
structure[intvar] = 20; // Присваиваем целочисленной переменной целое число
structure[var] = 19.56; // Присваиваем переменной с плавающей запятой дробное число




www.weddew-shop.ru
Lotus_MДата: Суббота, 05.01.2013, 19:42 | Сообщение # 5517
Новенький
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Цитата (Weddew)
Вообще это делается так:
Код
enum structvars //Переменные структуры
{
  stringvar[12], //Строковой переменная
  intvar, // Целочисленная переменная
  Float:var, //Переменная с плавающей запятой
};

new structure[structvars];

strmid(structure[stringvar], "Text", 0, sizeof(stringvar), sizeof(stringvar)); // Присваиваем строковой переменной строку
structure[intvar] = 20; // Присваиваем целочисленной переменной целое число
structure[var] = 19.56; // Присваиваем переменной с плавающей запятой дробное число


Это я знаю, но как быть например если мне в цикле нужно заполнить эти значения?
допустим заполнить вот такое в цикле:
Код
enum qwer
{
   str1[30];
   str2[40];
   str3[20];
}

Добавлено (05.01.2013, 19:42)
---------------------------------------------
Если точнее, то такое заполнить в цикле.

Код
enum qwer  
{  
    str1[30];  
    str2[40];  
    str3[20];  
}
new en[qwer];

WeddewДата: Суббота, 05.01.2013, 20:01 | Сообщение # 5518
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Lotus_M)
Если точнее, то такое заполнить в цикле.

Код
enum qwer   
{   
     str1[30];   
     str2[40];   
     str3[20];   
}  
new en[qwer];  

for(new i = 1; i <= 3; i++)
{
    strmid(en[qwer:i], "Текстовое значение", 0, 40, 40);
}




www.weddew-shop.ru
Lotus_MДата: Суббота, 05.01.2013, 21:14 | Сообщение # 5519
Новенький
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Этот код:
Код

enum first
{
  one[5],
  two[15],
  three[10]
}
new qwer[first];

for(new i = 1; i <= 3; i++)  
{  
     strmid(qwer[first:i], "test", 0, 15, 15);  
}  
  printf("(1)%s_(2)%s_(3)%s",qwer[one],qwer[two],qwer[three]);

Выводит следующее:
Код
(1)_(2)st_(3)

Добавлено (05.01.2013, 21:14)
---------------------------------------------
В данном случае смещение получается на 1 знак, а нужно как-то указывать размер этой переменной, например one в моем примере

WeddewДата: Суббота, 05.01.2013, 23:47 | Сообщение # 5520
Группа: Ангел Хранитель
Сообщений: 1251
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
Цитата (Lotus_M)
В данном случае смещение получается на 1 знак, а нужно как-то указывать размер этой переменной, например one в моем примере

Смотрите синтаксис функции strmid

Добавлено (05.01.2013, 23:47)
---------------------------------------------

Код
  
one[5],  
two[15],  
three[10]

То что в квадратных скобках - это и есть размер строки.




www.weddew-shop.ru
Поиск:





 


 


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