 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
не создается машина
| |
| _BigSm0ke_ | Дата: Воскресенье, 24.06.2012, 22:12 | Сообщение # 1 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| Code for(new i = 1; i == car_num; i++) { if(CarInfo[i][cSale] ==1) { CarMassive[i] = CreateVehicle(CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],1); printf("CarMassive[%d]=%d",i,CarMassive[i]); } }
Code LoadCarInfo() { new query[1024],result[1024]; format(query,sizeof(query),"SELECT COUNT(*) FROM `pcars`"); mysql_query(query); mysql_store_result(); car_num = mysql_num_rows(); printf("Car_Nums: %d",car_num); for(new i = 1; i == car_num; i++) { format(query, sizeof(query), "SELECT * FROM `pcars` WHERE `cID` = '%i'" ,i); mysql_query(query); mysql_store_result(); if(mysql_num_rows() == 1) { mysql_fetch_row_format(result, "|"); sscanf(result, "p<|>iiiiiiiffffii", CarInfo[i][cID], CarInfo[i][cOwnerID], CarInfo[i][cModel], CarInfo[i][cCost], CarInfo[i][cSale], CarInfo[i][cWeapon], CarInfo[i][cAmmo], CarInfo[i][cx], CarInfo[i][cy], CarInfo[i][cz], CarInfo[i][cangle], CarInfo[i][cColor1], CarInfo[i][cColor2]); mysql_free_result(); printf("Çàãðóçêà ìàøèí:"); printf("ID %d, Âëàäåëåö %d, Ìîäåëü %d, Öåíà %d",CarInfo[i][cID],CarInfo[i][cOwnerID],CarInfo[i][cModel],CarInfo[i][cCost]); } } return 1; }
Идея такая,есть таблица с машинами, добавляются они туда владельцем авторынка, если машина продается cSale = 1 то спавним её при запуске мода .. ну и так далее кто в нее сядет тот купит и т.п., а те которые уже куплены cSale = 0; то они заспавнятся при заходе в игру владельца... Пока тестирую только на одной машине. Есть машина, она продается cSale=1; но она не появляется почемуто... хотя из таблицы все данные записываются нормально проверял сто раз... в чем может быть проблема
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
Сообщение отредактировал _BigSm0ke_ - Воскресенье, 24.06.2012, 22:13 |
| |
|
|
| Borog | Дата: Воскресенье, 24.06.2012, 23:10 | Сообщение # 2 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| _BigSm0ke_, Во-первых зачем ты начинаешь читать массив со второй ячайки?
for(new i = 1; i == car_num; i++) { if(CarInfo[i][cSale] ==1) ... Массив с 0 начинается, а не с 1 Во втором коде тоже самое. Только в нем не забудь еще в запросе к i единицу прибавлять
Во-вторых некорректно используется ф-ия if(mysql_num_rows() == 1)
Она возвращает кол-во найденных строк. А ты записываешь данные, только если найдена одна единственная Оставь просто: if(mysql_num_rows())
Больше беглым взглядом никаких косяков не увидел. Исправляй эти пока
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| _BigSm0ke_ | Дата: Понедельник, 25.06.2012, 00:03 | Сообщение # 3 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| насчет первого я знаю, просто чтобы без смещений этих было начинаю с 1 .. а то запутаюсь.... насчет второго ок... все равно данные все считываются нормально, в массив записываются, проверено, а машина не создается.. почему?
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| Kämpfer | Дата: Понедельник, 25.06.2012, 01:09 | Сообщение # 4 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус: 
| Идет обработка первого запроса, он прерывается вторым => первый уже не продолжиться, у тебя полученные результаты заменены новыми со 2 запроса.. Зачем тут 2 запроса не понятно, достаточно одного: Code stock LoadCarInfo( ) { mysql_query( "SELECT * FROM `pcars`" ); mysql_store_result( ); if( !mysql_num_rows( ) ) print( "Таблица пуста!" ); else { new result[1024]; while( mysql_fetch_row_format( result, "|" ) ) { sscanf( result, "p<|>iiiiiiiffffii", CarInfo[ i ][ cID ], CarInfo[ i ][ cOwnerID ], CarInfo[ i ][ cModel ], CarInfo[ i ][ cCost ], CarInfo[ i ][ cSale ], CarInfo[ i ][ cWeapon ], CarInfo[ i ][ cAmmo ], CarInfo[ i ][ cx ], CarInfo[ i ][ cy ], CarInfo[ i ][ cz ], CarInfo[ i ][ cangle ], CarInfo[ i ][ cColor1 ], CarInfo[ i ][ cColor2 ] ); } print( "Данные выгружены!" ); } mysql_free_result( ); return true; } Добавлено (25.06.2012, 01:09) --------------------------------------------- забыл переменную i инициализировать и прибавлять, там сам уже разберешься!
Гитлер капут
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©
Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов. skype: kampfer_88
|
| |
|
|
| _BigSm0ke_ | Дата: Понедельник, 25.06.2012, 11:27 | Сообщение # 5 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| первый запрос чтобы посчитать к-во записей и сохранить их в переменную car_num
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| _BigSm0ke_ | Дата: Понедельник, 25.06.2012, 13:36 | Сообщение # 6 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| Народ ну помогите в чем проблема... я не пойму.. вот .. упрощу даже задачу... есть команда: Code CMD:cveh(playerid, params[]) { new i=1; CreateVehicle(CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],0); new strstr[512]; format(strstr,sizeof(strstr),"id=%d,model=%d,x: %f, y: %f, z: %f,angle=%f",CarInfo[i][cID],CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle]); SendClientMessage(playerid,COLOR_LTBLUE,strstr); return 1; }
вот что в игре
[cut noguest=результат от команды 1] [/cut]
Хотя если я например сделаю вот такую команду:
Code CMD:cveh(playerid, params[]) { new i=1; new Float:px,Float:py,Float:pz; GetPlayerPos(playerid,px,py,pz); CreateVehicle(CarInfo[i][cModel],px,py,pz,CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],0); //CreateVehicle(CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],0); new strstr[512]; format(strstr,sizeof(strstr),"id=%d,model=%d,x: %f, y: %f, z: %f,angle=%f",CarInfo[i][cID],CarInfo[i][cModel],px,py,pz,CarInfo[i][cangle]); SendClientMessage(playerid,COLOR_LTBLUE,strstr); return 1; }
то машина сразу создается...
[cut noguest=результат от команды 2] [/cut]
получается проблема в координатах... но какая?? ....что за бред? помогите плиз
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
Сообщение отредактировал _BigSm0ke_ - Понедельник, 25.06.2012, 13:43 |
| |
|
|
| Плохиш | Дата: Понедельник, 25.06.2012, 14:25 | Сообщение # 7 |
|
Новенький
Группа:
Пользователи
Сообщений: 62
Награды: 0
Город: Йошкар-Ола
Репутация: -93
Замечания: 60%
Статус: 
| _BigSm0ke_, я не понял, в чем у тебя проблема? если ты хочешь узнать почему создается машина, то во втором случае, ты узнаешь координаты местоположения игрока и создаешь там машину, а в первом, ты координаты загружаешь насколько я понял из файла и машина не создается, т.к. либо неправильно прописаны координаты в файле, либо их вообще нету.
Plohysh Style [img]http://s006.radikal.ru/i214/1206/5e/893d7989eb30.gif[/img] КАК ВСТАВИТЬ КАРТИНКУ В ПОДПИСЬ?!?!!?
|
| |
|
|
| _BigSm0ke_ | Дата: Понедельник, 25.06.2012, 15:54 | Сообщение # 8 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| а че по скрину не видно чтоли что в первом случае координаты нормальные? а машина почему то блин не создается....
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| Soup | Дата: Понедельник, 25.06.2012, 16:56 | Сообщение # 9 |
|
Новенький
Группа:
Пользователи
Сообщений: 26
| Проблема в цикле. for(new i = 1; i == car_num; i++)
Что такое car num и с чем его едят ? Попробуй так:
Code for(new i = 1; i == car_num; i++) { if(CarInfo[i][cSale] ==1) { car_num ++; CarMassive[i] = CreateVehicle(CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],1); printf("CarMassive[%d]=%d",i,CarMassive[i]); } }
Либо:
Quote for(new i = 1; i < car_num; i++) { if(CarInfo[i][cSale] ==1) { CarMassive[i] = CreateVehicle(CarInfo[i][cModel],CarInfo[i][cx],CarInfo[i][cy],CarInfo[i][cz],CarInfo[i][cangle],CarInfo[i][cColor1],CarInfo[i][cColor2],1); printf("CarMassive[%d]=%d",i,CarMassive[i]); }
|
| |
|
|
| Kämpfer | Дата: Понедельник, 25.06.2012, 21:36 | Сообщение # 10 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус: 
| _BigSm0ke_, вы меня, конечно, извините, но вы идиот или да? Я постом выше все разжевал и даже ВСЕ за вас написал, в чем трудность взять мой код и разобрать, ебн*й в рот, совсем обленились "скриптеры"...
Гитлер капут
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©
Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов. skype: kampfer_88
|
| |
|
|
| _BigSm0ke_ | Дата: Понедельник, 25.06.2012, 23:49 | Сообщение # 11 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| я конечно извиню вас, но все что вы пишите мне не надо и система сохранения и загрузки данных из бд у меня работает как часы... а проблема была в другом и она уже решена, так что спасибо за внимание, тему можете закрыть...
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| Kämpfer | Дата: Вторник, 26.06.2012, 00:21 | Сообщение # 12 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус: 
| Quote (_BigSm0ke_) но все что вы пишите мне не надо и система сохранения и загрузки данных из бд у меня работает как часы... эт вряд ли, после выложенного кода выше, который осуществляет взаимодействие с базой (запросы)... Там где достаточно одного запроса после которого циклом можно обработать все полученные из базы данные, у вас 2 запроса, да и к тому же в случае удаления например элемента с идентификатором (идом) 3, вы уже потеряете одну запись (в конце), при выгрузке данных в мод. Вприцнипи если вы не принимаете советов, тех кто знает поболее вас, то смысла что-то объяснять я не вижу, удачи.
Гитлер капут
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©
Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов. skype: kampfer_88
|
| |
|
|
| _BigSm0ke_ | Дата: Среда, 27.06.2012, 16:41 | Сообщение # 13 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| Quote (Kämpfer) эт вряд ли, после выложенного кода выше, который осуществляет взаимодействие с базой (запросы)... Там где достаточно одного запроса после которого циклом можно обработать все полученные из базы данные, у вас 2 запроса, да и к тому же в случае удаления например элемента с идентификатором (идом) 3, вы уже потеряете одну запись (в конце), при выгрузке данных в мод. Вприцнипи если вы не принимаете советов, тех кто знает поболее вас, то смысла что-то объяснять я не вижу, удачи.
да чето я погорячился)) Я понял что вы имеете ввиду...
Quote (Kämpfer) stock LoadCarInfo( ) { mysql_query( "SELECT * FROM `pcars`" ); mysql_store_result( ); if( !mysql_num_rows( ) ) print( "Таблица пуста!" ); else { new result[1024]; while( mysql_fetch_row_format( result, "|" ) ) { sscanf( result, "p<|>iiiiiiiffffii", CarInfo[ i ][ cID ], CarInfo[ i ][ cOwnerID ], CarInfo[ i ][ cModel ], CarInfo[ i ][ cCost ], CarInfo[ i ][ cSale ], CarInfo[ i ][ cWeapon ], CarInfo[ i ][ cAmmo ], CarInfo[ i ][ cx ], CarInfo[ i ][ cy ], CarInfo[ i ][ cz ], CarInfo[ i ][ cangle ], CarInfo[ i ][ cColor1 ], CarInfo[ i ][ cColor2 ] ); } print( "Данные выгружены!" ); } mysql_free_result( ); return true; }
можете поподробнее расписать как тут считывание происходит? немогу понять... вы сразу всю таблицу считываете а как потом данные в массив заносятся? чето несоображу...
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
| Kämpfer | Дата: Среда, 27.06.2012, 16:52 | Сообщение # 14 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус: 
| SELECT * FROM `pcars`- данный запрос "вытащит" все поля из таблицы pcars, далее, функцией mysql_num_rows( ) - проверяем, если вернуло 0 полей, то просто сообщаем что таблица пуста и все, если же их > 0 то запускаем цикл, while( mysql_fetch_row_format( result, "|" ) ) - который будет выполнятся пока не будет обработана каждая строка таблицы, при каждом проходе цикла, в result записывается новая строка из БД, в которой поля написаны единой строкой и разделяются знаком "|", разделить каждое поле и записать в свою ячейку нам помогает функция sscanf, она раскидывает каждое значение в свою ячейку массива CarInfo, и дальше перескакивает на следующую строку которую вернул запрос, тем самым мы просто циклом перебираем все, вернувшиеся нам в результате запроса, строки таблицы. Ну и в конце мы освобождаем результаты которые были сохранены в памяти плагина после запроса, функцией mysql_free_result( ), собственно все.
Гитлер капут
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©
Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов. skype: kampfer_88
|
| |
|
|
| _BigSm0ke_ | Дата: Среда, 27.06.2012, 21:14 | Сообщение # 15 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус: 
| а сохранять как машины лучше?
LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON Продаю РП мод: подробнее тут Решаю задачи по техническим дисциплинам, подробнее тут
|
| |
|
|
|
 |
|
 | |
| |
|