Jump to content

mapa jeden ostrov jedno velek mesto


fixa

Recommended Posts

ahoj pracuji na novém projektu kterej bude ve styly velké mapy hledám na to ale lidi protože sám na to nestačím

jedná se o to že z los santos bude ostrov a ze zbytku chci udělat jedno velké město

 

na ostrov se dostanou jak lodí tak letadlem ale autem ne

 

o co mi de celkově se snažím překopat celou mapu san andreas

 

ti lidi co umí v map editoru a chtěj se do toho připojit tak se ozvěte na webu http://rebelzone.eu/

sem tam pod uživatelem fixies dík předem že do toho půjdete ty co v projektu pomůžou budou mít právo si

dát mapu na svůj server také

Link to comment
Share on other sites

Nereálny projekt. Mám z veľkými mapami skúsenosti a môžem ti povedať, že už mapy s 2000 a viac objektami majú sakra problémy nielen so zobrazovaním, ale aj s hrateľnosťou. Jednak to dá ku*va veľa práce, treba na to kvalitný streamer a naraz nezobrazíš viac ako 1000 objektov. Ak to nehodláš rozdeliť na zóny, nemá to nijaký význam. Prerobiť celú mapu je nemožné.

Link to comment
Share on other sites

Fixííku :d Ty parchantíku :d :d

PS: Však ano, bude zobrazování rozděleno přes zóny. Konkrétně je v plánu: Odstranit část mapy mezi SF a LS aby se tam nedalo dojet + spojit SF a LV takovým "městečkem". Jinak, nuso, tech objektů tam nejspíš tolik ani pohromadě nebude :) Když se ponechají základy západu od LV, pod most se dá pevnina, podělá se cesta...:)

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

No to už samozrejme podľa toho, ako kvalitne to chcete mať urobené. Na fušerskú mapu naozaj veľa objektov netreba. Ak však naozaj rátate s takými zásahmi do mapy, čo teda predpokladám budete kombinovať SAMP Editor a MTA editor, tak musíte počítať so stovkami až tisíckami objektov.

Link to comment
Share on other sites

jako nápad je to zajímavej ale taky to vidím nereálné,pokud promažete nějaké části zemí nebo toho více smažete tak se může stát že to bude padat už jsme se stím taky setkal,pak samozřejmě lagy pokud nebudete mít kvalitní hosting,streamer doporučuji pluginovej.

Link to comment
Share on other sites

reálný to je už jen z toho důvodů že zmizí dost věcí takže bude místo na nové a vps máme dobré odhadovaná práce je měsíc ale musí se na tom každý den pracovat

de to to že postatě zmizí vesnice a udělá se celé velké město když do toho nikdo nejde tak pohoda nenutím vás pak sem dám video že se to dokázalo

Link to comment
Share on other sites

jako postavit to můžete ale rozjet pochybuju jestli smažete vesnice tak musí mě dát snad každej pawner za pravdu že to bude padat,a u koho máte VPS jestli se mohu zeptat ?

Link to comment
Share on other sites

Jak myslíš to padat? Pokud textury, tak ty jsou fixnuty. Ony se defakto ani mazat vesnice nebudou. Pouze od LV od Area 51 po SF se to vymaže, a pokusíme se pospojovat textury... Gerechty, pokud by se ti chtělo nám pomoct, tak budeme rádi. Uděláme tomu test, a když to nepůjde, tak se jen umaže ta část mezi SF a LV aby se tam nedalo jet autem, a udělalo by se město na moři. Zaždopádně to chce něco vlastního...Možná by nebylo špatné udělat patro nad původním městem, a přes gangzony udělat mapu pro něj + zablokovat vstup do původní mapy...nemobly by se ale používat lodě noo...

 

No to už samozrejme podľa toho, ako kvalitne to chcete mať urobené. Na fušerskú mapu naozaj veľa objektov netreba. Ak však naozaj rátate s takými zásahmi do mapy, čo teda predpokladám budete kombinovať SAMP Editor a MTA editor, tak musíte počítať so stovkami až tisíckami objektov.

 

Jak jsi řekl, kombinovat. Jelikož v mapeditoru nejsou objekty ze sa-mp, a tudíž se to bude dodělávat ingame :)

Link to comment
Share on other sites

PRominte ale ne mám rozjetejch pár svejch projektů a rád bych je ještě tento rok dokončil :d ale díky za nabídku,a když smažete zem a bude díra dolu tak při smazání takto 100 objektů tak to bude padat počítej stím

Link to comment
Share on other sites

hele na keci ze padat a td jak se rika kdyz se to nezkusi tak nevis jen sem vam to nabydnul nepsal sem podte semnou delat mapu a ktomu prez MTA editor to je na ho*no tam se max pridaji veci ale nemazo takze celko ve MTA editor do toho cpat ani nebudu

Link to comment
Share on other sites

Ak pouzije ten pluginovy streamer uz neviem od koho tak to mate v suchu, ale stavim 5-ku na to ze to nespravite :d realne to je ale neverim ze by ste mali na to nervy...

Link to comment
Share on other sites

Neviem prečo by to mala byť hluposť, furt by bol ten streamerovy 15x rychlejši ako akykolvek cez pawno :d A veď veľkým objektom môžeš nastaviť veľký draw distance a malým maly dd

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 1 year later...

Pozor ono to jde uz jsem na tom pracoval driv ale zabralo to ranec casu. Je mozne spojit objekty prostor mezi sf lv a bayside ale je to moc objektu snadnejsi je spojit ls a lv a sf smazat cesty ale cele mesto sem mazat nezkousel jedina moznost dat to do zony aby tam hraci nemohli samozdrejme spojit ls a lv tak aby to vypadalo jako ze to na sebe navazuje neni zadna prdel.

Link to comment
Share on other sites

Ten pluginový streamer by bola hlúposť použiť. Najlepší by bol vlastný zónový + s algoritmom na zobrazenie iba veľkých objektov (v diaľke) a ak je blízko tak malých (detaily - odpadky a tak) ale je to hlúposť

 

 

Pro mapy kde je hodne objektu (vice nez 1000) na jednom miste se uz tezko vymejsli optimalizace. Ale tedka jsem behem 30ti minut napsal streamer, kterej zobrazuje objekty, ktery jsou vzdycky nejbliz k hraci (nastavis streameru maximalni pocet zobrazenych objektu) a on ti zobrazi ty co jsou nejbliz. Takze si nemusis lamat hlavu jak nastavovat dohlednost, ta vznikne sama podle hustoty postavenych objektu v kazdem bodu mapy.

Taky jsem to optimalizoval ze update streameru je podle vzdalenosti od posledniho bodu update. nevim proc vetsina streameru to updatuje vzdy v casovych intervalech. A navic namisto BubbleSortu pro razeni jsem pouzil lepsi radici system, ktery je lepsi pouzit pri velkych polich.

Asi jedina nevyhoda toho streameru je, ze nema konstantni id objektu, protoze ty se radi vzdy pro zobrazeni a uz se to nevraci zpet.

 

On je to spis takovy napad napsany fakt na kolene. ale dam to sem, treba to nekomu pomuze a dovede to k dokonalosti:

 

 

#include <a_samp>

#define MAX_STREAMED_OBJECT			5000
#define MAX_SO_SHOW_OBJECT          900
#define MAX_SO_DISTANCE_UPDATE		200

enum obj_info
{
	obj_model,
	Float:obj_x,
	Float:obj_y,
	Float:obj_z,
	Float:obj_rx,
	Float:obj_ry,
	Float:obj_rz,
	Float:obj_dist,
	obj_show[MAX_PLAYERS]
}
new OS[MAX_STREAMED_OBJECT][obj_info];

new Float:LastUpdate[MAX_PLAYERS][3];
forward UpdatePlayerObjectStreamer(playerid);
public UpdatePlayerObjectStreamer(playerid)
{
	if(GetPlayerDistanceFromPoint(playerid,LastUpdate[playerid][0],LastUpdate[playerid][1],LastUpdate[playerid][2]) > MAX_SO_DISTANCE_UPDATE)//pokud je hrac daleko od mista posledniho updatu
	{
		GetPlayerPos(playerid,LastUpdate[playerid][0],LastUpdate[playerid][1],LastUpdate[playerid][2]);//nastavime pozici posledniho updatu
		for(new i;i<sizeof(OS);i++)
		{
		    if(OS[i][obj_model] > 0) OS[i][obj_dist] = GetPlayerDistanceFromPoint(playerid,OS[i][obj_x],OS[i][obj_y],OS[i][obj_z]);//zjistime si vzdalenosti od vsech objektu
			else OS[i][obj_dist] = 2147000000;//pokud objekt neni vytvorem nastavime mu mega vzdalenost, aby nam nezabiral slot pri zobrazeni
		}
		Seradit(OS,true,obj_dist);//seradime objecty od toho co je nejbliz po ten co je nejdal (pro velka pole je lepsi pouzit tuto radici metodu nez BubbleSort)
		for(new i=sizeof(OS)-1;i>=0;i--)//robrazime odzadu (aby jsme mohli nejprve smazat zobrazene objekty a uvolnit tim sloty pro nove zobrazene)
		{
			if(i >= MAX_SO_SHOW_OBJECT)//pokud je objekt dal nez jsme nastavili
			{
			    //tak ho smazeme pokud je zobrazen
			    if(OS[i][obj_show][playerid] > 0)
			    {
					DestroyPlayerObject(playerid,OS[i][obj_show][playerid]);
				    OS[i][obj_show][playerid] = 0;
			    }
			}else{
			    //objekt je blizko nas tak ho zobrazime pokud uz neni zobrazen
				if(OS[i][obj_show][playerid] == 0)
				{
                    OS[i][obj_show][playerid] = CreatePlayerObject(playerid,OS[i][obj_model],OS[i][obj_x],OS[i][obj_y],OS[i][obj_z],OS[i][obj_rx],OS[i][obj_ry],OS[i][obj_rz],9000);
				}
			}
		}
	}
	return 1;
}

public OnPlayerDisconnect(playerid)
{
    LastUpdate[playerid][2] = 2147000000;
    for(new i;i<sizeof(OS);i++) OS[i][obj_show][playerid] = 0;//musime vynulovat aby nebyl zadny udaj o zobreni objektu pro nove pripojeneho hrace
    return 1;
}

stock CreateStreamedObject(model,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:dist = 9000.0)
{
	for(new i;i<sizeof(OS);i++)
	{
		if(OS[i][obj_model] == 0)
		{
		    OS[i][obj_model] = model;
		    OS[i][obj_x] = x;
		    OS[i][obj_y] = y;
		    OS[i][obj_z] = z;
		    OS[i][obj_rx] = rx;
		    OS[i][obj_ry] = ry;
		    OS[i][obj_rz] = rz;
			return i;
		}
	}
	return INVALID_OBJECT_ID;
}

stock NajdiPrvek(array[][],bool:nerov = true,index = 0,start = 0,len = sizeof(array))
{
	new j = start;
	if(nerov == true)//cheme seradit od nejmensiho po nejvetsi
	{
		for(new i=start;i<len;i++)
		{
			if(array[j][index] > array[i][index]) j = i;//nasli jsme vetsi prvek nez predesly tak si ho zapamatujeme;
		}
	}else{//chceme seradit od nejvetsiho po nejmensi
		for(new i=start;i<len;i++)
		{
			if(array[j][index] < array[i][index]) j = i;//nasli jsme mensi prvek nez ten predesly tak si ho zapamatujeme
		}
	}
	return j;//odesleme nalezeny prvek
}

stock Seradit(array[][],bool:nerov = true,index = 0,start = 0,len = sizeof(array),len2 = sizeof(array[]))
{
	for(new i=start;i<len-1;i++)
	{
		new p = NajdiPrvek(array,nerov,index,i,len);//najdeme prvek, za tim prvkem ktery uz je serazeny
		if(i != p)//pokud to neni ten samy prvek (nenasel se vetsi/mensi prvek)
		{
		    for(new t;t<len2;t++)//prohodime udaje na indexech poli
		    {
				new temp = array[p][t];
				array[p][t] = array[i][t];
				array[i][t] = temp;
			}
		}
	}
	return 1;
}

 

 

Link to comment
Share on other sites

Každopádně dnes už je rok 2014 a každým dnem je něco lepšího na netu.

Knihovna OpenSSL taky byla a vsichni si ji stahli a pouzivali. Pak se ukazalo ze je v ni dira. Neni nad vlastni script, ktery mas pod kontrolou...

Link to comment
Share on other sites

To je máš pravdu to ti neberu ale já sem tím také odkazoval na to že toto téma je tak staré že to asi nikoho zajímat nebude. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...