Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-05-29, 15:44


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Cze??. Mam dla Was drobny skrypt. Wklejam go jako kod bo nie ma sensu robi? go jako plik :)


Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.


Kod pokazuje nam ilo?? graczy b?d? pojazd?w na serwerze. Przydaje si? to do robienia GUI. przyk?adowe u?ycie :


addCommandHandler "pobierz", function()
ile iloscElementow "player" )
outputChatBox ileroot )
end)



Poka?e nam ilo?c graczy online. Je?li zamienimy "player" na "vehicle" poka?e nam ilo?? pojazd?w.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Ostatnio zmieniony przez Iggy 2015-04-23, 19:47, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 12 piw(a):
STOPseba, .RiV, xJakob, PenkY, DsJ3, adaskOO, Kacperiusz, _jvneczek, .ProfesoR, !hejcob, rxkrxd, Jellonek
Wysłany: 2014-05-29, 16:39


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

P?tla w funkcji iloscElementow jest zb?dna, jest prosty, a zarazem banalny spos?b, ?eby otrzyma? liczb? ca?kowit? element?w np. z typem player.

new liczbaGraczy=#getElementsByType("player")

Funkcja getElementsByType zwraca tabele, wi?c mo?emy u?y? # (hasha), kt?ry spowoduje zwr?cenie wszystkich indeks?w.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-29, 16:51


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Jednak dla mnie ten spos?b jest skuteczniejszy.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-29, 17:25


WanPibrator







Wiek: 36
Na forum: 4391 dni
Posty: 2

Piwa: 3

Respekt: 50

Szybki test:

Stworzy?em 8440 pojazd?w, po 40 ka?dego modelu poni?szym skryptem:
Kod:

vehicleIDS = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585,
405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460,
417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431,
438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524,
423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534,
567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500,
444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458,
606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 }
x = 0
for k,v in pairs(vehicleIDS) do
x = x+2
for i=1,20 do
tmp = createVehicle(v, x, i, 1000)
setElementFrozen(tmp, true)
end
end


Nast?pnie przeliczy?em ilo?? pojazd?w wykonuj?c kilkakrotnie poni?sze skrypty:
1. wg PanaMaszyny
Kod:

local t1 = getTickCount()
i = 0
for k,v in pairs(getElementsByType("vehicle")) do
i = i + 1
end
outputConsole(i)
local t2 = getTickCount()
outputConsole(t2-t1)


2. wg Tey'a
Kod:

local t1 = getTickCount()
outputConsole(#getElementsByType("vehicle"))
local t2 = getTickCount()
outputConsole(t2-t1)


Czas dzia?ania 1. skryptu (w ms):
Kod:

1. 2
2. 2
3. 2
4. 2
5. 1.9999999997672
6. 3
7. 3
8. 3
9. 2
10. 1.9999999997672


Czas dzia?ania 2. skryptu (r?wnie? w ms):
Kod:

1. 2
2. 1
3. 1
4. 1
5. 1
6. 1
7. 1
8. 1
9. 1
10. 1


Jak wida? jest r??nica, przy przeliczaniu po kolei element?w czas wykonania dobija 3ms.

edit: wykonywane na lokalnym serwerze, Windows 8 64-bit, CPU to Intel Core i5-3470 3.2GHz

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-29, 17:32


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

zmie? Sobie p?tle, powinna dor?wna? jego kodowi :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-29, 23:07


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

"PanMaszyna" napisał/a:

zmie? Sobie p?tle, powinna dor?wna? jego kodowi :)

Tutaj rodzaj p?tli nie zmieni czasu wykonania kodu. Zauwa?, ?e kolega doda? 8440 pojazd?w, w zwi?zku z czym p?tla iterowa?a si? a? 8440 razy! Zwr?cenie tej liczby moim sposobem jest szybsze, bo jak wcze?niej wspomnia?em getElementsByType zwraca tabele i za pomoc? jednego znaku specjalnego mo?na otrzyma? liczb? wszystkich indeks?w.

Zamiast sobie u?atwia? prac?, to Ty j? jeszcze bardziej utrudniasz... :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-29, 23:22


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Zawsze u?ywa?em p?tli, z powodu wygodnego u?ycia jej. Nie zwraca?em uwagi na czas wykonywania, bo kody "d?u?sze" nie integruj? si? z p?tla. Tak?e dla mnie wygodna jest p?tla :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-30, 06:30


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Dzi?ki, b?dziemy wiedzie? aby omija? Tw?j kod z daleka.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-30, 08:48


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

To, ?e ty masz jakie? tam Swoje lepsze sposoby, nie musisz krytykowa? innych i zachowywa? si? jak prostak :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-31, 07:49


Wielebny







Wiek: 41
Na forum: 5499 dni
Posty: 257
Nick w MP: Wielebny

Piwa: 1690

Respekt: 180
Respekt: 180Respekt: 180

Nigdy nie da si? nauczy? programowania 'do ko?ca'. Ja te? si? ci?gle ucze i nie mam najmniejszego problemu z zauwa?eniem ?e czego? nie wiem, ?e co? mo?na napisa? lepiej. Nie mam ?adnego problemu z przyznaniem w takiej sytuacji komu? racji i wyci?gni?cia z tego wniosk?w dla w?asnej korzy?ci.

Napisa?e? to co napisa?e?, znalaz?y si? osoby, kt?re sp?dzi?y nad tym wi?cej ni? Ty aby pokaza? Ci, ?e zrobi?e? to w nieodpowiedni spos?b. Przeczytaj to co sam tu odpowiada?e? w tym w?tku i zastan?w si?, kto tu si? zachowuje prostacko.

Ja powiem wprost:
Tw?j kod to beznadziejny gniot, beznadziejna konstrukcja, stworzona chyba tylko dla szpanu na gtao. Pisz?c takie bzdury tylko szkodzisz pocz?tkuj?cym kt?rzy szukaj? tu porad. Nie do??, ?e Tw?j kod jest TYLKO nak?adk? ograniczaj?c? funkcjonalno?? metody getElementsByType, to na dodatek robi to w maksymalnie nieoptymalny spos?b, marnuj?c cykle na widzimisi? autora.

Takie gnioty powinny by? usuwane z tego forum aby nie wprowadza? nikogo w b??d.

Mnie te? mo?esz nazywa? prostakiem, ale wyci?gnij z tego wnioski dla w?asnych korzy?ci.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-31, 11:21


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Nie m?wi?, ?e nie zachowa?em si? jak prostak. Ale jednak do zach?ty, mo?na napisa? chocia? jeden komplement. Dlaczego ? Po co pisa? skomplikowanymi dzia?aniami skoro mo?na upro?ci?? Wszyscy my?l?, ?e jak umiej? ?wietnie LUA, odrazu trzeba wykorzystywa? trudniejsze sposoby, ale po co ?

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-01, 11:58


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

PanMaszyna, wg Ciebie to uproszczenie? Napisa?e? kod maj?cy ~15 linijek a mo?na to za?atwi? w jednej linijcie nie m?wi?c o tym ?e tw?j kod jest du?o mniej wydajny - bo skrypt musi wykona? p?tle, nie wspominaj?c o sprawach innych. Pozdrawiam.

Posty nie wygaszam, mo?e komu? przydadz? si? informacje zawarte w g?rze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-06-01, 12:15


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4395 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Riot, DLA MNIE, jest to uproszczenie, bo przy p?tli mog? pomina? przyk?adowych graczy, a przy #[...] ju? niestety nie.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Tagi: ilość :: elementów
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Zasoby do MTA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku