 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[Архив #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, попробуйте заменить на в 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]); Выводит следующее: Добавлено (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
|
| |
|
|
|
 |
|
 | |
| |
|