MTA -> SA-MP Map konvertáló Pluginos változat itt:
http://sampforum.hu/index.php?topic=51903.0Nem igazán találtam még olyan map konvertálót MTA-ról SA-MP-ra, ami komplett az egész map tartalmát lekonvertáná SA-MP limitek között. Nagyon sokszor szükségem volt ilyenre, ezért elkészítettem.
Következõ dolgokat konvertálja: - Objectek
- Remove world object
- Jármûvek (Rendszám, Interior, VirtualWorld, Tuningok, Szín!)
- Marker-ek (csak 3 típus)
- Pickupok
Használata:Elõször is, szükséged van hozzá az
sscanf 2.8.1-re, ha az nincs meg, töltsd le, az nélkül bele se kezdj!
Kibontod a .rar tartalmát egy az egyben a szervermappába, lefordítod a \"
converter.pwn\" fájlt. Scriptfiles mappában a \"
source.map\" nevû fájlba belemásolod az MTA map fájlt és betöltöd a scriptet. A script az indulásnál azonnal lekonvertálja a mapot és az \"
input.txt\"-be beleírja a konvertált dolgokat. A konvertálás NEM sorrend szerûen megy, hanem egy az egybe, aholgy olvassa a .map fájlt, írja a .txt-be a dolgokat. Emiatt majd késõbb lehet átírom C++ban, sokkal könnyebb ott ezt megoldani, mind pawn-ban.
Speciális beállítások:Ha ezek közül valamelyiket ki/be szeretnéd kapcsolni, akkor csak simán definál a scriptben, vagy rakd a kommenttárba.
Ugyebár MTA-ban az 1.1-es verziótól RRGGBB formában használandóak a kocsi színek, eddig egyetlen egy konvertálót nem láttam, ami ezeket lekonvertálná SA-MP által támogatott kocsi szín ID-kre. Hálistennek volt rá MTA-ban egy funkció, ami RRGGBB-bõl visszaadja a legközelebbi szín ID-t tehát ezt nem volt probléma megoldani. Ezenkívül a script felismeri, ha régebbi mapot (MTA 1.0.5 és alatta lévõ verziók) konvertálsz, ott automatikusan a megadott színeket használja.
ONLY_CREATE_VEHICLE
A jármûveket csak simán CreateVehicle() formában konvertálja le, minden extra nélkül.
Ha ez nincs definálva, akkor konvertálja a jármû rendszámát, interiorját, virtuális világát és a rajta lévõ tuningokat is.
CONVERT_NUMBER_PLATE
Konvertálja-e a jármûvek rendszám tábláját. Sok szerveren van saját rendszám tábla, tehát ezt ki lehet kapcsolni, mivel sok embernek nem elõnyös.
CONVERT_TO_DYNAMIC_OBJECT
Streamer plugin által támogatott object formára-e konvertálja az objecteket. Ha a virtuális világ, vagy az interiorja az objectnek nem nulla, akkor automatikusan azt is hozzáadja, mint optionális paramétert.
HIDE_WHEN_ALPHA_NOT_255
Ha MTA-ban az alfa nem 255, akkor el-e rejtse az objectet a játékból. SA-MP nem támogatja az alfa módosítását, tehát ennek más hasznát nem lehet venni, de ilyenkor nagyon hasznos. Ha pl. olyan objectet raksz le, amit SA-MP-ban nem szeretnél, hogy látható legyen, akkor simán átrakod az alfát 254-re és SA-MP-ben már ott sem lesz, szerkesztés közben pedig látod.
CONVERT_TO_03C
Egészítse-e ki az ID-ket 0.3c-s SAMP-hoz az MTA Map editor miatt, mivel ide nem lehet új ID-ket berakni, csak meglévõ objecteket lecserélni.
CREATE_CONVERTED_OBJECTS
Létre-e hozza a konvertált objecteket.
RESPAWN_TME
Jármûvek respawn ideje.
Frissítések: - 0.3 - MTA Race map konvertálása - kocsikat még innen nem visiz, de jövõbe aztis megoldom, plusz XML-el kéne az egészet
- 0.2 - Két új beállítás hozzáadva: CONVERT_TO_03C; CREATE_CONVERTED_OBJECTS
- 0.1 - Elsõ kiadás
Letöltés:http://www.solidfiles.com/d/10e71e6aee/MapConverter_03.rarSok mindent nem teszteltem benne, hibák elõfordulhatnak. Hibajelentéseket várom és azonnal javítom õket.
Jól hangzik :D Holnap majd biztos ki is próbálom! Mindenesetre egy + már van a topikon :D
Majd várom a visszajelzéseket :D
Holnap belerakom a 0.3c-s objectek támogatását is.
Teszteltem egy 30k objectes MTA mappal, simán lekonvertálta 816ms alatt.
SetObjectMaterial(CreateObject(...), ...);
Ez tényleg mûködik így? A kóddal nincs probléma, de nálam valamiért warningot írt a játék alatt, mikor egy ilyen sort futattam le.
Most meg nem. Esküdni mernék mikor lefutattam egy ilyet, akkor a kliens warningot írt azzal kapcsolatosan hogy az object nem létezik.
Kéne neki mûködnie, mert próbáltam és ment.
Azt ami a scriptben van, azt konkrétan nempróbáltam.
E: Hát az érdekes, de nem ezmiatt volt az tuti. Mert elõször a CreateObject() fog lefutni, aztán csak a material váltás.
Már kerestem 2 hete ilyen szkriptet nem találtam egy jót.. ez nagyon fasza.. :rolleyes: szép munka kurta! :D bejön.
Tõbb mint 3 honapja keresek ijet kõsz grat itt egy + :D
egy kis bump
nem történik semmi mikor lefuttatom a scriptet, üres az output.txt
Küld légyszives el az elsõ ~10 sort a map fájlodból. Ránézek.
E: Én most próbáltam le, probléma nélkül megy. Újrafordítottad a .pwn-et magadnak?
újrafordítottam és le is fut a script de üres marad a txt
Küld légyszives el az elsõ ~10 sort a map fájlodból.[/quote]
<map edf:definitions=\"editor_main\">
<removeWorldObject id=\"removeWorldObject (des_gunbldg) (1)\" radius=\"26.983171463013\" interior=\"0\" model=\"16774\" lodModel=\"0\" posX=\"800.32813\" posY=\"1672.125\" posZ=\"5.875\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_westrn9_01) (1)\" radius=\"29.656856536865\" interior=\"0\" model=\"16054\" lodModel=\"0\" posX=\"-427.77344\" posY=\"2238.25781\" posZ=\"44.79688\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_westrn7_01) (1)\" radius=\"24.893754959106\" interior=\"0\" model=\"16053\" lodModel=\"0\" posX=\"-400.44531\" posY=\"2242.23438\" posZ=\"45.15625\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_westsaloon_01) (1)\" radius=\"15.542363166809\" interior=\"0\" model=\"16051\" lodModel=\"0\" posX=\"-386.42969\" posY=\"2208.40625\" posZ=\"44.5625\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (ghostgardoor) (1)\" radius=\"4.4378871917725\" interior=\"0\" model=\"16637\" lodModel=\"0\" posX=\"-389.82242\" posY=\"2228.56738\" posZ=\"42.55853\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_westrn7_02) (1)\" radius=\"23.994232177734\" interior=\"0\" model=\"16689\" lodModel=\"0\" posX=\"-367.82812\" posY=\"2248.875\" posZ=\"44.40625\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_westsaloon_02) (1)\" radius=\"17.829504013062\" interior=\"0\" model=\"16690\" lodModel=\"0\" posX=\"-358.9375\" posY=\"2217.69531\" posZ=\"46\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (desn2_graves) (1)\" radius=\"10.197458267212\" interior=\"0\" model=\"16410\" lodModel=\"0\" posX=\"-327.49219\" posY=\"2218.48438\" posZ=\"43.32031\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc09) (1)\" radius=\"3.9668898582458\" interior=\"0\" model=\"16635\" lodModel=\"0\" posX=\"-339.22116\" posY=\"2219.85962\" posZ=\"42.1671\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc04) (1)\" radius=\"4.8110446929932\" interior=\"0\" model=\"16630\" lodModel=\"0\" posX=\"-340.29575\" posY=\"2223.33496\" posZ=\"42.14207\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc10) (1)\" radius=\"4.6475391387939\" interior=\"0\" model=\"16636\" lodModel=\"0\" posX=\"-340.88397\" posY=\"2227.93433\" posZ=\"42.04721\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc05) (1)\" radius=\"4.8418850898743\" interior=\"0\" model=\"16631\" lodModel=\"0\" posX=\"-336.63766\" posY=\"2228.77246\" posZ=\"42.02363\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc06) (1)\" radius=\"6.0747561454773\" interior=\"0\" model=\"16632\" lodModel=\"0\" posX=\"-331.79559\" posY=\"2231.30933\" posZ=\"41.76121\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc07) (1)\" radius=\"4.885190486908\" interior=\"0\" model=\"16633\" lodModel=\"0\" posX=\"-325.65656\" posY=\"2213.90015\" posZ=\"43.57295\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc01) (1)\" radius=\"4.5474872589111\" interior=\"0\" model=\"16627\" lodModel=\"0\" posX=\"-324.19931\" posY=\"2214.36377\" posZ=\"44.09143\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc03) (1)\" radius=\"4.2211418151855\" interior=\"0\" model=\"16629\" lodModel=\"0\" posX=\"-338.3569\" posY=\"2217.2644\" posZ=\"42.4042\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc08) (1)\" radius=\"4.2011375427246\" interior=\"0\" model=\"16634\" lodModel=\"0\" posX=\"-336.45914\" posY=\"2211.927\" posZ=\"41.99541\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (des_ghotfenc02) (1)\" radius=\"5.2221465110779\" interior=\"0\" model=\"16628\" lodModel=\"0\" posX=\"-332.71317\" posY=\"2210.96069\" posZ=\"42.15496\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (torino_mic) (1)\" radius=\"4.2733950614929\" interior=\"0\" model=\"3350\" lodModel=\"0\" posX=\"-429.05469\" posY=\"2237.83594\" posZ=\"41.21094\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (cxreffencesld) (1)\" radius=\"8.2899265289307\" interior=\"0\" model=\"3276\" lodModel=\"0\" posX=\"-450.4205\" posY=\"2238.60742\" posZ=\"42.71864\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (cxreffencesld) (2)\" radius=\"8.2899265289307\" interior=\"0\" model=\"3276\" lodModel=\"0\" posX=\"-454.62561\" posY=\"2249.04468\" posZ=\"42.50506\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (cxreffencesld) (3)\" radius=\"8.2899265289307\" interior=\"0\" model=\"3276\" lodModel=\"0\" posX=\"-454.21799\" posY=\"2259.05908\" posZ=\"45.72713\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
<removeWorldObject id=\"removeWorldObject (cxreffencesld) (4)\" radius=\"8.2899265289307\" interior=\"0\" model=\"3276\" lodModel=\"0\" posX=\"-456.43219\" posY=\"2268.854\" posZ=\"48.64759\" rotX=\"0\" rotY=\"0\" rotZ=\"0\"></removeWorldObject>
nem csak removeworld van benne csak ez volt legelöl
Nem igazán értem ezt, én most futtattam le és tökéletesen ment.
scriptfiles/
source.map nevû fájlba tetted a map fájlodat?
Eredmény:
RemoveBuildingForPlayer(playerid, 16774, 800.328125, 1672.125000, 5.875000, 26.983171);
RemoveBuildingForPlayer(playerid, 16054, -427.773437, 2238.257812, 44.796878, 29.656856);
RemoveBuildingForPlayer(playerid, 16053, -400.445312, 2242.234375, 45.156250, 24.893754);
RemoveBuildingForPlayer(playerid, 16051, -386.429687, 2208.406250, 44.562500, 15.542363);
RemoveBuildingForPlayer(playerid, 16637, -389.822418, 2228.567382, 42.558528, 4.437887);
RemoveBuildingForPlayer(playerid, 16689, -367.828125, 2248.875000, 44.406250, 23.994232);
RemoveBuildingForPlayer(playerid, 16690, -358.937500, 2217.695312, 46.000000, 17.829504);
RemoveBuildingForPlayer(playerid, 16410, -327.492187, 2218.484375, 43.320308, 10.197458);
RemoveBuildingForPlayer(playerid, 16635, -339.221160, 2219.859619, 42.167098, 3.966889);
RemoveBuildingForPlayer(playerid, 16630, -340.295745, 2223.334960, 42.142070, 4.811044);
RemoveBuildingForPlayer(playerid, 16636, -340.883972, 2227.934326, 42.047210, 4.647539);
RemoveBuildingForPlayer(playerid, 16631, -336.637664, 2228.772460, 42.023628, 4.841885);
RemoveBuildingForPlayer(playerid, 16632, -331.795593, 2231.309326, 41.761211, 6.074756);
RemoveBuildingForPlayer(playerid, 16633, -325.656555, 2213.900146, 43.572948, 4.885190);
RemoveBuildingForPlayer(playerid, 16627, -324.199310, 2214.363769, 44.091430, 4.547487);
RemoveBuildingForPlayer(playerid, 16629, -338.356903, 2217.264404, 42.404201, 4.221141);
RemoveBuildingForPlayer(playerid, 16634, -336.459136, 2211.927001, 41.995410, 4.201137);
RemoveBuildingForPlayer(playerid, 16628, -332.713165, 2210.960693, 42.154960, 5.222146);
RemoveBuildingForPlayer(playerid, 3350, -429.054687, 2237.835937, 41.210941, 4.273395);
RemoveBuildingForPlayer(playerid, 3276, -450.420501, 2238.607421, 42.718639, 8.289926);
RemoveBuildingForPlayer(playerid, 3276, -454.625610, 2249.044677, 42.505058, 8.289926);
RemoveBuildingForPlayer(playerid, 3276, -454.217987, 2259.059082, 45.727130, 8.289926);
RemoveBuildingForPlayer(playerid, 3276, -456.432189, 2268.854003, 48.647590, 8.289926);
jó kis cucc felhasználom työ
Tervezem a scriptet átírni pluginba, szeretném tudni ki venné hasznát, ha meg is csinálnám.
Miért is lenne jobb pluginba?
- Összes verziójú MTA map (MTA DM, Race, még jackob object packja is) konvertálása sokkal könyebb és gyorsabb módon - XML-el olvasná a fájlokat így nem lenne vele annyi gond
- Átkonvertált dolgokat csoportosan írná a fájlba, nem egy az egyben, ahogy kiolvassa. Pl. egymás után lennének a kocsik, objectek és nem össze vissza ahogy az MTA mapban
- Összes mapodat bepakolnád a scriptfilesen belül egy maps nevû mappába, onnan mind az összeset ugyanazzal a névvel egy \"maps_out\" nevû mappába beleírná PAWN formátumban. Kapásból nem kéne a source.map-ba másolni a sok konvertálni való mapot.
- Kezdetnek nem tervezek linux verizót mert ott kicsit más a fájlkezelés és nem értek hozzá
Szóval hasznát venné ennek valaki, vagy nem?
jól jönne
Idézetet írta: kurta999 date=1395326144\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43485\" data-ipsquote-contentclass=\"forums_TopicTervezem a scriptet átírni pluginba, szeretném tudni ki venné hasznát, ha meg is csinálnám.
Miért is lenne jobb pluginba?
- Összes verziójú MTA map (MTA DM, Race, még jackob object packja is) konvertálása sokkal könyebb és gyorsabb módon - XML-el olvasná a fájlokat így nem lenne vele annyi gond
- Átkonvertált dolgokat csoportosan írná a fájlba, nem egy az egyben, ahogy kiolvassa. Pl. egymás után lennének a kocsik, objectek és nem össze vissza ahogy az MTA mapban
- Összes mapodat bepakolnád a scriptfilesen belül egy maps nevû mappába, onnan mind az összeset ugyanazzal a névvel egy \"maps_out\" nevû mappába beleírná PAWN formátumban. Kapásból nem kéne a source.map-ba másolni a sok konvertálni való mapot.
- Kezdetnek nem tervezek linux verizót mert ott kicsit más a fájlkezelés és nem értek hozzá
Szóval hasznát venné ennek valaki, vagy nem?
Én hasznát venném neki, hasznos lenne. :)
Na már valamennyire nekikezdtem, alap funckió megvan, XML loader is megvan csak még tanulgatnom kell pontosan hogy mûködik ez az XML mert életembe nem dolgoztam ilyennek és nem akarok fos stringkeresõs megoldásokat használni, ha van 100x gyorsabb és jobb, ha megtanulom az XML-et:D
Többi dologról majd írok ebbe a postba, ha minden jólmegy egy hét múlva be kéne hogy fejezzem. (Ha rákattanok még hétvégén is, de ennek nemhiszem hogy fentáll a veszélye)
soksikert várjuk
Láttam, hogy linux pluginra jelenleg nem tudod megvalósítani ami semmi probléma. De egy kérdésem van.. ezeket maximum windows szervereken lehetséges majd használni? De jól hangzik.. kíváncsi leszek milyen lesz az elsõ pluginod. :) Sok sikert hozzá.