Szerző Téma: Darabolás...  (Megtekintve 782 alkalommal)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Darabolás...
« Dátum: 2013. Augusztus 09. - 11:55:33 »
0 Show voters
Sziasztok!
Egy olyan területen kéne segítség, amelyen még nem túl sokat munkálkodtam. Ez a téma a karakterláncok darabolása. Ámde nem hétköznapi módon - hétköznapi nyelven -, hogy ez egy szám, ez meg egy karakterlánc. Nehéz volt címet adni a témának, de azért remélem megfelel. És most megpróbálom elmagyarázni, mire is lenne szükségem.
Van egy mondat, amelyet a játékos megad egy paranccsal, vagy egy dialoggal, vagy akármivel. Ez a mondat legyen a következõ: Ez egy példa mondat a kérésem elmagyarázásához. Ezt a mondatot kéne feldarabolni, és több sorba tenni, mondjuk minden 17. karakter után. Ha jól számoltam, akkor ez a következõ képen nézne ki:
 
Ez egy példa mond
at a kérésem elma
gyarázásához.

 
Ezt úgy érhetjük el, hogy minden 17. karakter után berakunk egy szimbólumot, az új sor szimbólumát. Ez pawn nyelven nagyjából így nézne ki:
 
// pl. GameTextnél
Ez egy példa mond~n~at a kérésem elma~n~gyarázásához.
// pl. MaterialTextnél
Ez egy példa mond\\nat a kérésem elma\\ngyarázásához.

 
Ami ugye lefuttatva a szerveren így nézne ki, ahogyan az elején is leírtam:
 
Ez egy példa mond
at a kérésem elma
gyarázásához.

 
Ám ez így nem járja, hogy a szavak kellõs közepére új sor kerül. Csak oda kéne szimbólumot rakni, ahol szóköz van, és ahol az a bizonyos szóköz a soron következõ 17 karakteren még belül van, de a legközelebb a 17. karakterhez.
Nem tudom, hogy még követhetõ vagyok e. ::|
És akkor máris szépen nézne ki az egész.
 
// pl. GameTextnél
Ez egy példa~n~mondat a kérésem~n~elmagyarázásához.
// pl. MaterialTextnél
Ez egy példa\\nmondat a kérésem\\nelmagyarázásához.

 
Ami lefuttatva a szerveren így nézne ki, immáron szépen, szavanként:
 
Ez egy példa 
mondat a kérésem
elmagyarázásához.

 
És ezzel végeztünk is, ezt az eredményt kéne kapnunk. Nos ezt kéne megoldani - valahogy... Az is lehet, hogy erre már rég van szkript, és egyesen körében ez alap dolog, de az is lehet, hogy ez valami újabb dolog, amire eddig nem sok embernek volt szüksége, és még nincs rá konkrét, megbízható módszer. Nem tudom. Nem vagyok jártas még ezen a téren. Azért remélem, hogy a segítségemre lesztek - ha eléggé érhetõen elmagyaráztam nektek, mit is szeretnék megvalósítani. Kicsit szkript kérések is a dolog, de azért nem teljesen.
Várom a válaszokat! Üdvözlettel: Dfoglalo

Darabolás...
« Válasz #1 Dátum: 2013. Augusztus 09. - 20:51:57 »
0 Show voters
Elég nehéz dolgot szeretnél létrehozni, és mint látom textdraw-ban próbálod ami köztudottan szerver összeomlást okoz ha páratlanul szerepel benne a hullám jel (~).
Így nem csak a sortöréssel kell foglalkozni hanem azzal is hogy a bevitt karakterlánc nem tartalmazhat ilyen jelet ellenkezõ esetben módosítani kell azt is, vagy javítani.
Közben ezt találtam:
http://sampforum.hu/index.php?topic=38722.0
De az elv a következõ lenne:
Meg kell határoznod mennyi legyen a maximális karakterszám majd onnantól visszafelé meg kell keresni a szóközt majd kettévágni az eredeti karakterláncot ott és hozzáírni az elsõ félhez most épp textdrawban a ~n~ jeleket. Majd ismét folytatni a darabolást a másik féllel.
Persze itt is annyi a gond ha valaki nem használ szóközt és beírja például ezt: dsadlkajhnmdsxlandhzolsauidzbvlhflsduzfbahudalkjhdxna876tzdsadhi984dlkjlasd98743589u7nc94834
Persze itt meg lehetne azt is tenni hogy a maximálisan meghatározott karakterláncnál darabolná.
« Utoljára szerkesztve: 2013. Augusztus 09. - 20:58:01 írta ɐʞzssǝlosz »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Darabolás...
« Válasz #2 Dátum: 2013. Augusztus 10. - 14:28:48 »
0 Show voters
Ebbõl kiindulhatok, de amíg nem vagyok kész, a téma nyitva marad, hátha még valaki tud segíteni. Amint kész vagyok, és mûködik a dolog, zárok.

Darabolás...
« Válasz #3 Dátum: 2013. Augusztus 10. - 23:09:26 »
0 Show voters
Nálam gyakorlatilag HA boxba rakom a TD-t, akkor automatikusan csak ott töri a sort ahol szóköz van, viszont, ha nincs szóköz, akkor nem választja el.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Darabolás...
« Válasz #4 Dátum: 2013. Augusztus 11. - 12:52:27 »
0 Show voters
Az sem rossz ötlet. Azonban mellõzném a ~n~-t az esetleges szerver crash elkerülése végett. Csinálnék pl. 4-5 textdrawot, amelybe berakosgatja a sorokat, az elején leírt módon, csak nem ~n~ jel berakásával, hanem a karakterlánc maradékát a következõ TD-be rakásával. Lehet, hogy így oldom meg. Ha megoldottam, csak akkor zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal