Зачем создавать то что каждый может юзнуть в одиночной игре и куда удобнее, и куда приятнее?
Создатель заскучал по ностальгии и заболел слабоумием. |
П.с. То, что так мало серверов додумалось воссоздать ту атмосферу и многочисленные фичи одиночки, совсем не говорит о том, что это никому не надо.
|
Ты хоть ссылку на посты кидай, а то мне пришлось искать за тебя. Код, который ты представлял - сам писал или скачаный? Если 2-ое, то какие тут мысли, фиг знает чей код/мод.
Я советую тебе заново всё переписать, и тщательно продебагить свой код. Такой вариант сработает на ура - Проверено! |
LoadOrgCar()
{
new rows, fields;
cache_get_data(rows, fields);
new string2[30];
for(new idx = 1; idx <= rows; idx++)
{
if(idx > MAXORGCAR) break;
OrgCarInfo[idx][orgcID] = cache_get_field_content_int(idx-1,"ID",cMySQL);
OrgCarInfo[idx][orgcFrac] = cache_get_field_content_int(idx-1,"Frac",cMySQL);
OrgCarInfo[idx][orgcRank] = cache_get_field_content_int(idx-1,"Rank",cMySQL);
OrgCarInfo[idx][orgcCity] = cache_get_field_content_int(idx-1,"City",cMySQL);
OrgCarInfo[idx][orgcModel] = cache_get_field_content_int(idx-1,"Model",cMySQL);
OrgCarInfo[idx][orgCarPos][0] = cache_get_field_content_float(idx-1,"posX",cMySQL);
OrgCarInfo[idx][orgCarPos][1] = cache_get_field_content_float(idx-1,"posY",cMySQL);
OrgCarInfo[idx][orgCarPos][2] = cache_get_field_content_float(idx-1,"posZ",cMySQL);
OrgCarInfo[idx][orgCarPos][3] = cache_get_field_content_float(idx-1,"posA",cMySQL);
OrgCarInfo[idx][orgcColor1] = cache_get_field_content_int(idx-1,"Color1",cMySQL);
OrgCarInfo[idx][orgcColor2] = cache_get_field_content_int(idx-1,"Color2",cMySQL);
OrgCarInfo[idx][orgcInt] = cache_get_field_content_int(idx-1,"Int",cMySQL);
OrgCarInfo[idx][orgcWorld] = cache_get_field_content_int(idx-1,"World",cMySQL);
OrgCarInfo[idx][orgSiren] = cache_get_field_content_int(idx-1,"Siren",cMySQL);
OrgCarInfo[idx][orgcNumberColor] = FracColors[OrgCarInfo[idx][orgcFrac]];
OrgCarInfo[idx][orgcCar] = P_AddStaticVehicleEx(OrgCarInfo[idx][orgcModel],OrgCarInfo[idx][orgCarPos][0],OrgCarInfo[idx][orgCarPos][1],OrgCarInfo[idx][orgCarPos][2],OrgCarInfo[idx][orgCarPos][3],
OrgCarInfo[idx][orgcColor1],OrgCarInfo[idx][orgcColor2],1800,OrgCarInfo[idx][orgSiren],0);
new tmpobjid;
if(OrgCarInfo[idx][orgcModel] == 498)
{
tmpobjid = CreateDynamicObject(19420,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], 0.000, 2.031, 2.009, 0.000, 0.000, 0.000);
tmpobjid = CreateDynamicObject(19482,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterialText(tmpobjid, 0, "S.W.A.T", 130, "Ariel", 80, 1, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], 1.261, -1.000, 1.250, 0.000, 0.000, 0.000);
tmpobjid = CreateDynamicObject(19482,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterialText(tmpobjid, 0, "S.W.A.T", 130, "Ariel", 80, 1, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], -1.261, -1.031, 1.300, 0.000, 0.000, 179.900);
tmpobjid = CreateDynamicObject(2937,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterial(tmpobjid, 0, 18996, "mattextures", "sampblack", 0);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], 1.144, -1.441, -0.396, 0.000, -91.199, 0.000);
tmpobjid = CreateDynamicObject(2937,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterial(tmpobjid, 0, 18996, "mattextures", "sampblack", 0);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], -1.114, -1.441, -0.397, 0.000, 91.199, 0.000);
}
if(OrgCarInfo[idx][orgcModel] == 552)
{
tmpobjid = CreateDynamicObject(11702,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], 0.000, 0.550, 1.390, 0.000, 0.000, 0.000);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterialText(tmpobjid, 0, "FIRE DEPT", 130, "Ariel", 35, 1, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], 1.261, -2.512, 0.540, 0.000, 0.000, 0.000);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterialText(tmpobjid, 0, "FIRE DEPT", 130, "Ariel", 35, 1, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, OrgCarInfo[idx][orgcCar], -1.261, -2.512, 0.540, 0.000, 0.000, 179.399);
}
//OnVehicleSpawn(OrgCarInfo[idx][orgcCar]);
if(OrgCarInfo[idx][orgcInt] > 0) LinkVehicleToInterior(OrgCarInfo[idx][orgcCar],OrgCarInfo[idx][orgcInt]);
if(OrgCarInfo[idx][orgcWorld] > 0) SetVehicleVirtualWorld(OrgCarInfo[idx][orgcCar],OrgCarInfo[idx][orgcWorld]);
switch(OrgCarInfo[idx][orgcCity])
{
case 1: format(string2,sizeof(string2),"[LA%dUS]",idx);
case 2: format(string2,sizeof(string2),"[SF%dUS]",idx);
case 3: format(string2,sizeof(string2),"[LV%dUS]",idx);
case 4: format(string2,sizeof(string2),"[CA%dUS]",idx);
}
SetVehicleNumberPlate(OrgCarInfo[idx][orgcCar],string2);
OrgCarInfo[idx][orgcNumber] = CreateDynamic3DTextLabel(string2,0xAFAFAF90,0,0,0.0,15.0,INVALID_PLAYER_ID,OrgCarInfo[idx][orgcCar],1);
if(OrgCarInfo[idx][orgcFrac] == 15)
{
format(string2,sizeof(string2),"%s",OrgInfo[OrgCarInfo[idx][orgcFrac]][orgName]);
OrgCarInfo[idx][orgcText] = CreateDynamic3DTextLabel(string2,0xFFA500FF,0,0,1.25,15.0,INVALID_PLAYER_ID,OrgCarInfo[idx][orgcCar],1);
}
Fuel[idx] = VehicleParams[OrgCarInfo[idx][orgcModel]-400][vMaxFuel];
Engine[idx] = false;
Light[idx] = false;
OrgCarInfo[idx][orgLightOnOff] = false;
OrgCarInfo[idx][orgpLight] = 0;
OrgCarInfo[idx][orgpMilage] = 0;
OrgCarInfo[idx][orgcLock] = 0;
OrgCarInfo[idx][orgcMax] = false;
Door[idx] = OrgCarInfo[idx][orgcLock];
TOTALORGCAR = idx;
}
printf(" * [Load System] : Çàãðóçêà ñèñòåìû ìàøèí ôðàêöèé ïðîøëà óäà÷íî: %d øò.",TOTALORGCAR);
return true;
}
stock P_AddStaticVehicleEx(model,Float:x,Float:y,Float:z,Float:a,color_1,color_2,spawntime = 99999, siren, Float:health = 1000.0)
{
new vid = AddStaticVehicleEx(model, x, y, z, a, color_1, color_2,spawntime,siren);
if(health > 0) ACVehInfo[vid][acVHealth] = health;
else ACVehInfo[vid][acVHealth] = 1000.0;
return vid;
}
Вопрос к знатокам!
А если к примеру мод я буду писать все таки не на mysql, а на mxINI... мод будет без варнингов, все написано в лесенку, то к примеру вдруг будет онлайн к примеру до 500 человек, нагрузки не будет сильной? Площадка под сервер будет дедик, в моде будет мало мапинга. |
И расскажите какие и есть ли проекты где онлайн далеко за 500+, и он не на мускуле!?!
|
Просто я смотрю на код mxINI и в принципе понимаю сверх естественно там нету, а смотрю код на mysqlе и понимаю что это большой темный лес с которым я не когда не работал, и что на изучение его и разбора я потрачу уйму времени, но я понимаю что мне интересно это и я хочу изучать...
|