- 0
Войдите для возможности подписаться
Подписчики
0
Система личного транспорта
Вопрос от
PhNst27
,
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От benz123
Добрейшего дня форумчане. Вообщем вчера писал код для новогодних квестов на основе ActorDialog. Не работает клавиша закрыть, перерыл все форумы и весь интернет. Писал знакомой гадалке, даже она не знает. Надеюсь всемогущие форумчане смогут мне помочь. Очень прошу.
Код :
Пояснение : Сервер если что копия радмира. Форум буду посещать 24/7.
ВК: @afk2007
-
Опубликовано · Жалоба
Вообщем пытался сделать систему личного транспорта, но что-то не катит, я думал сделать массив в котором буду сохранять созданные и загруженные авто из бд, сам массив UserVehId, и еще надеялся на то что бы не было путаницы из другими авто, не личными. Но в итоге ни чего не работает, вернее пару машин загружаються только после перезагрузки сервера.
stock LoadCarInfo() // Çàãðóçêà òðàíñïîðòà { new Cache: result = mysql_query(dbHandle, "select * from `cars`"); TOTALCARS = cache_get_row_count(dbHandle); for(new i = 0; i < TOTALCARS; i ++) { CarInfo[i+1][cId] = cache_get_row_int(i, 0, dbHandle); CarInfo[i+1][cModel] = cache_get_row_int(i, 1, dbHandle); cache_get_row(i, 2, CarInfo[i+1][cPlayer], dbHandle, 48); CarInfo[i+1][cFuelType] = cache_get_row_int(i, 3, dbHandle); CarInfo[i+1][cSpeed] = cache_get_row_int(i, 4, dbHandle); CarInfo[i+1][cFuel] = cache_get_row_float(i, 5, dbHandle); CarInfo[i+1][cX] = cache_get_row_float(i, 6, dbHandle); CarInfo[i+1][cY] = cache_get_row_float(i, 7, dbHandle); CarInfo[i+1][cZ] = cache_get_row_float(i, 8, dbHandle); CarInfo[i+1][cA] = cache_get_row_float(i, 9, dbHandle); CarInfo[i+1][cHealth] = cache_get_row_int(i, 10, dbHandle); CarInfo[i+1][cColor1] = cache_get_row_int(i, 11, dbHandle); CarInfo[i+1][cColor2] = cache_get_row_int(i, 12, dbHandle); UserVehId[i] = CreateVehicle(CarInfo[i+1][cModel], CarInfo[i+1][cX], CarInfo[i+1][cY], CarInfo[i+1][cZ], CarInfo[i+1][cA], CarInfo[i+1][cColor1], CarInfo[i+1][cColor2], -1); } cache_delete(result, dbHandle); } stock SaveCar(vehicleid) // Ñîõðàíåíèå òðàíñïîðòà { new src[1500],query[1500]; TOTALCARS = cache_get_row_count(dbHandle); format(query,sizeof(query),"UPDATE "TABLE_CARS" SET "); format(src,sizeof(src),"cModel=%i,",CarInfo[vehicleid][cModel]); strcat(query,src); format(src,sizeof(src),"cX=%.2f,",CarInfo[vehicleid][cX]); strcat(query,src); format(src,sizeof(src),"cY=%.2f,",CarInfo[vehicleid][cY]); strcat(query,src); format(src,sizeof(src),"cZ=%.2f,",CarInfo[vehicleid][cZ]); strcat(query,src); format(src,sizeof(src),"cA=%.2f,",CarInfo[vehicleid][cA]); strcat(query,src); format(src,sizeof(src),"cColor1=%i,",CarInfo[vehicleid][cColor1]); strcat(query,src); format(src,sizeof(src),"cColor2=%i,",CarInfo[vehicleid][cColor2]); strcat(query,src); format(src,sizeof(src),"cSpeed=%i,",CarInfo[vehicleid][cSpeed]); strcat(query,src); format(src,sizeof(src),"cFuel=%f,",CarInfo[vehicleid][cFuel]); strcat(query,src); format(src,sizeof(src),"cFuelType=%i,",CarInfo[vehicleid][cFuelType]); strcat(query,src); format(src,sizeof(src),"cHealth=%i,",CarInfo[vehicleid][cHealth]); strcat(query,src); format(src,sizeof(src),"cPlayer='%s'",CarInfo[vehicleid][cPlayer]); strcat(query,src,sizeof(query)); mysql_function_query(dbHandle, query, false, "", ""); }
Вот диалог покупки авто и его добавление в бд, и последующее его создание
И проверочная функция, работает ли вообще все это, когда игрок выходит из авто, то сохраняются координаты, и отправля.тся в бд
public OnPlayerExitVehicle(playerid, vehicleid) { new Float: p_x, Float: p_y, Float: p_z, Float: p_a; new string[128]; if(vehicleid >= UserVehId[0]/* && vehicleid <= UserVehId[TOTALCARS]*/) { for(new c=0; c<=TOTALCARS; c++) { if(vehicleid==UserVehId[c]) { GetVehiclePos(vehicleid, p_x, p_y, p_z); GetVehicleZAngle(vehicleid, p_a); CarInfo[vehicleid][cX] = p_x; CarInfo[vehicleid][cY] = p_y; CarInfo[vehicleid][cZ] = p_z; CarInfo[vehicleid][cA] = p_a; new result[128]; format(result,sizeof(result), "%i %i %i",CarInfo[vehicleid-1][cId], CarInfo[vehicleid][cId], CarInfo[UserVehId[vehicleid]][cId]); SendClientMessage(playerid, COLOR_GREEN, result); SaveCar(UserVehId[c]); } } } return true; }
Поделиться сообщением
Ссылка на сообщение