SA-MP Forums Archive
Скриптинг курилка - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Скриптинг курилка (/showthread.php?tid=111279)



Re: Скриптинг курилка - TheMallard - 08.09.2016




Re: Скриптинг курилка - Mcc - 08.09.2016

Господи кому это вообще нужно?


Re: Скриптинг курилка - OstGot - 08.09.2016

Quote:
Originally Posted by Mcc
View Post
Господи кому это вообще нужно?
А я наоборот за то, чтобы это было в самом сампе. Сервер, который пытается воссоздать синглплеер, вынужден рисовать подсказки и надписи текстдравами.. И это при том, что самп - это модификация San Andreas.


Re: Скриптинг курилка - Mcc - 08.09.2016

Зачем создавать то что каждый может юзнуть в одиночной игре и куда удобнее, и куда приятнее?
Создатель заскучал по ностальгии и заболел слабоумием.


Re: Скриптинг курилка - OstGot - 08.09.2016

Quote:
Originally Posted by Mcc
View Post
Зачем создавать то что каждый может юзнуть в одиночной игре и куда удобнее, и куда приятнее?
Создатель заскучал по ностальгии и заболел слабоумием.
В том то и дело, что собственная реализация тех же текстов смотрится куда менее приятно. Да и сам факт - переделывать то, что могли бы не напрягаясь добавить из сингла. А мультиплеер на то и мультиплеер, чтобы каждый мог это юзнуть не в одиночной, а в многопользовательской игре.

П.с. То, что так мало серверов додумалось воссоздать ту атмосферу и многочисленные фичи одиночки, совсем не говорит о том, что это никому не надо.


Re: Скриптинг курилка - Diman777 - 08.09.2016

TheMallard разве так заливают скрины? Весь форум растянуло.


Re: Скриптинг курилка - Mcc - 08.09.2016

Quote:
Originally Posted by OstGot
View Post
П.с. То, что так мало серверов додумалось воссоздать ту атмосферу и многочисленные фичи одиночки, совсем не говорит о том, что это никому не надо.
Как раз таки и говорит.


Re: Скриптинг курилка - OstGot - 08.09.2016

Quote:
Originally Posted by Mcc
View Post
Как раз таки и говорит.
Однако тематический сервер, ссылка на который была пару постов назад отнюдь не пустует (при том, что он является, по-сути, всего-лишь развлекательным и воссоздана там только малая часть). Ленивых много. Вот и всё


Re: Скриптинг курилка - Andrey_Kiryuhin - 08.09.2016

Не знаю в чем косяк.
Если сервер просто выключить и запустить, то 255 машина не создается, а все что дальше(256,257...) создаются. Но если перезагрузить rcon gmx, то машина создается.
Всю голову уже изломал. Есть мысли?


Re: Скриптинг курилка - Diman777 - 08.09.2016

Ты хоть ссылку на посты кидай, а то мне пришлось искать за тебя. Код, который ты представлял - сам писал или скачаный? Если 2-ое, то какие тут мысли, фиг знает чей код/мод.
Я советую тебе заново всё переписать, и тщательно продебагить свой код. Такой вариант сработает на ура - Проверено!


Re: Скриптинг курилка - Andrey_Kiryuhin - 08.09.2016

Quote:
Originally Posted by Diman777
View Post
Ты хоть ссылку на посты кидай, а то мне пришлось искать за тебя. Код, который ты представлял - сам писал или скачаный? Если 2-ое, то какие тут мысли, фиг знает чей код/мод.
Я советую тебе заново всё переписать, и тщательно продебагить свой код. Такой вариант сработает на ура - Проверено!
Если ты мне, то код мой, мод мой все мое. Обычная загрузка и спавн.
PHP Code:
LoadOrgCar()
{
    new 
rowsfields;
    
cache_get_data(rowsfields);
    new 
string2[30];
    for(new 
idx 1idx <= rowsidx++)
    {
        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(tmpobjidOrgCarInfo[idx][orgcCar], 0.0002.0312.0090.0000.0000.000);
            
tmpobjid CreateDynamicObject(19482,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterialText(tmpobjid0"S.W.A.T"130"Ariel"801, -101);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], 1.261, -1.0001.2500.0000.0000.000);
            
tmpobjid CreateDynamicObject(19482,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterialText(tmpobjid0"S.W.A.T"130"Ariel"801, -101);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], -1.261, -1.0311.3000.0000.000179.900);
            
tmpobjid CreateDynamicObject(2937,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterial(tmpobjid018996"mattextures""sampblack"0);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], 1.144, -1.441, -0.3960.000, -91.1990.000);
            
tmpobjid CreateDynamicObject(2937,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterial(tmpobjid018996"mattextures""sampblack"0);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], -1.114, -1.441, -0.3970.00091.1990.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(tmpobjidOrgCarInfo[idx][orgcCar], 0.0000.5501.3900.0000.0000.000);
            
tmpobjid CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterialText(tmpobjid0"FIRE DEPT"130"Ariel"351, -101);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], 1.261, -2.5120.5400.0000.0000.000);
            
tmpobjid CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
            
SetDynamicObjectMaterialText(tmpobjid0"FIRE DEPT"130"Ariel"351, -101);
            
AttachDynamicObjectToVehicle(tmpobjidOrgCarInfo[idx][orgcCar], -1.261, -2.5120.5400.0000.000179.399);
        }
        
//OnVehicleSpawn(OrgCarInfo[idx][orgcCar]);
        
if(OrgCarInfo[idx][orgcInt] > 0LinkVehicleToInterior(OrgCarInfo[idx][orgcCar],OrgCarInfo[idx][orgcInt]);
        if(
OrgCarInfo[idx][orgcWorld] > 0SetVehicleVirtualWorld(OrgCarInfo[idx][orgcCar],OrgCarInfo[idx][orgcWorld]);
        switch(
OrgCarInfo[idx][orgcCity])
        {
            case 
1format(string2,sizeof(string2),"[LA%dUS]",idx);
            case 
2format(string2,sizeof(string2),"[SF%dUS]",idx);
            case 
3format(string2,sizeof(string2),"[LV%dUS]",idx);
            case 
4format(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 99999sirenFloat:health 1000.0)
{
    new 
vid AddStaticVehicleEx(modelxyzacolor_1color_2,spawntime,siren);
    if(
health 0ACVehInfo[vid][acVHealth] = health;
    else 
ACVehInfo[vid][acVHealth] = 1000.0;
    return 
vid;




Re: Скриптинг курилка - karevkhvdrift - 09.09.2016

Вопрос к знатокам!
А если к примеру мод я буду писать все таки не на mysql, а на mxINI... мод будет без варнингов, все написано в лесенку, то к примеру вдруг будет онлайн к примеру до 500 человек, нагрузки не будет сильной? Площадка под сервер будет дедик, в моде будет мало мапинга.


Re: Скриптинг курилка - karevkhvdrift - 09.09.2016

И расскажите какие и есть ли проекты где онлайн далеко за 500+, и он не на мускуле!?!


Re: Скриптинг курилка - Diman777 - 09.09.2016

Quote:
Originally Posted by karevkhvdrift
View Post
Вопрос к знатокам!
А если к примеру мод я буду писать все таки не на mysql, а на mxINI... мод будет без варнингов, все написано в лесенку, то к примеру вдруг будет онлайн к примеру до 500 человек, нагрузки не будет сильной? Площадка под сервер будет дедик, в моде будет мало мапинга.
Вот уже лучше, появились какие-то требования к своему будущему моду. У меня онлайн далеко не +500 (как я ранее и писал), поэтому уверенно ответить сложновато. Если будут аккаунты, куча домов, то mxINI может и справится (автор скрипта постарался сделать, чтобы работало быстро), файлы никто не отменял во всяком случае)

Quote:
Originally Posted by karevkhvdrift
View Post
И расскажите какие и есть ли проекты где онлайн далеко за 500+, и он не на мускуле!?!
- Rus 0.2X Server, GTA Paradise (автор dimonml) | онлайн ~ 400
- СССР ака INDIGO (автор Shiker) | онлайн ~ 250
- Absolute (автор Noname, по словам создателя - аккаунты у него на файлах) | онлайн ~ 1000


Re: Скриптинг курилка - karevkhvdrift - 09.09.2016

Просто я смотрю на код mxINI и в принципе понимаю сверх естественно там нету, а смотрю код на mysqlе и понимаю что это большой темный лес с которым я не когда не работал, и что на изучение его и разбора я потрачу уйму времени, но я понимаю что мне интересно это и я хочу изучать...

Мысли такие, делать пока сервер бог с ним на mxINI, в последующем сделать реализацию перехода на mysql.

И еще вопросы тяжело ли будет переводить сервер на mysql? Может есть люди, которым можно заплатить чтобы произвели помощь в этих не легких делах

Ко всем с уважением отношусь, все отзывы готов выслушивать, но и не люблю летящие кирпичи)


Re: Скриптинг курилка - stabker - 09.09.2016

Quote:
Originally Posted by karevkhvdrift
View Post
Просто я смотрю на код mxINI и в принципе понимаю сверх естественно там нету, а смотрю код на mysqlе и понимаю что это большой темный лес с которым я не когда не работал, и что на изучение его и разбора я потрачу уйму времени, но я понимаю что мне интересно это и я хочу изучать...
Чтобы делать с mysql то, что ты собираешься делать сейчас на файлах, не надо особых знаний.

Quote:
Originally Posted by karevkhvdrift
View Post
И еще вопросы тяжело ли будет переводить сервер на mysql?
Не тяжело, но муторно.

А вообще открывать сервер самп в 2017-3 месяца и надеяться на онлайн 500 - это разве не утопия?


Re: Скриптинг курилка - TheMallard - 09.09.2016

Samp-Rp.Ru - аккаунты на .ini, ридер ГФшный. Последний слет - август 2012. 4 года нормальной работы. Но все же рекомендую mysql.


Re: Скриптинг курилка - TheMallard - 09.09.2016

Код лесенкой и отсутствие варнингов тут не причем. Дело в оптимизации, сервер однопоточный, поэтому все должно быть как можно проще и быстрее.


Re: Скриптинг курилка - OneHitWonder - 09.09.2016

А скриптово воду никак не добавить? Не просто объект текстуры воды, а по которой плавать можно будет. Весь мозг сломал уже.


Re: Скриптинг курилка - OneHitWonder - 30.09.2016

Не уверен что это вообще можно отследить