Geriausiai įvertinti


Geriausiai įvertintas turinys

Geriausiai įvertintas turinys pagal datą 2019.12.20, visose srityse

  1. 10 taškai
    Ne per seniausiai pasibaigęs Steam platformos juodojo penktadienio išpardavimas mumis ir toliau džiugina. Vakar oficialioje Steam paskyroje "Twitter" platformoje buvo pranešta, jog startuoja 2019 metų Steam žiemos išpardavimas. Pranešimas tvirtina, jog išpardavimas kaip ir visados tęsis 2 savaites, bei išpardavimo metu kaip ir visados bus galima rasti įvairiausių žaidimų daug pigiau. Praėjus beveik parai laiko nuo Steam žiemos išpardavimo pradžios, jau galime rasti akcijas tokiems žaidimams kaip "Dark Souls III", "Max Payne 3", "Fallout 4", "Frostpunk", "Monster Hunter: World", "Grand Theft Auto V", "Hellblade: Senua's Sacrifice", "Rocket League", bei "The Witcher 3: Wild Hunt - Game of The Year Edition". Visiems šiems žaidimams yra taikoma nuo 50 iki 75 procentų nuolaida, todėl dabar yra nuostabus laikotarpis sutaupyti pinigų ir nusipirkti patinkantį žaidimą. Winter Sale 2019 pradžia: Gruodžio 19d, apytiksliai nuo 20:00 Lietuvos laiku. Winter sale 2019 pabaiga: Sausio 2d, apytiksliai apie 20:00 Lietuvos laiku. Sąrašas pagrindinių žaidimų šiuo metu su didžiausiomis akcijomis: Valve Complete Pack - 91% akcija, sutaupote 108,44€ (Kaina 10,58€) Tomb Raider Collection - 86% akcija, sutaupote 237€ (Kaina 37,15€) Planet Coaster - 80% akcija, sutaupote 30.4€ (Kaina 7,59€) Far Cry 5 - 75% akcija, sutaupote 45€ (Kaina 14.99€) Dark Souls III - 75% akcija, sutaupote 45€ (Kaina 14,99€) Sid Meier's Civilization VI - 75% akcija, sutaupote 45€ (Kaina 14,99€) Prison Architect - 75% akcija, sutaupote 18.75€ (Kaina 6,24€) The Witcher 3: Wild Hunt - 70% akcija, sutaupote 21€ (Kaina 8,99€) Middle-Earth: Shadow of War - 75% akcija, sutaupote 30€ (Kaina 9,99€) Fallout 4 - 70% akcija, sutaupote 21€ (Kaina 8,99€) ARK: Survival Evolved - 70% akcija, sutaupote 38,5€ (Kaina 16,49€) Resident Evil 2 - 67% akcija, sutaupote 40.2€ (Kaina 19,79€) Tom Clancy's Rainbow Six Siege - 67% akcija, sutaupote 12€ (Kaina 7,99€) Arma 3 - 66% akcija, sutaupote 18.48€ (Kaina 9,51€) Max Payne 3 - 65% akcija, sutaupote 19.5€ (Kaina 10,49€) Monster Hunter: World - 60% akcija, sutaupote 36€ (Kaina 23,99€) F1 2019 - 50% akcija, sutaupote 27.5€ (Kaina 27,49€) Ace Combat 7: Skies Unknown - 50% akcija, sutaupote 30€ (Kaina 29,99€) Grand theft Auto V - 50% akcija, sutaupote 15€ (Kaina 14,99€) Playerunknown's Battlegrounds (Pubg) - 50% akcija, sutaupote 15€ (Kaina 14.99€) Red Dead Redemption 2 - 20% akcija, sutaupote 12€ (Kaina 47,99€) Iš sąrašo galime matyti, jog pagrindiniai žaidimai dar tik pradeda kelti savo akcijas, todėl Steam naudotojai tikisi, jog per 2 savaičių laikotarpį kainos kris ir bus galima gauti šiuos, bei kitus, nepaminėtus žaidimus pigiau - kaip ir kiekvienais metais. Patarimai žmonėms kurie nori itin papildyti savo žaidimų biblioteką: 1. Naudokite norų sąrašą (wishlist), jog sužinoti apie akcijas. Kas kart pamatę žaidimą kuris pritraukia jūsų akį, pridėkite jį į savo norų sąrašą, juk ši funkcija yra ne veltui. Naudodami steam platformoje "wishlist", jūs galite ne tik stebėti besikeičiančias žaidimo akcijas, bet ir lengviau galite skirstyti savo pinigus, nes nebenorite pirkti įvairių atsitiktinių žaidimų, jog išleisti pinigus. 2. Sekite žaidimų paketus. Geriausias būdas papildyti savo žaidimus steam bibliotekoje yra perkant įvairius žaidimų paketus, vienas jų, kurį visiems rekomenduoju nusipirkti - Valve Complete Pack. Šiame pakete galite rasti visus Valve kompanijos kurtus žinomiausius žaidimus už itin mažą kainą. Taipogi visados apsimoka pirkti ir kitus paketus, ypač paketus sudarytus iš žaidimo papildinių (DLCs), šie papildiniai gali jums ne tik sutaupyti pinigų, tačiau ir atnešti ganėtinai daug nuotykių į jūsų žaidimo atmosferą. 3. Laukite žaidimo akcijų. Steam Winter Sale metu didžioji dalis žaidimų pradeda pigti praėjus keletui dienų, todėl pasinaudokite pirmu patarimu, bei sulaukę tinkamos akcijos pasinaudokite ja. 4. Pirkite Indie stiliaus žaidimus. Jei norite savo žaidimų bibliotekoje turėti itin daug žaidimų, tačiau nenorite leisti daug pinigų - Indie paketai jums geriausia išeitis. Indie žaidimų paketams Valve dažniausiai daro akcijas net ir iki 90 procentų, todėl tai puiki proga atrasti naujų, bei perspektyvių žaidimų. Steam Apdovanojimai Kaip ir kiekvienais metais, taip ir šiais Steam atidarė savo platformos apdovanojimus (Steam Awards), nuo šiol visi Steam vartotojai gali balsuoti už metų žaidimą, kuris jų nuomone nusipelno titulo. Šiais metais yra 8 kategorijos, bei 40 nominuotų žaidimų, tarp jų galima rasti tokius žaidimus kaip "Tom Clancy's Rainbow Six Siege", "Dota 2", "Grand Theft Auto V", "Dayz", "Subnautica" ir kitus. Balsavimas baigiasi, bei laimėtojai yra skelbiami Gruodžio 31 dieną, maždaug 20:00 valandą. Visiems prabalsavusiems Steam naudotojams už kiekvieną balsą bus įteikiamos atsitiktinės kortos iš šių metų Steam Žiemos Išpardavimo, todėl tai puikus būdas pradėti rinkti kortas per šį išpardavimą. Bilietų Užduotys, bei Parduotuvė Šiais metais Steam platforma paruošė gan įdomią sistemą užsidirbti bilietų, bei juos išleisti. Nuėjus į steam programą pamatysite, jog buvo atnaujintas Steam pagrindinis fonas, pasinaudojus navigacija, bei užvedus ant store, bei pasirinkus "Featured", jūs būsite nukeltas į puslapį kuriame rasite pagrindinę su išpardavimu susijusią informaciją. Paspaudus ant "Join in the fun" (liet. Prisijungti prie linksmybių), galėsite atrasti užduotis, už kurias galėsite užsidirbti bilietėlių, kurie jums leis nusipirkti įvairiausių dalykų. Bilietus taipogi galite gauti į savo steam balansą pridedami arba išleisdami po 1€, tokiu atveju gausite 111 bilietų. Noriu atkreipti dėmesį, jog jūsų įgytas balansas iki žiemos išpardavimo pradžios nesiskaičiuoja, todėl norint gauti bilietus pinigus reikia įdėti iš naujo, taipogi visi pinigai gauti iš pardavimų, bei vėl panaudoti jums bilietų nesuteiks. Visas užduotis, kurias galėsite vykdyti norint gauti bilietų rasite prie naudingų nuorodų kategorijos. Surinkus tam tikrą kiekį bilietėlių, juos galėsite iškeisti į įvairiausius prizus: galimybę sutaupyti 4,50€ nuo kito Steam pirkinio, galimybę nusipirkti įvairiausius lipdukus, emojus, fonus, susirašinėjimų efektus, žemos medalio lygius, bei specialiai Kalėdoms perdarytą profilio temą. Nusipirkus šią temą už 5000 bilietėlių, jūs turėsite prieigą prie jos iki 2020 metų vasario 25 dienos, tas pats galioja ir susirašinėjimų lipdukams, bei susirašinėjimų efektams. Visi kiti nusipirkti prizai kaip profilio fonai, emojai, bei žiemos medalis galios neribotą laikotarpį po vasario 25 dienos. Steam Apdovanojimų Medalis Kadangi medaliai Steam platformoje yra itin vertinami, šiais metais jie taipogi egzistuoja. Steam Apdovanojimų Medalio korteles galite pirkti jau dabar, arba jas galite gauti kitais būdais: kaip prizą perkant iš parduotuvės, prabalsuojant Steam apdovanojimuose, sukuriant žaidimų medalius, naršant jūsų "discovery queue" (liet. atradimų eilę), keičiantis su draugais, perkant juos iš kitų steam platformos naudotojų. Sukūrus šį medalį kaip ir visados gausite tam tikrą patirties kiekį, bei įvairius kitus prizus. Jeigu norite pasikelti savo Steam paskyros lygį, dabar yra puikus metas tai padaryti! Naudingos Nuorodos: Puslapis Surasti Didžiausias Žaidimų Akcijas Steam Apdovanojimai (Steam Awards) Bilietų Užduotys Bilietų Parduotuvė Steam Awards Medalis
  2. 5 taškai
    Neaukokite tokioms 'organizacijoms'. Abejoju, ar visi pinigai keliauja tiesiogiai gyvūnams. Jeigu norite padaryti gerą darbą, pradėkite pirmiausiai savo kieme. Bent jau būsite garantuoti, kur pinigai nukeliaus. Čia ne iš piktybiškos valios rašau. Paprasčiausiai puikiai žinau kaip organizacijos pasikeičia gavus dideles sumas. Numetus skatikus, dauguma galvoja, jog padaro gerą darbą ir karma vėliau jos apdovanos, kas yra juokinga. Galbūt ir padarysi kažkam įtakos, tačiau neįdėsi pastangų. Padėk su širdimi, o ne materialiai. Kad ir tiems gyvūnams, parodyk meilę jiems pats, nesivadovauk trečiąja šalimi, jog padarytų už tave tai (vos ne kaip mokestį parduotuvėje). Ne duoną gi perki. @Ainius kam tiek daug kartų paminėjai SAMP? Čia ne vien gta forumas ir kitų žaidimų. Ir ehh, ta strategija su žiaurumo atskleidimu gauti empatijos iš žmonių... Nekažką.
  3. 4 taškai
    Pasinėrus į ,,Red Dead Online" jūs rasite visur sniego, net paprastose drėgnuose pelkėse. „Red Dead Online“ skambės atostogų sezonu per ateinančias kelias savaites - su žiemos oru, dekoracijomis jūsų Camp ir „Moonshining Shack“ vietoje, taip pat dovanomis ir dar daugiau. Savo kelionėse taip pat galėjote girdėti, kaip pianistai groja šventines dainas, kaip liaudies tautos visoje šalyje linksmai mėgaujasi atostogų šventėmis. Taip pat, keičiantis sezonams, pasienyje atšiaurūs orai, numatoma, kad snigimas jau sulauks šiandieną. Kaikur gali pasitaikyti daugiau sniego, tad nepamirškite apsirengti šiltai. ,,Holiday Showdown Modes" ,,Sharpshooters" žaidėjai aplink žemę gali išbandyti ,,hand-eye" išbandydami ,,snow-dusted of bloody showdown modes" versijoje, tokius kaip „Spoils of War“, „Up in Smoke“ ir „Overrun“, o „PlayStation 4“ žaidėjai gaus išskirtinę prieigą prie šventinių „Gun Rush“ ir „Make it Count and Last Stand“. Tiesiog paleiskite seriją iš online meniu, kad galėtumėte pasinerti į sausio 6 d. Neužmirškite atsiimti savo dovanos! Laikydamiesi atostogų dvasios, žaidėjai kurie žaidė ,,Red Dead Online“ tarp gruodžio 23 ir 25 dienos, gaus specialią sezoninę dovanų skrynią kurioje rasite: Be to, apsilankykite Benefits skiltyje, jei norite rasti 50% nuolaidų šautuvui ar paltui per šį laikotarpį. Bonusai ir Prizai Visi žaidėjai, kurie prisijungė ir žaidė gruodžio 13 d. Ar vėliau, Dar yra laiko gauti šias dovanas - paprasčiausiai iki sausio 6 dienos žaiskite „Red Dead Online“ ir patikrinkite pagrindinio meniu skiltį „Benefits“, kad atsiimti kuponus kurie duos: Žaidžiant „Red Dead Online“ nuo gruodžio 31 d. Iki sausio 6 d. Taip pat atsilygins jums 1 000XP atlygiu visiems 4 specialioms rolėms: „Moonshiner“, „Bounty Hunter“, „Trader“ ir „Collector“ Žaidėjai gali ir toliau imti 5 auksinius luitūs su akcijomis nuo mėsininkų stalo ir 25% nuolaida „Medium Delivery“ vagonui, taip pat „Bounty“ hunteriams akcija „Schofield“ revolveriui ir Kolekcininkams t.y „Collector“ akcija „Lancaster Repeater“ iki pat sausio 6 dienos. Ir kaip visada, atidžiai stebėkite skyrių „Benefits“, kuriame rasite naujausius „Red Dead Online“ pasiūlymus, apdovanojimus ir informaciją. „Collector“ gali dalyvauti šventinėje akcijoje nuo gruodžio 24 iki 30 dienos, siųsdami šventinių švenčių kolekciją poniai Madam Nazar už princišką sumą. Norėdami baigti kolekciją, susekite „Goose Egg“, „Cognac“ ir „Thyme Plump Bird“ .Ir nuo gruodžio 31 d. Iki sausio 6 d. „Nazar“ paprašys gauti Naujųjų metų kolekciją, kurioje yra „Ace of Wands“, „Scotch Whiskey“ ir „Platinum Pocket Watch“. Twitch Prime Prizai Žaidėjai, susieję savo „Social Club“ paskyrą su „Twitch Prime“, gaus „Collector's Bag“ ir „Polished Copper Still Upgrade“ - abu nemokamai. Norėdami užtikrinti galimybę gauti prizus ateityje, būtinai apsilankykite „Twitch Prime“ ir užsiregistruokite. Twitch Prime - https://twitch.amazon.com/prime/loot/reddeadonline Šaltinis rockstargames.com.
  4. 3 taškai
    Pigiausias variantas būtų turimą parduoti, nes jame reikia keisti viską, ir paimti naują build'ą. Surinkau Skytech'e:
  5. 3 taškai
    Parašau kaip yra, be jokio sugarcoating. Patobulinau savo mintį truputį, ką turėjau omenyje. Prie ko čia mano bendrimas? Iš samp išlindai, prisidėjai prie organizacijos kūrimo ir jau tampi pasaulio bamba? That's not how it works. Pagal įstatymus, tu gali laisvai keisti organizacijos formas ir teisiškai sudaryti taip, kad tarkim tik 40% gautų pinigų bus 100% panaudota sakomam tikslui. Per puslapį parašysi kokioje naudojimosi sąlygos, kurių niekas neskaito, užsiskaitys, kad informavai ir fsio.
  6. 2 taškai
    Red - County vairavimo mokykla NUOTRAUKOS
  7. 2 taškai
    Well tuo metu buvau isijunges tik supergames.lt, taip atsitiko ;.; Bei aišku dar karta sėkmės su projektu.
  8. 2 taškai
    Labas vakaras, Nors iš žaidimų pasaulio pilnai pasitraukiau šių metų pavasario viduryje, šiame forume dar karts nuo karto apsilankau. Galbūt iš senesnių laikų vis dar nedingęs įprotis, galbūt čia vis dar tikiuosi surasti įdomaus turinio. Dabar nurimus visoms aistroms galiu pasakyti, jog sprendimas sugrįžti į SA:MP rinką po beveik dviejų metų buvo klaidingas. SA:MP žaidimui visada jaučiau didelę trauką, kadangi, manau, kaip dauguma šio forumo narių su juo užaugau. Naiviai tikėjausi, kad rasiu laiko ir serveriui, bet kaip matė mano komanda su kiekviena savaite buvo tik blogiau, dingo ne tik laisvas laikas, bet ir noras, žinoma, po projektų sujungimo dar prisidėjo ir kito svarbaus žmogaus neaktyvumas ir motyvacijos trūkumas lėmęs tokią tylią pabaigą. Iš tikrųjų, buvo minčių laisvą minutę išnaudoti šiame žaidime, tačiau be didžiųjų projektų nieko gero surasti ir nepavyko, be SA-MP.lt dar yra tekę 2013-ųjų metų eigoje pažaisti SFG.lt, pastebėjau, kad būtent jį dabar ir bandoma prikelti. Taigi, tikiuosi, kad jis nuo 2013 metų nebus stipriai pakitęs ir bus išlaikytas paprastas pagrindas, kuris tuo metu mane ir užkabino. Jeigu šis variantas ir numatytas, tada +1 žaidėjas, nors ir nelabai aktyvus turėtų būti. Kas pasikeitė per pusmetį? Būtent dėl to šią temą čia ir nusprendžiau parašyti. Suradęs naują darbo vietą, po akademinių atostogų sugrįžęs į studijas nusprendžiau užsiimti dar viena veikla. Dar dirbdamas krepšinio klube Utenos „Juventus“ susipažinau su krepšininku Simu Buterlevičiumi, kuris lygiai kaip aš yra neabejingas gyvūnams ir jų problemoms Lietuvoje. Kartu įkūrėme gyvūnų teisių gynimo organizaciją VŠĮ „Viskas yra įmanoma“, kurios iniciatyvai palaikymą jau dabar išreiškė tokie krepšininkai kaip legendiniai broliai Kšištofas ir Darjušas Lavrinovičiai, Martinas Geben (Kauno „Žalgiris“), Dovis Bičkauskis (Vilniaus „Rytas“), Gabrielius Maldūnas (Panevėžio „Lietkabelis“), Mindaugas Kupšas (Jeruzalės „Hapoel“), Gytis Radzevičius (Utenos „Juventus“), Vytautas Šulskis (Utenos „Juventus“) bei užsieniečiai – Suomijos nacionalinės rinktinės krepšininkas Carlas Lindbomas ir graikas Antonis Sklivas. Maždaug du mėnesius sprendę teisinius klausimus, ieškoję sprendimų komandoje pagaliau ją suformavome ir gruodžio viduryje įvykdėme pirmąjį oficialų projektą – socialinę akciją „Siekime pergalių ne tik krepšinio aikštelėje“, kurioje dalyvavo ne tik mūsų savanoriai, bet ir Regionų krepšinio lygoje (RKL) besivaržančio Anykščių „Elmio“ krepšininkai bei Lietuvos krepšinio lygoje (LKL) rungtyniaujančios Utenos „Juventus“ ekipos žaidėjai. Pirmojo renginio rezultatas – stulbinantis. Kolektyvo pastangos ir atsidavimas bei žmonių parodytas gerumas lėmė tai, kad per du miestus buvo surinkta apie 10 sausakimšų prekių vežimėlių, kurie kitą dieną pasiekė Utenos gyvūnų prieglaudoje augančius keturkojus. Pasinaudojęs proga dar kartą padėkosiu ne tik dalyvavusiems dalyviams ir krepšininkams, bet ir Vytautui Mikaičiui, kuris yra gerai žinomas, kaip „Pravalturo“ direktorius, kuris irgi panoro prisijungti prie mūsų ir stipriai prisidėjo prie pirmojo pasisekusio projekto įgyvendinimo. Džiaugiuosi savo komanda, kuri parodė, jog galime žengti dideliais žingsniais į priekį, tas leidžia svajoti, kad ne taip ir toli yra vienas iš organizacijos tikslų. Kaip jau supratote mes gyvūnų teisių gynimo organizacija vadinamės ne dėl to, jog gerai skamba toks žodžių junginys. Taip vadinamės, nes mūsų siekis sukurti inovatyvią platformą, kuri Lietuvos žmonėms ir jų augintiniams padėtų ne tik gauti operatyvią tiek teisinę, tiek medicininę informaciją, bet ir pagalbą daugumoje gyvenimo atvejų. Daugiau apie mūsų veiklą galite sužinoti apsilankę oficialioje svetainėje www.keturkojisdraugas.lt. Žinoma, visada esame linkę į savo kolektyvą priimti naujų iniciatyvių žmonių. Nesame susibūrę viename mieste, todėl nesvarbu tu uteniškis, vilnietis, kaunietis ar kito miesto gyventojas, svarbiausia esi neabejingas ne tik gyvūnams, bet ir jų problemoms. Šiame forume pernelyg dažnai nesilankau, taigi, būtų gerai, jei susidomėję susisiektų per oficialų Facebook puslapį arba svetainėje nurodytais kontaktais. Rašydami žinutę būtinai nurodykite kuo naudingas organizacijai galėsite būti, nes mums rūpi ne kolektyvo kiekybė, o kokybė. Kaip šią temą pradėjau, taip noriu ir užbaigti. Turime mes čia tokių, kurie anksčiau bandė pirštais arba dar tebebado dėl to, jog metų metus leidi SA:MP žaidime ir tai nieko gero neduos. Hebra, iš to galima išpešti naudos ir dar kokios, svarbiausia naudingai laiką praleisti. Čia labiau kreipimasis į jaunąją kartą. Patariu nepirkti mokamų privilegijų, žaidimo pinigų, o savomis rankomis visko siekti. Būtent tada tobulėsite, o priešingu atveju ne tik, kad netobulėsite, bet ir pradėsite degraduoti. Vietoje to, kad perkate anketas į pareigas geriau rašykite savas ir sulig kiekvienu kartu tobulėkite. Faktas, kad iš karto nepasiseks, bet kai viską darysite patys ir žaidimas bus mielesnis ir pasiekimai saldesni ir galų gale šį žaidimą išaugsite susikrovę patirties. Galbūt kažkas su manimi ir nebus linkęs sutikti, bet kai aš pats nė karto nenaudojau žaidimą palengvinančių programų, nepirkau privilegijų, pats rašiausi anketas patekęs į komandą gebėjau surasti ir sprendimus, o būtent 4 metai praleisti SA-MP.lt serveryje, kaip vyr. administratoriui suteikė ir nemažai vadybos pagrindų, kurie pasitarnauja iki šiol. Padarykite išvadas, o jeigu pirštus niežti išleisti sąskaitoje esančius pinigus, galiu pasiūlyti jais prisidėti prie gyvūnų gerovės (daugiau informacijos www.keturkojisdraugas.lt), o tada pradėti naudingą žaidimą nuo 0 ir jokių palengvinimų. Visus su artėjančiomis šventėmis!
  9. 1 taškas
    Modas Buttoner (Mygtuku kurimas) DCon Sql Buttoner komandos: !s !q !r Links: https://www.lfs.net/forum/312-PHPInSimMod---PRISM https://en.lfsmanual.net/wiki/InSim#InSim_Libraries Credits: Inkaras Martis N1ightmare
  10. 1 taškas
    Sveiki, seniai nesimatėm, seniai nebuvau išlindęs į viešumą ? Visi maperiai kaip maperiai, o aš va, kaip visada, su savo nesąmonėm, fantazijom, su pilim. Tai va, dar vienas hogwartsas jūsų teismui. Nieko nebandžiau atkartoti šį kartą, tiesiog paimprovizavau truputį. Gal ankstesnės pilies ir nepranoksta, bet visvien, noriu pasidalinti ir šita. Tiems kas primiršo kaip atrodo, nuoroda į pirmosios pilies temą:https//www.supergames.lt/topic/317717-pofka-san-fierro-aukštutinė-pilis/?page=1 Na o čia šviežia darbelis, su šiokiu tokių tilteliu: https://imgur.com/a/MsZJaUC Parduodamas. discord - 6440#PoFka Skype - pofka212
  11. 1 taškas
    Sunku patikėti ,kad šlovingai serijai Need For Speed jau 25-eri metai.. Per šita laika šis žaidimas išgyveno tiek pakilimu, tiek nukritimu ir kūrėjų pakitimus,prodiuseriu ar net krypčių, atrodo sugebėjo išbandyt viskas kas tik įmanoma. Bet per paskutinius metus NFS grįžo į 0-tuosius, open world tipas, siužeto tipas kaip "Greiti ir isiute" filme ,bei didžiulių auto park'u su galimybe padaryti ,bet kokį mašinos egzemplioriu pagal save. Pats jubiliejus reikalavo iš kūrėjų padaryti viska geriausiai ,kad įrodyti ,kad skaičius 25 ,tai ne nuosprendis ,o tiesiog gražus skaičius. Rezultate Ghost Games šiuo metu atsakanti už greičio troškimą ,sukūrė NFS Heat. Nauja,gražu,jubilejini žaidimą! Čia sudėti ,visi geriausi dalykai iš NFS žaidimų! Need for speed Heat netiketai anonsavo tik šiu 2019 rugpjūčio mėnesį. Šis žaidimas apsiėjo ,be garsiu prezentacijų ar konteinerių su automobiliais ant scenos nu ir viso šito reikalo. Bičai iš Ghost Games lyg buvo prieme šalta dušą. Akivaizdu iš lenktynių serijos laukia ,ne kazino su problemiška prieeiga už kosminę kainą ir šmaikštaus siužeto kaip iš Holivudo. Viena iš pirmujų žinių iš žiniasklaidos apie žaidimo realiza ,sake ,kad hitas primins tos pačios NFS serijos Underground 2 žaidimą ir čia aš jau apsidžiaugiau ,bet čia nebuvo kaip vaivorykštės karalysteje elektronikos mene. Įsivaizduot ,kad viskas grįš kaip iš senų šaknų buvo sunku ,bet visgi užėjau į šį žaidimą ir sugavau keleta dežavu. Atrodo kaip underground'as ,o viskas vyksta po scriptu karbonas? Pažiūrėkit patys lenktynininkas bandydamas pasislėpti nuo policijos įvaro save ir savo brangujį sportcar'a į aklaviete ir praranda savo brangius "ratus" ,del blogojo spurgų fano su ženkleliu. Gerai ,kad toliau įvyksta šuolis kažkur toliau per timeline'a ir čia jau susidaro istorija, o žaidėjam duodama galimybė savavališkai išsirinkti savo veikėją savo gerom važinėjimo scenom. Remiantis legenda jūsų veikėjas atvyksta į Palm City ,jo tikslas pinigai,reputacija ,bei šlovė, o taip pat adrenaliną ,kuri jus gausite tiesiog nuo kietų lenktynių! BET jai arba jam pasako ,kad tokie reikalai greitai nedaromi. Pradekime ,kad mieste atsidare nesenai nauji policijos ekipažai ,kurie pastoviai gaudo gatvės važinėtojus (streetracer), o antra ,kad pinigus ,bei šlovė ,galima gauti tik papuolus į LYGĄ ir galu gale ,kad papulti į lygą reikia labai gerai užrekomenduoti save, kas veda į paradoksalia įdėja ,del pinigų ir šlovės grind'o. Įsivaizduokit Brain'a iš "Greiti ir isiute" filmo ,kuris ne iš lempos atvažiavo ant kietos mašinos ,kad lenktyniauti su Torreto ,o ilgai ir nuobodžiai uždirbinėjo sau pakvietimą palenktyniauti ,lenktyniaudamas su invalidais kurie vairuodavo savo mamos volkswagen'a. Pinigų grind'as ir reputacija išsivedė į skirtingas ringo puses. Suprantat Palm City mieste ,nenormalu nakti statyti pinigus ant lenktynių. Streetracer'iai čia laksto ,dėl sportiško įdomumo ,bei respekto. O dienos metu turi važiuoti lyg į darbą. Mieste vyksta festivalis - visai legalus,nebloga organizacija ir labai riebiu priziniu fondu. Va čia ir tu persijunginėji tarp nakties ir dienos ,kad siužete ,bent kiek pajudėti. Išties nakti žymiai fainiau žaisti ,nei dieną, kadangi palm city labai primena į savaimine repliką vice city. Išties tikrai atrodo ,kad miesto centrą perpiešė iš pačio GTA ,o tai reiškia ,kad nakti užsidega neoninės lenteles ,o palmes užsidėga toksiškom spalvom ,o ant didelio greičio visos šios spalvos susimaišo į tikrai gražia palitra. Problema ,kad tiek Palm tiek Vice miestai padaryti remiantis realiu miestu Majamiu ,kuriame šiuo metu vyrauja lotyniška kūltura ,kad dar labiau priaratinti miestą prie Majamio - Ghost Games pridėjo tikrai daug lotyniškų motyvų į žaidimą ir po tokio dalyko ausys jau vemia po pirmos žaidimo valandos. Bet grįžus prie pačio žaidimo režimo t.y. tarp nakties ir dienos ,pareigūnai laksto būtent nakties metu. Jie kaip šunys pasiruošę inpi*ti į žaidėjo bagažine pirma galimybe. Dienos metu visos grožybės NFS Heat sugriūna ,dienos šviesa pilnai sugriauna visa realybės vaizdą. Tai vyksta ,nes FrostBite variklis ,nesugeba gretai užkrauti masyvės teksturas. Taip pat labai mažas kiekis mašinų gatvėse ,o žmonių net nematyt. O iš veiklų - lokalios rungytynės su savimi,grafičių,bei neoninių flamingų kolekconavimas ,bei reklaminių plaktu. Tiesiog tuščias miestas ,negali nudžiuginti ,net policijos gaudymu. Tiesiog žiūrint į nakties režimo galimybes t.y. kur žaidėjui leidžiama vos ne sunaikinti visa miesta ,bėgant nuo švyturelių - dalyvauti begale suvažiavimų,rungtynės ir t.t. Dienos metu lenktynės tiesiog - maršruto * kalimas *. Juokingiausias dalykas dienos metu lenktynės remiantis laiku. Tai jus pastatys ant begių kur suvaldyt mašiną kaip tėvo sulužusią bulką, tai privers aplenkti vaiduoklį kitaip tariant tikras išukis. Bet būtent su šitu dalykų tau parodami tikri būgai ir kitas šlamštas tiesiai į veidą. Ghost Games žadėjo vienus iš žiauriausius pareigūnųs ir tikrai nesumelavo. Nakties režimo metu ,pareigūnai patruliuoja visur ,todel čia kiekvienas kampas yra tikras pavojus. Na manau baigsiu savo litanija.. Ačiū už demėsį ,geru ateinančių švenčių!
  12. 1 taškas
    Sveikučiai, ieškau kas galėtu nupiešti minecraft skiną pagal mano norus, sumokėsiu už darbą. Scarletas#7752
  13. 1 taškas
    Parduodu LMG paskyra 300k+ xp, dar kazkiek liko VIP. https://vvp.lmg.lt/zaidejas/Ignas_Prefiks
  14. 1 taškas
    INFORMACIJA Teikiu PAWN programavimo paslaugas. Sugebu padaryti viską, ką leidžia SA-MP galimybės, turiu patirties PHP, suprantu MySQL kalbą. PAWN patirtis 4 apie metai. Paslaugų kainos visada derinamos su užsakovu. Kaina priklauso nuo darbo atlikimo laiko. Nemokamai nieko nedarau. Taip pat nedarau to, kas nebuvo aprašyta užsakant paslaugas. PASLAUGOS 1. Sistemų kūrimas, perdarymas, pritaikymas. 2. TextDraw piešimas. 3. Modifikacijos optimizavimas, tobulinimas. 4. Klaidų taisymas. Taip pat dirbu su map darbais ir viskuo kitu, kas susiję su SA-MP. KONTAKTAI factro0 Jei susisiekti nepavyksta, parašykite forume žinutę. DARBŲ PAVYZDŽIAI
  15. 1 taškas
    nežinau senas kompiuteris. Šiaip nelabai ką čia ir pakelsi bandyk parduot dalim ar bendrai gautum dar kažkiek vis. Ir dėkis naują buildą. Nes CPU/GPU ir ramų dadėjus gaunas vos ne naujas pc tik su sena architektūra. O GPU ar CPU pakeist nieko nebus.
  16. 1 taškas
    Labas, na reiktu manau issitaisyt gramatines klaidas, o siame forume nemanau kad rasi kazko link tos tematikos, labiau bandyk koncentruotis i uzdarbis.lt kur atrasi tikrai savo rinkos asmenu kurie sutiks pasikeist reklamom ar tais paciais backlink'ais.
  17. 1 taškas
  18. 1 taškas
  19. 1 taškas
    Nebūčiau net pagalvojęs, jog bus sniego Reikės vėl įsijungt.. Dėkui Tadai.
  20. 1 taškas
    Gal profili kaip nors ne taip uzpildei, todel ir meta taip. Man irgi neleidzia kai kuriu atsakyt, nes profilis neatitinka survey. Parasyk man puslapyje kas per beda arba adminam parasyk ispres tikrai. Cia ir galima taip pat, dar plius gali isigrynint i steam pinigus ar kitus gift cardus.
  21. 1 taškas
  22. 1 taškas
  23. 1 taškas
    Nesigaus, rašyk į PM, pradėsiu per nuotolinį. Nors ten viskas 100% aprašyta. Turėk omenyje, kad jeigu neturi Linux žinių stiprių ir planuoji leisti serverį ir web kartu, tai sustok. Nesuvaldysi ssl, subdomenų. Virtualmin, ispconfig arba vestacp iš free versijų. Web panelės.
  24. 1 taškas
    Temos pavadinimas apie gyvūnų teises, bet tekstas pradedamas pastraipa apie kažkokius niekam neįdomius ir prieš N metų žlugusius samp’o serverius, įdomi strategija, įdomi.
  25. 1 taškas
    Žmogus tikrai malonus ir patikimas! Sekmės ieškant!
  26. 1 taškas
    tiesiog wow, taip įdomiai ir įtraukiančiai kažko tokio senai skaičiau šitam forume, labai geri palyginimai ir pamąstymai, kad geriau pačiam rašyti anketas taip įgaunant patirties, na žodžiu - wow. labiau džiaugiuos, kad neparašei tieisiog "pff, eikit dirbt ar ką nors veikt geresnio, negu čia skaityt ir sėdėt, arba prie samp ar kažko", dėl tai labai gerbiu, nes sugebėjai stipriai savo nuomonę išreikšti pasiremdamas tiek tikru gyvenimu tiek samp gyvenimu.
  27. 1 taškas
    Nupirkciau samp, cs projekta iki 500e
  28. 1 taškas
    1. Sekundinis timeris nėra reikalingas, kadangi laikrodyje neatvaizduoji sekundžių, taip pat eini per visus žaidėjus neefektyviai. 2. Norint pereiti per visus žaidėjus, naudok foreach arba for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) , taip išvengsi per naują kviečiamo kintamojo (j). 3. Gali naudoti global textdrawą, taip išvengsi ciklo, kuris eina per žaidėjus. Nenaudinga pamoka, nes sulipdytas kodas ir net pats nesupranti ką darai.
  29. 1 taškas
  30. 1 taškas
    man kažkaip tuose serveriuose fc ir resai nedera, man turi būti vienas arba fc arba resai, anyways sėkmės.
  31. 1 taškas
    Perskaičiau visą temą ir niekas šito neparekomendavo. https://github.com/puppeteer/puppeteer Wtf? Turbūt geriausia node biblioteka, kuria išvis ant serverio gali palikt backgrounde. Nebent ten pas tave ant webo kažkoks flash žaidimas, tada greičiausiai nepalaikys.
  32. 1 taškas
    Ahujienai gražiai super šaunuolis kad improvizuoji ir stebini
  33. 1 taškas
    Niekada gyvenime nekoduočiau pirmojo, išnaudojai 14 (+1 įskaitant ir background) atvaizduojant degalus (?), kai juos gali atvaizduoti daug tiksliau panaudojant tik 3 (arba 2). Žiūrint į tai, kad yra limitas, pasistengčiau labiau tai optimizuot. Antrasis nelygiuotas, ir iš 3 gali paversti į 1 (paprasčiausiai perkeliant į naują eilutę pasinaudojant ~n~).
  34. 1 taškas
    Sveiki, gal kas turite parduoti, švarią, be bugų ir kad veiktų optimaliai csgo modifikacija? Domina .sma .txt ir t.t Skype: live:b1288667dc9d6571
  35. 1 taškas
    O kas sakė, kad jie neramūs, juk nebuvo dėl ko teigiau faktus ir klausiau klausimų prie ko čia proto niurkymas dabar? Geriau man pasakyk kodėl (administracija), kuria tu dievini baniną žmones už 2 klausimus ir klaidų, kurių netaiso parodymą? Na ir manau reiktu žinoti žodžio "menikinimas" reikšmę. Taip kad 3 ar 2 adminai buvo, 1 iš jų buvo normalus kitas tiesiog pasakė, kad aš jam nuotaikos negadinčiau nes visgi matyt jis vertė pluginus į LT kalba ir nepatiko, kad radau porą klaidų na ir dėl unikalumo kogero, kurio čia nėra pabrėšiu, taip kad nemanau ar verta šį žodį rašyti aprašant serverį. Vien dėl to aplankiau serverį.
  36. 1 taškas
    Sėkmės rasti projektą tikiuosi pasiseks ;)
  37. 1 taškas
    Sėkmės su projektu Matai tikiuosi nenuleisi rankų judėsi pirmyn ir įvykdysi savo užsibrėžtus tikslus;)
  38. 1 taškas
    Nekažką matyt laukia ateitis bet svajot ir dirbt niekas nedraudžia , jei turit laiko ,investicijų ir svajonių, kodėl gi ne siekit savo tikslo sėkmės
  39. 1 taškas
    Sveiki turbūt daugelis manęs čia pažįsta o kas nepažįsta trumpai prisistatysiu.Mano vardas Algirdas man 19 metų esu iš Mažeikių miesto.Ieškau projekto kaip bendrasavininkas .Esu patyręs , kas liečia samp projektus jų turėjęs daug pirmų projektų net nebeatsimenu su us galūnėmis pavardinsiu garsiausiu ir tuos su kuriais kažką pasiekiau.arba bent surinkau daug žmonių. Patirtis jau administravime apie 3 metus mano kaip samp projektų administracijoje,turėjęs ir gerų ir nenusisekusių laikų atsiprašau kuriuos nuvyliau visos bėdos būdavo ne dėl komandos kaltės o dėl skripterio kaltės noro ,laiko trūkumo.Kaip kažkam minėjau į kiekvieną projektą įdedu visą širdį naktimis nemiegu mastau kaip projektui padėti ,ką daryti kad jam būtų tik geriau Vlkg.lt (Su Yogho kai kūriau 154 žmonių rekordas) New-santos.lt( su Mančiu tokiu kūriau 90 rekordas ( laikėsi 5 mėnesius) Kitų nevardinsiu kaip Country-life, arba dabar naujausias projektas kuriame buvau rivercoast.lt dėl duomenų pavogimo tiesiog taip gavosi , kad projekto nebėra Ko norėčiau iš projekto . Tai administracijos aktyvios , lėšų kad būtų ,svarbiausia didelio noro geros modifikacijos (galima būti tik ką pradėta svarbu pastangos bei užsibrėžto tikslo siekimas) Jei nepažįstate manęs ir nežinote ką veikčiau projekte tai būtų . Reklamavimas projekto , esu žinomas tad daug žmonių ateitų kartu su manim,pilnas projekto administravimas Ts , forumo , serverio tvarkos laikymas ,atrankų darymas, atsakymas žaidėjams į klausimus,komandos ieškojimas . Kontaktus mano matote apačioje kuriais galite susisiekti,priimu visu variantus o apsispręsiu pasikalbėjęs su jumis.
  40. 1 taškas
    Na ką pamačiau, kad tuo tuoliau tuo daugėją šūdserveriu, tad ikelsiu pamokas iš kuriu pats mokiausi(mokinuosi) galvoju kol nepadaugėjo pasidalinsiu, jai rasite klaidą parašykit ačiū!: 1 pamoka. Callbackų bendri paaiškinimai. Callback‘as – kas tai yra ? Callback‘as - tai vieta po kuria reikia rašyti bet kokias funkcijas. Tačiau, yra daugėlis callbackų, ir jų paskirtys skiriasi. Pvz.: public OnPlayerCommandText Šiame callbacke galima rašyti, kurti tik komandas žaidėjo, admino, vipo, kažkokio darbuotojo, ar dar kažkokios kitos paskirties žaidėjo. Taipogi, tikrinimai ar žaidėjas turi pakankamai pinigų, ar žaidėjas yra mašinoje, ar žaidėjas yra ieškomas galimi yra visuose callbackuose. Tačiau negalima sumaišyti callbackų paskirčių. Komandas rašyti galima tik po šiuo callbacku. Kitas callbackas pvz. Būtų : public OnPlayerConnect Šis callbackas yra skirtas tam, kad kai žaidėjas tik prisijungia prie serverio. Tarkim reikia kad pirmiausia prisijungtų žaidėjas arba užsiregistruotų, tam kad galėtų žaisti ir naudotis visomis komandomis skirtomis jo privilegijoms. Tai rašyti reikėtų : public OnPlayerConnect(playerid) { ShowPlayerDialog(playerid,dialogid,DIALOG_STYLE_PASSWORD,“Prisijunk“,“Turi prisijungti arba užsiregistruoti“,“Patvirtinti“,“Išeiti“); Štai išmes kai tik jungsites į serverį GUI langą, ir prašys, kad prisijungtum arba užsiregistruotum. Apie GUI savybes dabar neaiškinsiu apie jas aiškinęs esu 4-oje pamokoje. Kitas pavyzdys su callbacku pvz public OnPlayerDeath Šis callbackas funkcionuoja tik tada, kai žaidėjas miršta. Dabar pavyzdys: public OnPlayerDeath { SendClientMessage(playerid,RAUDONA,“Tu numirei, už tai tavo spalva pasikeičia į raudoną spalvą.“); SetPlayerColor(playerid,RAUDONA); Štai, ir pasikeis žaidėjo spalva į raudoną. Iš pradžių informuojame, apie paruoštą veiksmą, o po informavimo atliekame veiksmą. 2 pamoka Stockų kurimas, paskirtis, greitesnis naudojimas. Kas yra stockas ? Stockas, tai panašus dalykas kaip ir callbackas, tačiau, stockas yra labai pravartus dalykas norint pakartoti tą patį veiksmą daugelį kartų. O stocke surašytos funkcijos visos, gali būti naudojamos daug kartų, ir daug kuriose vietose. Iš pradžių: Kurimas stocko - stock Stocko_Pavadinimas(playerid) { funkcijos atliekamos } Stockai nerašomi callbackuose. Jei callbackuose sukursi stocką, tai tą stocką galėsi naudot tik tam callbacke. Jei nori, kad galėtum naudot stocką visame gamemode, rašyk arba po visais callbackais, arba prieš visus callbackus. * Stocko pavadinime negali būti tarpų. Visada pavadinime turi būti jungiamasis ženklas, jeigu pavadinimą darai iš dviejų ar daugiau žodžių. * (playerid) šiuose skliaustuose rašoma tada, kai stockas bus naudojamas žaidėjui. Pvz.: saugot žaidėjo informaciją, arba baninti žaidėją. * (vehicleid) šiuose skliaustuose rašoma vehicleid todėl, nes stocas su tokiais skliaustais arba kitaip sakant parametru, pritaikomas ir galimas naudoti tik mašinoms. Pvz.: Išsaugot mašinas, nudažyt mašinas, ar sprogdint mašinų padangas * () tušti skliaustai paliekami tada, kai stockas naudojamas serveriui. Tarkim norint serveryje pakeisti laiką, orą ar išjungti serverį. taipogi, visada stock žodis turi prasidėti mažąja raide. Po pavadinimo, parametro stocko, kitoje eilutėje turi, atidaryt galimas f-jas su tokiu skliaustu { Kai parašai visas f-jas, turi uždaryti stocką su } skliaustu. Jokiu būdu negalima rašyti stocke return 1; užbaigimo f-jos. Dabar parodysiu pavyzdį: stock Apdovanojimas(playerid) { - atidarome. GivePlayerScore(playerid,500); - Duodam žaidėjui 500 XP. GivePlayerMoney(playerid,5000); - Duodam žaidėjui 5000 LT. SetPlayerSkin(playerid,200); - Nustatom žaidėjo 200 skiną pagal ID. SendClientMessage(playerid,ZALIA,“Sveikinu, tu buvai apdovanotas“); - Pranešame už ką gavo. } – uždarome. Naudojimas stocko yra paprastas. Pvz kaip esu sukūręs stocką Apdovanojimas, tai bet kur galiu panaudot šitą. Pvz.: public OnPlayerUpdate(playerid) – Kai žaidėjas atlieka veiksmą bet kokį. { if(GetPlayerScore(playerid) > 50) – Jei žaidėjas turi 50 XP ar daugiau, tai naudojame stocką. { Apdovanojimas(playerid); - Stocko pavadinimas, ir nurodymas kam pritaikomas. return 1; - f-jos uždarymas. } 3 pamoka Forward‘ų, define‘ų naudojimas. Forwardai, tai reikalingi tam, kai sukuri naują callbacką, pvz.: public Callbackas(playerid) { čia kažkokios f-jos return 1; } Tai tikrinant ar nėra klaidų, jums išmes klaidą, kad trūksta forwardo šiam callbackui. Tai tada kur nors viršui pačiam gamemodo, parašyti reikia : forward Callbackas(playerid); * forward žodis prasideda iš mažosios raidės, visada. Stockams forwardų nereikia, su jais yra paprasčiau, nei su callbackais. O tiek callbackų, tiek stockų atliekami veiksmai yra tokie patys. Define‘ų naudojimai : Kas yra define ? Tai tokia funkcija, kurios dėka galima vieną parašytą žodį parametre, atlikti tam tikrą funkciją. Tarkim spalvą : #define RAUDONA 0xFF5588 tada rašai : SendClientMessage(playerid,RAUDONA,“...“); Ir teksto spalva bus raudona. Kadangi, kai GUI dialogus kursi, tai reikės visą laiką keist GUI ID skaičius. Kartais būna taip, kad pasimeti skaičiuose, ir su jais nepatogu. Galimas kitas variantas. #define PRISIJUNGIMO_GUI (1) Štai, specialiai uždefininom GUI Dialogui id’ą. Naudojimas būtų toks : ShowPlayerDialog(playerid,PRISIJUNGIMO_GUI,…..); Ir nereikės toi vietoj rašyti 1,2,3 ir t.t. Tokiu atvėju ir išvengsi skaičių ID bugų, kad kartais įrašai net ą skaičių ir pradeda bugintis sistemos. Kaip viršui pavyzdys yra PISIJUNGIMO_GUI (1), tai kam tas 1 reikalingas ? Tam, kad sunumeruoti defines. Jeigu reikėtų atsirinkti tau kuris yra kuris, pagal numeraciją greičiau atsirinksi, ir išvengsi sisteminių bugų ar nesusipratimų, kurie dažnai įvyksta editinant kokius nors gamemodus. Pvz.: GRP 4 ar kažkokius panašius. 4 pamoka.. GUI Dialogų kurimas, ir viskas apie juos. GUI dialogų tipų yra 4, t.y: 1.Sąrašo tipas. (DIALOG_STYLE_LIST) 2. 2 variantų pasirinkimo tipas. (DIALOG_STYLE_MSGBOX) 3. Įvedamų simbolių tipas. (DIALOG_STYLE_INPUT) 4. Slaptažodžio tipas. (DIALOG_STYLE_PASSWORD) 1. Sąrašo tipas: Visada norint sukurti GUI reikia rašyti : ShowPlayerDialog(playerid,dialogo id,TIPAS,“Antraštė“,“1. Variantas\n2. Variantas“,“Sutikimo mygtukas“, “Nesutikimo mygtukas“); Viskas atrodyti turėtų taip: ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,“Spalvos“,“Žalia.\nMėlyna.\nGeltona.\nRaudona.“,“Pasirinkti“,“Atšaukti“); \n – simbolis reiškia naują eilutę, arba kitą pasirinkimą. Kitą pasirinkimą duos šis simbolis, tik DIALOG_STYLE_LIST GUI tipe. Kituose duos, tik naują eilutę. Toliau, po callbacku OnDialogResponse (Jį susirasti gali spausdamas CTRL + F ir įrašydamaas OnDialogResponse) Rašai: if(dialogid == 1) { If(response) – Jei paspaudė mygtuką “Pasirinkti” { if(listitem == 0) - Jei pasirinks žalią spalvą, tai { SendClientMessage(playerid,ZALIA,“Tu pasirinkai spalvą: Žalią“); } if(listitem == 1) - Jei pasirinks mėlyną spalvą, tai { SendClientMessage(playerid,MELYNA,”Tu pasirinkai spalvą: Mėlyną”); } if(listitem == 2) – Jei pasirinks Geltoną spalvą, tai { SendClientMessage(playerid,GELTONA,”Tu pasirinkai spalvą: Geltoną”); } if(listitem == 3) – Jei pasirinks raudoną spalvą, tai { SendClientMessage(playerid,RAUDONA,”Tu pasirinkai spalvą: Raudoną”); } return 1; } if(!response) – Jei paspaudė mygtuką “Atšaukti” { SendClientMessage(playerid,SPALVA,”Tu pasirinkai mygtuką – Atšaukti”); } return 1; } Visada pirmas pasirinkimas šiuo atveju žalia spalva, būna 0. if(listitem == 0) – Čia žalia spalva. Visada, sąrašo tipe, pirmo variant pasirinkimas būna žymimas ir pradedamas žymėti nuo 0. Šio tipo dialogas atrodo taip: Į turinį nekreipk dėmesio, svarbiausia, kad suprastum kaip atrodo. 2. 2 variantų pasirinkimo tipas: Norint 2 variantų pasirinkimo tipą sukurti, reikia rašyti beveik viską taippat, tik kai kurie parametrai skiriasi. Pvz.: ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Antraštė“,“Sąlyga, su kuria turi sutikti, ar turi pasirinkti vieną iš dviejų. Čia ta salyga apibūdinama.“,“Pasirinkti“,“Atšaukti“); Tokiu atveju ir tokiu tipu galima išmesti žaidėjui GUI langą, kad sutiktų su taisyklėmis. pvz.: ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Taisyklės“,“Turi sutikti su taisyklėmis, tik tada galėsi žaisti toliau.“,“Sutinku“,“Nesutinku“); Toliau, OnDialogResponse callbacke, nurodai: If(dialogid == 1) { if(response) – Jei paspaudė Sutinku. { SendClientMessage(playerid,SPALVA,”Tu sutikai su taisyklėmis, todėl gali tęsti žaidimą”); return 1; } if(!response) – Jei paspaudė Nesutinku. { SendClientMessage(playerid,SPALVA,”Tu nesutikai su taisyklėmis, todėl esi išmetamas iš žaidimo”); Kick(playerid); } return 1; } Kick(playerid); - tai išmeta žaidėją, kuris nesutiko iš serverio. Šiame dialogo tipe, simbolis \n reikš tekstą prasidedantį iš naujos eilutės GUI lange. Šio tipo dialogas atrodo taip: Į lentelės turinį nekreipk dėmesio, paėmiau iš googlės, svarbiausia, kad žinotum kaip atrodo. 3. Įvedamų simbolių tipas. Šio tipo pagalba galima daug daugiau padaryt žaidėjo nuožiūra. Apibendrinus viskas atrodo taip: ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,“Antraštė“,“Įvesk norimą slaptažodį“,“Patvitinti“,“Išeiti“); Ir įvedus slaptažodį, kad sistema suprastų ką tu nori padaryti, callbacke rašom: OnDialogResponse if(dialogid == 1) { new string[128]; - sukuriame kintamąjį, kad galėtų žaidėjui suformatuoti jo įvestą slaptažodį. if(response) – jei paspaudė “Patvirtinti” { if((inputtext) < 1) – Jei simbolių įvestų mažiau arba tik vienas { SendClientMessage(playerid,SPALVA,”Slaptažodis turi būti netrumpesnis, kaip 1 simbolis“); } else – Jeigu viskas tvarkoi, ir sistemai patinka viskas { format(string, 128,“Tu užsiregistravai sėkmingai, tavo slaptažodis: %s",inputtext); - suformatuojam žinutę SendClientMessage(playerid,SPALVA,string); - išsiunčiame suformatuotą žinutę. } return 1; } Šis dialogas atrodo taip : Į turinį dėmesio nekreipk. Viskas taip pačiai ir su DIALOG_STYLE_PASSWORD, tik esmė ta, kad PASSWORD dialogo įvesti simboliai užslepiami žvaigždutėmis, o INPUT tipo, atviri simboliai t.y – neužslėpti. Štai taip atrodo PASSWORD tipo dialogas, viskas darosi taip pačiai, kaip INPUT tipe, tik, kad tipas kitaip vadinasi. 5. Pamoka : Stringų naudojimas/kurimas SendClientMessage funkcijoje Stringai reikalingi tam, kad sistema atpažintų norimą funkciją, dabar imsim pavizdį su spalva : CMD:patirtis(playerid, params[]) { new string[128]; Format(string,128,“Jūsų patirtis yra: %d“,GetPlayerScore(playerid)); SendClientMessage(playerid,SPALVA,string); return 1; } Dabar pvz su slaptažodžiu : CMD:primintislaptazodi(playerid, params[]) { new string[128]; format(string,128,“Jūsų slaptažodis yra: %s“, slaptazodis); SendClientMessage(playerid,SPALVA,string); return 1; } Parametrai: %d – naudojamas tik sveikiems skaičiams. %f – naudojamas tik nesveikiems skaičiams (t.y – su kableliu. Dažniausiai šis parametras naudojamas išgaut poziciją žaidėjo ar pan.) %s – naudojamas išgauti raides/skaičius/tarpus ir kitus simbolius. new string[128]; - Tai kintamojo reikšmės ilgis. Kuo daugiau simbolių bus string‘e tuo didesnio skaičiaus reikės, nes kitaip rodys ne visą reikiamą tekstą. GetPlayerScore(playerid) – Išgauna žaidėjo turimą patirties taškų kiekį (XP) Slaptazodis – slaptažodžio išsaugotas kintamasis, kurio dėka sistema išgauna slaptažodį ir jį atpažina ar žaidėjas teisingą įvedė slaptažodį, ar jeigu nori prisimint slaptažodį, tai, kad išgautų tą slaptažodį. 6 pamoka: Stringų naudojimas GUI dialoguose. Jau kaip naudotis GUI dialogais turėjai išmokti, dabar kaip panaudoti juose stringą. Sukuriame stringą ar stringus, tada dialogą. CMD:stringas(playerid, params[]) { new stringas[128]; format(stringas,128,“Tu turi su savim pinigų: %d LT.\nTavo patirtis yra: %d XP”,GetPlayerMoney(playerid),GetPlayerScore(playerid)); ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,”Informacija”,stringas,”Uždaryti“,““); return 1; } Štai šiame lange parodys kiek turi pinigų, ir kiek turi patirties. Kadangi pinigai ir patirtis yra sveikieji skaičiai, tai naudojome %d parametrą skirtą išgauti sveikuosius skaičius. ,”Uždaryti“,““); - Po pasirinkimo Uždaryti paliktos kabutės be kito mygtuko, tada sistema padaro taip, kad mygukas būna tik Uždaryi, kito nebūna. Norint palikt vieną mygtuką, turi būti užpildytas pirmasis mygtuko paragrafas. Taipogi, jeigu pirmiausia norėsi išgauti žaidėjo pinigus o poto patirtį, tai gavimo funkcijas irgi tokia pačia eilės tvarka turi surašyti po kablelio, kad išgautų pinigus, o tada patirtį, nes jei bus atvirkščiai bus painiava. Išgaus vietoi pinigų patirtį, o vietoi patirties pinigus. Išgavimo funkcijos atskiriamos kableliu. 7 pamoka: Stringų ir kintamųjų kurimas. Stringų bei kintamųjų pagalba, galima daug funkcijų atlikti. Pvz.: Išgaut žaidėjo poziciją, išgaut mašinos poziciją, išgaut vardą ar dar kažką. Išgavimas pozicijos: Yra du būdai kuriant kintamąjį, vienas iš jų yra tas kuris labiau apkraus gamemodą, o kitas kuris mažiau resursų naudos gamemodo, parodysiu abu. Kintamuosius tris reikia kurti, nes šiuo atveju išgausime žaidėjo poziciją o pozicijos išgavimo būdas yra X koordinatės, Y koordinatės, ir Z koordinatės. 1. – Kuris labiau apkauna: new pozicijaX, pozicijaY, pozicijaZ; 2. – Kuris mažiau apkauna: new Float pozicija[3]; Išgaunant poziciją pirmu būdu (Labiau apkraunančiu): GetPlayerPos(playerid,pozicijaX,pozicijaY,pozicijaZ); Išgaunant poziciją antruoju būdu (Mažiau apkraunančiu); GetPlayerPos(playerid,pozicija[0],pozicija[1],pozicija[2]); P.S – Reikia pradėti taipogi nuo 0 šiuo atvėju, nes jei parašysime kintamojo dydį 3 tai vieną vienetą kintamojo reikia palikti laisvą visada, todėl X – 0, Y – 1, Z – 2. Parodysiu pavizdį kaip išgautą poziciją panaudoti žaidėjo atsiteleportavimui. CMD:atsikelti(playerid, params[]) { new Float: pozicija[3]; - Sukuriam pozicijos išgavimo kintamąjį. new zaidejas[MAX_PLAYER_NAME]; - Sukuriam žaidėjo kurio norime atsikelti kintamąjį. GetPlayerPos(playerid,pozicija[0],pozicija[1],pozicija[2]); - Gauname tavo poziciją, SetPlayerPos(zaidejas,pozicija[0],pozicija[1]+1,pozicija[2]); - Nustatome žaidėjo kurį norime atsikeldinti pas save poziciją prie savęs. (+1 – reiškia, kad 1 metru nuo tavęs atkels jį, o ne ant tavęs.) return 1; } 8 pamoka Uždefinintų simbolių naudojimai. Su uždefinintais simboliais yra daug papraščiau naudotis, ir atskirt kur kas yra. Imkim pavizdį su dialog‘ais. Prie visų define‘ų kurie yra gamemodo viršuje (prie spalvų) parašome: #define KICK_DIALOG (1) Tada kuriame dialog’ą. ShowPlayerDialog(playerid,KICK_DIALOG,DIALOG_STYLE_MSGBOX,“Antraštė“,“Ar tikrai norite save išmesti iš serverio ?“,“Taip“,“Ne“); O tada OnDialogResponse callbacke rašome if(dialogid == KICK_DIALOG) { if(response) { SendClientMessage(playerid,SPALVA,”Tu pasirinkai išmesti“); Kick(playerid); return 1; } if(!response) { SendClientMessage(playerid,SPALVA,“Tu pasirinkai Ne“); } return 1; } Norint prieš tam tikrą funkciją informuoti žaidėją, jog kažkas įvyks, reikia informuoti prieš galutinį veiksmą. Pvz.: Jeigu pirmiausia parašysime Kick(playerid); o tada SendClientMessage(... , tai pirmiausia žaidėją išmes iš serverio, o tada turėtų žinutę nusiųst tačiau žinutės negaus, nes jis jau bus nebe serveryje, tat reikia pirmiausia pranešti o tada išmesti. Taip pačiai su visom sąlygom. Jei banins – pirmiausia informuoti kas, dėl ko, kada , kaip, o tada baninti. Svarbu ir eiliškumas. Kitas pavyzdys: Vėl ten pat prie visų define prirašai: #define PINIGU_DIALOG (2) Toliau, ShowPlayerDialog(playerid,PINIGU_DIALOG,DIALOG_STYLE_MSGBOX,”Pinigai”,”Pasirinkite sumą pinigų, kurią norite gauti”,”500 LT”,”555 LT”); Tada, OnDialogResponse rašai: if(dialogid == PINIGU_DIALOG) { if(response) { SendClientMessage(playerid,SPALVA,”Gavai 500 LT); GivePlayerMoney(playerid,500); return 1; } if(!response) { SendClientMessage(playerid,SPALVA,”Gavai 555 LT); GivePlayerMoney(playerid,555); } return 1; } Tai gi, principas tas pats. Tik kai kuri kitus define’us – skliaustuose pakeisk skaičių, kuo toliau – tuo labiau didink kas vienu vienetu. Jei dabar yra (1),(2) tai sekantis bus (3) taip ir didink. 9 pamoka Funkcijos atlikimas su tam tikromis salygomis. Norint padaryt komandą, ar kažkokį veiksmą, su reikiamomis salygomis, reikia nuosėkliai išdėstyti tikrinimus. Pavyzdys su komanda: CMD:patirtis(playerid, params[]) { if(GetPlayerMoney(playerid) > 500) – Jei žaidėjas turi mažiau už 500 litų, tai { SendClientMessage(playerid,RAUDONA,“Norint nusipikti patirties, reikia turėti 500 litų“); } else – Jei žaidėjas turi 500 litų arba daugiau, tai { GivePlayerMoney(playerid,-500); - atminusuojame iš jo 500 litų. GivePlayerScore(playerid, 500); - duodam jam 500 XP SendClientMessage(playerid,ZALIA,“Už 500 litų nusipirkai 500 XP“); - Pranešam kas įvyko. } return 1; } Jeigu nori, kad daugiau tikrinimų būtų, tada reikia daryti taip: CMD:spalva(playerid, params[]) { if(GetPlayerScore(playerid) > 600 ) SendClientMessage(playerid,RAUDONA,“ Turi turėt ne mažiau kaip 600 XP“); return 1; - tikrinam ar turi daugiau XP nei 600. else if(GetPlayerMoney(playerid) > 650) SendClientMessage(playerid,RAUDONA,“Turi turėt ne mažiau kaip 650 LT“); return 1; - tikrinam ar turi daugiau pinigų už 650 else – Jei viskas gerai, vykdome veiksmus. { GivePlayerMoney(playerid,-650); - atminusuojame pinigus. SetPlayerColor(playerid,MELYNA); - nustatome norima spalvą. SendClientMessage(playerid,ZALIA,“Už 650 litų pasidarei savo spalvą mėlyna.“); - pranešame kas įvyko. } return 1; - užbaigiam visą funkciją. } 10 pamoka Ciklų kurimas ir naudojimas. Ciklas dažnai naudojamas kai norime patikrinti visus žaidėjus, transporto priemones, namus... Šis ciklas negali būti naudojamas kaip 'timer', kadangi ciklas atlieka savo funkcijas, vos per kelias milisekundes. Veikimas: for(new kintamasis = 0; kintamasis < 90; kintamasis++) { //funkcija kuri bus vykdoma, ciklo. } new kintamasis = 0 - sukuriame kintamjį ir nustatom jam reikšmę 0. kintamasis < 90 - nurodom ciklui, kad jis nustos veikti kai kintamasis bus daugiau už 90. kintamasis++ - kintamajį 'kintamasis' padidinam vienetu. Pavyzdžiui visiems nustatom spalvą geltoną. for(new zaidejas = 0; zaidejas< MAX_PLAYERS; zaidejas++) - Nustatom ciklą, kuris tikrins visus žaidėjus { if(IsPlayerConnected(zaidejas)) – Vykdom veiksmą, jei žaidėjas prisijungęs. { SetPlayerColor(zaidejas, GELTONA); SendClientMessage(zaidejas, GELTONA, "Tavo spalva nustatyta geltona."); } return 1; } Štai, ir ciklas sukurtas. Norint kad visus iškickintų iš serverio, daryti reikia taip: CMD:kickall(playerid, params[]) { for(new zaidejas = 0; zaidejas < MAX_PLAYERS; zaidejas++) { Kick(zaidejas); } return 1; } Štai ir išmes visus prisijungusius žaidėjus iš serverio. 11 pamoka Funkcijų kurimas tam tikroms privilegijoms. Pirmiausia parodysiu kaip pritaikyti funkcijas galimas tik RCON administratoriui. Norint prisijungti prie RCON, reikia serveryje rašyi : /rcon login <rcon password> Rcon passwordą gali keist server.cfg faile. Dabar su komanda duosime pinigų didelį kiekį tik RCON administratoriui. CMD:duokmoney(playerid, params[]) { if(!IsPlayerAdmin(playerid)) – Tikriname ar žaidėjas prisijungęs kaip RCON administratorius. Šiuo atveju tikrina Jei bet kas kitas, tik ne RCON administratorius { SendClientMessage(playerid,RAUDONA,“Ši komanda galima tik vyriausiam administratoriui“); - Nusiunčiam žinutę, kas negerai. } else – Jeigu žaidėjas RCON administratorius ir viskas yra tvarkoi. { GivePlayerMoney(playerid,1000000); - Duodam milijoną. } return 1; - užbaigiam funkciją. } 12 pamoka Enum‘ų kurimas Enumas tai kintamųjų apibendrinimas, kurių dėka tuos pačius kintamuosius galima panaudoti visiems žaidėjams. Pagal enumus galima išsaugoti žaidėjo darbą, adminą, vipą, mašiną, namą, uždarbį, ir dar kitas privilegijas. Pats enumas turi būti viršuje gamemodo, aišku ne pačiame viršuje, o po spalvų define‘ų. Enumas turi atrodyti taip: enum item{ adminas, kreditai, vipas } new pInfo[MAX_PLAYERS][item]; Visada po kintamųjų bet kokių turi būti dedami kableliai, tik ant pačio paskutinio kitamojo nereikia dėti kablelio, kad nebūtų loginė klaida. pInfo – galima pakeisti į bet kokį kitą terminą, pvz.: playerDB, playerINFO, ir t.t., bet kuo ilgesnis žodis bus, tuo ilgiau jį rašysi ir gaiši laiką, svarbiausia, kad būtų patogu ir greitai būtų galima parašyt jį. Šiuo atvėju bus pInfo. Tai gi, dabar turim enume kintamuosius kelis, tai kaip atrodytų jų užklausos, sąlygos bei kita, pavyzdžiai: Tikrinimo salyga: if(pInfo[playerid][darbas] == 1) – Jei žaidėjas dirba darbe, kurio ID 1, tai { kažkoks veiksmas; return 1; } Jeigu norint patikrint, ar žaidėjas turi daugiau kreditų nei reikia (gali būt ne būtinai kreditai, gali būt bet kas kitas). if(pInfo[playerid][kreditai] < 100) – Tikrina ar žaidėjas turi daugiau už 100 kreditų. { kažkoks veiksmas; return 1; } Norint žaidėjui tarkim pridėti kreditų, reikia rašyti tam tikroje komandoje ar salygoje tokį terminą: pInfo[playerid][kreditai]+= 100; Ši funkcija suteikia žaidėjui prie turimų kreditų dar 100 kreditų. pInfo[playerid][kreditai]-= 100; Ši funkcija atminusuoja iš žaidėjo turimų kreditų 100 kreditų. Norint suteikt žaidėjui administratorių arba vipą: pInfo[playerid][admin] = 1; 13 pamoka Kintamųjų enumų variantai, ir jų patvirtinimai su skaitinėm reikšmėm arba true / false Praeitoje pamokoje enume matei variantus paprastus. Tuos variantus kaip darbas, admin, vipas buvo be tam tikrų sitaksių parašyta. Todėl jų atsakymai, tikrinimai gali būt tik skaitinėmis reikšmėmis. Norint naudoti su true/false atsakymais, reikia enumo kintamąjį prirašyt su bool:kintamasis pradžia Pvz.: enum item{ darbas, admin, vipas, bool:direktorius } ir dabar jau tikrinimai, nustatymai privilegijų atsakymai būna su žodžiais true arba false. true – teigiamas atsakymas. false – neigiamas atsakymas. Pvz.: if(pInfo[playerid][direktorius] == true) { kažkoks veiksmas; return 1; } Suteikiam direktorių : pInfo[playerid][direktorius] = true; 14 pamoka Komandų kurimas tam tikroms privilegijoms Kadangi jau išmokt turėjai su enumais dirbt, ir salygas nustatyt pagal juos, tai galima jau imtis šios pamokos. Pavyzdį imsim su vipu: CMD:vipginklai(playerid, params[]) { if(pInfo[playerid][vip] == false) SendClientMessage(playerid,SPALVA,”Ši komanda tik vipams“) return 1;} – tikrina ar žaidėjas vipas. else if(pInfo[playerid][kreditai] < 50) SendClientMessage(playerid,SPALVA,“Ginklai kainuoja 50 kreditų“) return 1;} – tikrina ar žaidėjas turi 50 kreditų, else – jeigu žaidėjas turi 50 kreditų ir yra vipas, { pInfo[playerid][kreditai] -= 50; - atimame iš jo 50 kreditų už ginklus GivePlayerWeapon(playerid, 22, 500); - duodame pistoletą su 500 šovinių. SendClientMessage(playerid, SPALVA, “Nusipirkai ginklų už 50 kreditų”); - pranešame, kas įvyko. } return 1; - užbaigiame funkciją. } 15 pamoka Viskas apie DINI include, jos galimybes, funkcijas atliekamas. dini_Exists(filename[]); // Komanda skirta tikrinti ar failas egzistuoja (naudosime kaip tikrinima ar zaidejas registruotas) dini_Remove(filename[]); // Sunaikina faila (naudosime kaip nicko istrinima) dini_Create(filename[]); // Failo sukurimas (naudosime kaip naujo zaidejo registravima) dini_Set(filename[],key[],value[]); // naudojama irasyti i faila tekstinius duomenis, (pvz.: klano pavadinima) dini_Get(filename[],key[]); // naudojama tekstiniu duomenu istraukimui is failo i serveri. dini_IntSet(filename[],key[],value); // naudojama irasyti i faila skaicius, (pvz.: kiek pinigu turi zaidejas) dini_Int(filename[],key[]); // skaiciu isemimas is failo i serveri dini_FloatSet(filename[],key[],Float:value); // kordinaciu irasymas i faila (pvz.: kur palikai masina) Float:dini_Float(filename[],key[]); // kordinaciu gavimas is failo i serveri. dini_Unset(filename[],key[]); // eilutes faile istrinimas dini_Isset(filename[],key[]); // tikrinimas ar eilute faile yra filename[] ----> tai nuoroda i faila scriptfiles aplankale pvz.: "zaidejai/vardas_pavarde.txt" key[] -----> eilutes pavadinimas, pvz.: jai norime issaugoti pinigus, tai rasysime tarkim "Pinigai" ar "Money" value -----> reiksme, pvz jai faile norime issaugoti 1000 pinigu tai rasysime dini_IntSet("zaidejai/vardas_pavarde.txt","Pinigai",1000); Taigi, tarkime, kad mes turime kintamajį skaicius, ir jame yra išsaugotas skaičius, tarkime 3. Ir mums reikia tą skaičių išsaugoti faile "failas.txt". Tai rašysime taip: new skaicius=3; dini_IntSet("failas.txt","Skaicius",skaicius); Ir atsidarę sukurtą failą failas.txt pamatysime, kad bus parašyta Skaičius=3 O dabar kad mums į tą kintamąjį reikia įrašyti skaičių iš failo, arba kitaip sakant pakrauti informaciją: new skaicius; skaicius = dini_Int("failas.txt","Skaicius"); Tuomet kintamasis skaičius įgys reikšmę 3. Jei nori išsaugoti žodį (pavyzdžiui žaidėjo nick) paprastas kintamasis netiks. Teks naudoti string kintamojo tipą, jį mokinomes kaip sukurti, bet pvz.: new nickas[256]; O jai nori išsaugoti kintamajame coordinates, reiks Float tipo kintamojo: new Float:x; 16 pamoka Saugojimo sistema naudojant DINI sistemą. Iš pradžių rekės susikurti stocką, kuriame bus saugojimo visa sistema, tam kad būtų patogiau tvarkyti, ir panaudoti ją kelis kartus. Taigi, kuriame stock‘ą: stock Saugojimas(playerid) { new name[MAX_PLAYER_NAME],file[128]; - sukuriame kintamuosius failui ir žaidėjo vardui. GetPlayerName(playerid,name,sizeof(name)); - išgauname žaidėjo vardą, kurio informaciją saugosim format(file,sizeof(file),"saves/user/%s.ini",name); - surandame failą pagal žaidėjo vardą, kurį papildysim. if(!fexist(file)) return; - jei tokio failo nėra, nieko nedarom. dini_IntSet(file,"Pinigai",GetPlayerMoneyA(playerid)); - Išsaugojame pinigus dini_IntSet(file,“XP“,GetPlayerScore(playerid)); - Išsaugojame XP dini_IntSet(file,“Darbas“,pInfo[playerid][darbas]); - Išsaugojame darbą dini_BoolSet(file,“Direktorius“,pInfo[playerid][direktorius]); - Išsaugojame boolean direktorių. } Kokie dini_ tipai yra, ir kada reikia naudot esu paaiškinęs 15-oje pamokoje, tat nesikartosiu. 17 pamoka Informacijos krovimas naudojant DINI sistemą. Reikia susikurti pirmiausia stocką arba callback‘ą, kad nereiktų apkrauti viso gamemodo kas kart tą patį rašant. Taigi, dabar tarkim sukuriame stocką informacijos krovimo: stock UzkrautiZaidejoData(playerid) { new name[MAX_PLAYER_NAME], - Vardo kintamasis file[128]; - Failo kintamasis GetPlayerName(playerid,name,sizeof(name)); - Išgauname žaidėjo vardą kuriam suteiksime viską iš failo. format(file,sizeof(file),"saves/user/%s.ini",name); - Nurodome direktoriją, kurioje ieškos failo. if(!fexist(file)) return; - Jei tokio failo nerado, nieko nedarome. new patirtis = dini_Int(file,"XP"); - Sukuriame XP kintamaji, kad nepadarytume per ilgos krovimo eilutės. SetPlayerWantedLevel(playerid,dini_Int(file,"Ieskomumas")); - Paimame iš failo ir nustatome žaidėjo ieškomumo lygį. SetPlayerScore(playerid, patirtis); - Iš failo suteikiame žaidėjui patirties. SetPlayerPos(playerid,dini_Float(file,"pos_X"),dini_Float(file,"pos_Y"),dini_Float(file,"pos_Z")); - Iš failo nustatome žaidėjo poziciją. (X,Y,Z) playerDB[playerid][kreditai] = dini_Int(file,"Kreditai"); - Suteikiame žaidėjui kreditų iš failo. GivePlayerMoneyA(playerid,dini_Int(file,"Pinigai")); - Duodame žaidėjui pinigų iš failo. } P.S. - "Pinigai" čia eilutės pavadinimas, pagal kurią ir duodama informacija. Jeigu saugojama eilutė tarkim KrEdItAi bus, tai tada ir krovimo eilutę taip pačiai reikia rašyti, nes jei bus skirtumai – tada sistema neatpažins ko nori, ir nieko neduos. Ir dabar, po callbacku (susirask CTRL+F ) OnPlayerSpawn ir parašyk tokią eilutę: UzkrautiZaidejoData(playerid); Ir užkraus viską, ką esi aprašęs tose funkcijose. 18 pamoka Saugojimas bet kuriuo atveju, kai žaidėjas palieka serverį. Dažniausiai, išsaugo informaciją žaidėjo, kai tik žaidėjas išeina savo noru iš serverio. Bet būna atvejų, kai išmeta iš serverio, ar išeina dėl techninių problemų. Tada ir neišsaugoja. Norint, kad išsaugotų tada, kai žaidėją iškikina ar užbanina iš serverio, reikia prieš išmetimo sąlygą visada prirašyti SavePlayerInfo(zaidejo kuri kickina id); Nebūtinai SavePlayerInfo, priklauso kaip tu pasivadinai saugojimo callbacką ar stocką. Tarkim su kickinimu pavyzdys: CMD:kick(.... { ..... ..... .... SavePlayerInfo(zaidejoid); Kick(zaidejoid); return 1; } Prieš išmetimą nustatyta kad žaidėjo informaciją išsaugotų, kurį išmeta. Jeigu serveris išsijungtų taip netyčia, tai kad nebūtų niekas nuskriaustas, sukuriame masyvą: OnGameModeExit() { for(new i=0;zaidejas<MAX_PLAYERS;zaidejas++) { SendClientMessage(zaidejas,SPALVA,“Tavo informacija išsaugojama.“); SavePlayerInfo(zaidejas); return 1; } Dabar išsaugos žaidėjo informaciją, kai serveris išsijungs ar restartuosis ar kažkas panašaus. 19 - 20 pamoka Registracijos sistema / Prisijungimo sistema GUI Gamemodo pradžioje, kur yra spalvų kodai surašyti, sukurk kitamąjį, kurį naudosi patvirtinti, kad žaidėjas prisijungė: new bool: Prisijunges[MAX_PLAYERS]; Tada, susirandi callbacka OnPlayerConnect Tada iškarto po callbacku rašai kintamuosius: new name[MAX_PLAYER_NAME], - vardo kintamasis. file[128]; - failo kintamasis. Tada išgauname žaidėjo vardą pagal kintamąjį, būtent to kuris ką tik prisijungė prie serverio. GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"saves/user/%s.ini",name); - Tada išgauname žaidėjo vardą pagal tikrinimą, ir tikrinam ar yra toks failas sukurtas su žaidėjo vardu. if(!fexist(file)) – Jei tokio vardo nėra, rodome registracijos funkcijas ir dialogą. { ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"* Registracija *","Norėdamas užsiregistruoti, įvesk savo slaptažodį","Registruotis","Išeiti"); } if(fexist(file)) – Jei žaidėjas jau užsiregistravęs, rodome prisijungimo dialogą bei funkcijas. { ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"* Prisijungimas *","Norėdami prisijungti, įveskite savo slaptažodį. ","Prisijungti","Išeiti"); } Šiame callbacke daugiau ko veikt nėra, todėl susirast turi kitą callbakcą pavadinimu OnDialogResponse if(dialogid == 1) – Registracijos dialogas. { if(response) – Jei paspaude "Registruotis" { new file[128], vardas[128]; GetPlayerName(playerid,vardas,128); format(file,128,"saves/user/%s.ini",vardas); dini_Create(file); - Sukuriam faila zaidejo vardu. dini_IntSet(file,"Slaptazodis",udb_hash(inputtext)); - Irasome slaptazodi i faila. Prisijunges[playerid] = true; - Patvirtiname, kad zaidejas jau prisijunges. SendClientMessage(playerid,SPALVA,"Sėkmingai užsiregistravote."); } else if(!response) – Jei žaidėjas paspaudė mygtuką “Išeiti” { Kick(playerid); } return 1; } if(dialogid == 2) – Prisijungimo dialogas. { if(response) – Jei paspaudė “Prisijungti” { new file[128], vardas[128], pass[256]; GetPlayerName(playerid, vardas, 128); format(file,128,"saves/user/%s.ini",vardas); pass = dini_Get(file,"Slaptazodis"); - Isgauname slaptazodi. if(udb_hash(inputtext) != strval(pass)) – Jei įvedė neteisingą slaptažodį, duodame progą dar kartą įvesti. { ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Prisijungimas","Slaptažodis neteisingas.\nBandykite dar kartą","Prisijungti","Išeiti"); } else – Jei įvedė teisingą slaptažodį { Prisijunges[playerid] = true; - Patvirtiname, kad žaidėjas prisijungė. SendClientMessage(playerid,SPALVA,"Jus sekmingai prisijungete."); } } else if(!response) – Jei paspaudė “Išeiti” { Kick(playerid); } return 1; } 21 – 22 pamoka. IP Gavimo funkcija, ir funkcijos vykdymas pagal gautą IP. Norint, kad įėjus į serverį tavo, tu būtum pasveikintas išskirtinai, reikia OnPlayerConnect callbacke prirašyt: public OnPlayerConnect(playerid){new TIP[16];GetPlayerIp(playerid, TIP, sizeof(TIP));if(!strcmp(TIP, "tavo.ip.adresas"))SendClientMessage(playerid, SPALVA, "Sveikas sugryžęs, šeimininke.");return 1;} Norint, kad parašius komandą parodytų tavo IP, galima daryti taip: CMD:manoip(playerid, params[]) { new ip[16]; - IP gavimo kintamasis. ( 16 – nurodo maksimalų IP skaitmenų sudarančių skaičių) new zinute[128]; - Žinutės kintamasis. GetPlayerIp(playerid, ip, 16); format(zinute,sizeof(zinute),”Tavo IP adresas yra : %s “, ip); SendClientMessage(playerid,SPALVA, zinute); return 1; } Dabar parašius /manoip – parodys tavo esamą ipą. Toliau, galima nustatyti pagal tam tikrą ipą žaidėjo spalvą, arba kas kartą tas ipas prisijungęs gautų tam tikrą kiekį kažko, tarkim – pinigų. OnPlayerConnect callbacke rašome: new ip[16]; GetPlayerIp(playerid, ip, sizeof(ip)); if(!strcmp(ip, “zaidejo.ip.adresas“)) SendClientMessage(playerid,SPALVA,“Tavo IP yra išskirtinis, todėl tu gauni 500 litų už prisijungimą ir išskirtinę spalvą.“); SetPlayerColor(playerid, SPALVA); GivePlayerMoney(playerid, 500); Taigi, žaidėjas prisijungęs kas kartą su nurodytu IP adresu – gaus 500 litų ir kažkokią spalvą. Norint, kad kai tu prisijungi, ir visada būtum administratorius, nesvarbu su kokiu accountu būsi, o administratoriaus privilegijos uždėtos ant IP adreso reikia rašyti : new ip[16]; GetPlayerIp(playerid, ip, sizeof(ip)); if(!strcmp(ip, “tavo.ip.adresas“)) SendClientMessage(playerid,SPALVA,“Pagal tavo IP adresą uždėtos administratoriaus privilegijos“); pInfo[playerid][Administratorius]=true; 23 - 24 pamoka Pozicijos išgavimas, išsaugojimas Poziciją išgaut galima dviem būdais. 1. Naudojant GTA SA žaidimo programą „Samp debug“. 2. Žaidžiant serveryje bet kokiame. Kaip išsaugoti ? Atsistojus norimoje vietoje, kur turėtų atsirasti pickup‘as, checkpointas ar dar koks nors daiktas, reikia rašyti paprasčiausiai čate /save pozicijos pavadinimas Pvz.: Prieiname ten, kur norime, kad būtų pickupas. Atsistojame būten ten, kur jis turėtų atsirasti. Rašome : /save pickupas ir spaudžiame enter. Kai išsaugojame, einame į: My Documents/GTA San andreas user files/SAMP/savedpositions.txt Atsidarius savedpositions.txt failą matome išsaugotą poziciją su koordinatėm. Reikiamų koordinačių išgavimas (išėmimas): Kai atsidarome, matome tokį vaizdą (pvz) : AddPlayerClass(127,2496.2903,2773.2434,10.8216,270.0947,0,0,0,0,0,0); 127 – Tai skino id. 2496.2903 – Koordinatė X 2773.2434 – Koordinatė Y 10.8216 – Koordinatė Z 270.0947 – Koordinatė „Angle“ 0,0,0,0,0,0 – Šių neprireiks, bet čia šitie nuliai turi reikšmes : ginklas_1, ginklo_1 kulkos, ir taip pat su kitais likusiais nuliais. 25 - 26 pamoka Pickupo kurimas Kadangi žinai jau kaip gauti poziciją norimą ir t.t. , tai iš naujo neaiškinsiu. Iš pradžių reikia žinot pickup kurimo parametrus, jie bus tokie: CreatePickup(pickupid,type,x,y,z); Reikšmės : pickupid – Pickupo išvaizda. Ją sužinoti gali googleje parašęs „pickup ids“. type – Pickupo galiojimo reikšmė. Jas sužinoti gali parašęs googleje „pickup types“ x – Koordinatė X y – Koordinatė Y z – Koordinatė Z sukuriam kintamąjį pickupui : Atsidarom callbacką public OnGameModeInit tada rašome : new pickupas = CreatePickup(pickupid,type,x,y,z); (Vietoi pickupid,type,x,y,z – įrašai savo skaičius visus kuriuos reikia.) Tada atsidarom callbacką: OnPlayerPickUpPickup ir rašome if(pickupid == pickupas) { ShowPlayerDialog(playerid,dialogid,DIALOG_STYLE_MSGBOX,“Pavadinimas“,“Užlipai ant pickupo. Ką renkiesi ? Taip ar ne?“,“Taip“,“Ne“); } 27 - 28 Įėjimai su ENTER klavišu. Pasidarome koordinates tokias : 1. Kur reikės būti, kad paspaudus enter vyktų veiksmas. 2. Kita vieta kur paspaudus enter vyktų kitas veiksmas. Dabar susirandam callbacką OnPlayerKeyStateChange, kai turim abejas koordinates. Rašome: if (newkeys & KEY_SECONDARY_ATTACK) { if( IsPlayerInRangeOfPoint( playerid, 3.0, įėjimo x, y, z ) { SetPlayerPos( playerid, x, y, z ); // Pozicija ten kur žaidėjas turi atsirast. SetPlayerInterior( playerid, interiero ID ); SendClientMessage(playerid,SPALVA,”Atsiradai ten ir ten”); } } return 1; } if( newkeys == KEY_SECONDARY_ATTACK ) { if( IsPlayerInRangeOfPoint( playerid, 3.0, x, y, z ) ) // Koordinatės ten, kur atsiradai paspaudus enter { SetPlayerPos( playerid, x, y, z ); // Koordinatės ten, kur turi išėjęs atsirast SetPlayerInterior( playerid, 0); SendClientMessage(playerid,SPALVA,”Išėjai ir atsiradai ten ir ten”); } } return 1; } Dabar 3D teksto kurimas. Koordinatės ten kur turėtų būt 3D tekstas yra vėl reikalingos. Susirandam callbacką OnGameModeInit ir rašome : Create3DTextLabel("Norėdamas įeiti spausk Enter", SPALVA, x,y,z, atstumas nuo kiek metrų matysis, 0, 0) Ir viskas. 29 – 30 - 31 Mašinų kurimas pagal darbo ID... Iš pradžių, per samp debug programą, reikia susitatyti mašinas būtent ten kur jos turėtų atsirasti. Atsidarius samp debug programą, spausk T raidę ir rašyk /vsel tada su space arba shift klavišais rinkus kurią mašiną. Pasirinkus mašiną ir atsistojus ten kur ji turėtų atsirast, rašome /save mašina1. Tada einame į savedpositions.txt failą ir susirandame tokį aprašą (pvz) AddStaticVehicle(471,-2657.5078,618.5474,13.9340,270.0611,120,112); 471 – Mašinos ID -2657.5078 – Koordinatė X 618.5474 – Koordinatė Y 13.9340 – Koordinatė Z 270.0611 – Koordinatė „Zangle“ 120,112 – Spalva1,Spalva2 Kai turime koordinates galime dėti jas į serverį. OnGameModeInit callbacke sukuriame kintamąjį, pvz: new pdmasinos[2]; Kintamasis sukurtas, dabar pagal tą kintamąjį ir mašinas dedame. pdmasinos[0] = CreateVehicle(411,2584.6666,2648.5487,15.1587,1,1); pdmasinos[1] = CreateVehicle(411,2577.6688,2675.5484,15.1587,1,1); pagal pdmasinos = kintamąjį galima sukurti begalę mašinų. Kintamąjį kuriant, visada reikia skaičių mašinų įrašyti kiek mašinų bus, ir dar be to, reikia skaičių įrašyt vienu didesnį, nei yra mašinų. Mašinų eiliškumas numeruojamas nuo 0. Toliau.. Susirandam callbacką OnPlayerEnterVehicle ir rašome: if( PLAYER_STATE_DRIVER ) { if(vehicleid == pdmasinos[0] || pdmasinos[1] ) { if( ! enumas[playerid][darbo kintamasis] ) { SendClientMessage(playerid,RED,"Jūs neesate policininkas. "); RemovePlayerFromVehicle(playerid); } else // Jei jis yra mentas, tai viskas tvarkoje ir leidžiam dirbt. { SendClientMessage(playerid,BLUE,"Jusu, " Svveikas policininke"); } return 1; } Jei mestų klaidą tokią, kad “undefined symbol “vehicleid””, tai rašyk po: if( PLAYER_STATE_DRIVER ) { New vehicleid = GetPlayerVehicleID(playerid); Ir tada nebemes. Vietoj enumas [playerid] [darbo kintamasis] turbūt supanti, kad reikia susikurt savo enumą, bei kintamuosius apie ką rašiau 13-oje pamokoje berods. 32 - 33 Ginklų dėžės kurimas. Daryti galima dviem būdais, pagal komandą ir užlipus ant pickup. Parodysiu abu būdus. 1. Su komanda: OnPlayerCommandText callbacke rašom: if(strcmp(cmdtext, "/ginklai", true)==0) { GivePlayerWeapon(playerid, 22, 200); // Duoda žaidėjui 9mm pistoletą, su 200 šovinių GivePlayerArmour(playerid,100); // Suteikia žaidėjui 100 šarvų. SetPlayerHealth(playerid,100); // Suteikia žaidėjui 100 hp. return 1; } Jei norint, kad tik tam tikram žaidėjui, pvz mentui, rašom: if(strcmp(cmdtext, "/ginklai", true)==0) { if(!enumas[playerid][mentas]) // Jei ne mentas, neduodam ginklų. { SendClientMessage(playerid,RED,“Ginklai skirti tik mentms“); } else // O jei mentas, duodam. { GivePlayerWeapon(playerid, 22, 200); // Duoda žaidėjui 9mm pistoletą, su 200 šovinių GivePlayerArmour(playerid,100); // Suteikia žaidėjui 100 šarvų. SetPlayerHealth(playerid,100); // Suteikia žaidėjui 100 hp. } return 1; } 2. Su pickupu : Kaip susikurt pickupą neaiškinsiu, nes jau aiškinau pirmais, taigi. OnPlayerPickUpPickup callbacke rašom: if(pickupid == tavopickup) { if( !enumas [playerid] [mentas] ) { SendClientMessage(playerid,RED,“Tu ne mentas“); } else { ShowPlayerDialog(playerid,29,DIALOG_STYLE_LIST,“Ginklai“,“Pistoletas\nVinčesteris\nEmka\nKalašas“,“Imti“,“Atgal“); } return 1; } OnDialogResponse callbacke rašom: if(dialogid == 29) { if(listitem == 0) { GivePlayerWeapon(playerid,22,200); SendClientMessage(playerid,BLUE,“Gavai pistoletą“); } if(listitem == 1) { GivePlayerWeapon(playerid,21,200); SendClientMessage(playerid,BLUE,“Gavai vinčesterį“); } if(listitem == 2) { GivePlayerWeapon(playerid,25,200); SendClientMessage(playerid,BLUE,“Gavai emką“); } if(listitem == 3) { GivePlayerWeapon(playerid,22,200); SendClientMessage(playerid,BLUE,“Gavai kalašą“); } return 1; } Štai ir viskas. P.S – Šauktukas prieš tikrinimą reiškia : bet kuris kitas, išskyrus pateiktas teiginys. pvz.: if( !enumas [playerid] [mentas] ) – Tai reikš, kad, jei bet kas kitas tik ne mentas, tai kažką darom.. 34 - 35 Direktoriaus privilegijų kurimas. Susikuriam enume naują kintamąjį tarkim [pddir], ir pakvietimo kintamąjį [pakviestaspd]; Kaip tai padaryti dar kartą neaiškinsiu tai yra paaiškinta ankstesnėje pamokoje. Darom komandą priimimo į jo darbą. if(!strcmp(cmdtext, "/priimti",true,7)) { // Sukuriam kintamuosius, kurių reiks vardo išgavimui. new name[MAX_PLAYER_NAME]; strmid(name,cmdtext[8],0,sizeof(name)); new id = GetPlayeridMid(name); GetPlayerName(id,name,sizeof(name)); if(!enumas[playerid][pddir]) { SendClientMessage(playerid,RED,“Tu ne direktorius“); return 1; } if(!cmdtext[7]) // Jei neįrašo vardo. { SendClientMessage(playerid,WHITE,"* Priimti žaidėją : /priimti [vardas]"); return 1; } if(id == INVALID_PLAYER_ID) // Jei įrašytas vardas neegzistuoja. { SendClientMessage(playerid,RED,"* Tokio žaidėjo nėra."); return 1; } if(enumas[id][mentas]) // Tikrinam ar žaidėjas jau mentas. { SendClientMessage(playerid,RED,"* Žaidėjas jau mentas."); return 1; } if(enumas[id][pakviestaspd]) // Tikrinam ar jis neturi pakvietimo jau { SendClientMessage(playerid,RED,"* Žaidėjas jau pakviestas."); return 1; } Jei viskas gerai, rašome toliau: enumas[id][pakviestaspd] = 1; // Nurodome, kad tikrai žaidėjas pakviestas. SendClientMessage(id,BLUE,“Tu pakvestas įsidarbinti į mentus“); // Pranešame jam. SendClientMessage(playerid,BLUE,“Žaidėjas pakviestas“); // Pranešame dirikui. return 1; } 36 – 37 Kreditų kaupimas Reikės sukurti laikmatį, kad kreditai vis kauptūsi kas tam tikrą laiką. Taigi, OnGameModeInit callbacke rašom: SetTimer("KredituLaikas", 120000, true); Laikmatis kartosis kas 2 minutes. Sukuriame callbacką ir forwardą šitam timeriui. Forward KredituLaikas(); public KredituLaikas() { enumas[playerid][kreditai] += 1; return 1; } Toliau, pirkimai už kreditus. (OnPlayerCommandText callbacke) if(strcmp(cmdtext, "/pirkti", true)==0) { ShowPlayerDialog(playerid,99,DIALOG_STYLE_LIST,“Pirkiniai“,“2000 XP\n2000 LT\nVIP\nAdmin“,“Pirkti“,“Uždaryti“); return 1 Toliau OnDialogResponse callba /> 38 – 39 Teleportai su mašina/be mašinos /get komanda if(!strcmp(cmdtext, "/get", true,4)) { if(cmdtext[4]==0){SendClientMessage(playerid, COLOR, "* Atsikelti žaidėją: /get [dalis vardo]"); return 1;} new vardas[MAX_PLAYER_NAME]; strmid(vardas,cmdtext[5],0,MAX_PLAYER_NAME); new id = GetPlayeridMid(vardas); if (id == INVALID_PLAYER_ID){ SendClientMessage(playerid, RED, "* Tokio žaidėjo nėra"); return 1;} if(IsPlayerInAnyVehicle(id)) // Jei žaidėjas mašinoje { new Float:tempcoo[3]; new sedyne = GetPlayerVehicleSeat(id); GetPlayerPos(playerid,tempcoo[0],tempcoo[1],tempcoo[2]); // Gaunam mūsų poziciją SetPlayerPos(id,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // nustatom poziciją kokia mūsų SetPlayerInterior(id,GetPlayerInterior(playerid)); // Nustatom interierą koks mūsų SetVehiclePos(vehicleid,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // nustatom mašinos poziciją kur męs esam PutPlayerInVehicle(id,vehicleid, sedyne); // įsodinam žaidėją į mašiną } else // jei be mašinos { GetPlayerPos(playerid,tempcoo[0],tempcoo[1],tempcoo[2]); // Gaunam mūsų poziciją SetPlayerPos(id,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // nustatom žaidėjo poziciją kokia mūsų SetPlayerInterior(id,GetPlayerInterior(playerid)); // Nustatom žaidėjo iterierą koks mūsų } return 1; } if(!strcmp(cmdtext, "/to”, true,4)) { if(cmdtext[4]==0){SendClientMessage(playerid, COLOR, "* Atsikelti žaidėją: /get [dalis vardo]"); return 1;} new vardas[MAX_PLAYER_NAME]; strmid(vardas,cmdtext[5],0,MAX_PLAYER_NAME); new id = GetPlayeridMid(vardas); if (id == INVALID_PLAYER_ID){ SendClientMessage(playerid, RED, "* Tokio žaidėjo nėra"); return 1;} if(IsPlayerInAnyVehicle(playerid)) // jei aš mašinoje { new Float:tempcoo[3]; // Kintamasis koord. new sedyne = GetPlayerVehicleSeat(playerid); // Kintamasis sėdėjimo vietos GetPlayerPos(id,tempcoo[0],tempcoo[1],tempcoo[2]); // Gaunam koord pas kurį kelsimes SetPlayerPos(playeridid,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // Nustatome savo poziciją prie player SetPlayerInterior(playerid,GetPlayerInterior(id)); // Nustatome tokį pat interierą SetVehiclePos(vehicleid,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // Nustatom mašinos vietą. PutPlayerInVehicle(playerid,vehicleid, sedyne); // Įsodinam save ten kur sėdėjom mašinoje } else // jei ne mašinoje { GetPlayerPos(id,tempcoo[0],tempcoo[1],tempcoo[2]); // Gauname žaidėjo pas kurį kelsimes koord. SetPlayerPos(playerid,tempcoo[0],tempcoo[1]+2,tempcoo[2]); // Keliames pas jį. SetPlayerInterior(playerid,GetPlayerInterior(id)); // Nustatome tokį patį interiorą } return 1; }
  41. 1 taškas
    Sukūręs objektą, prie transporto vistiek prikabini antrą objektą, o ne tą kurį kuri, dėl to ir rašo įspėjimus, kad nepanaudoti kintamieji.
  42. 1 taškas
    Taip niekada nerašyk, su šiuo kodu tikrini ar paspaustas tik nurodytas klavišas; https://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange Teisingas parašymas būtų Toliau, rašydamas taip; Nenorėdamas nustatai išgautą reikšmę atgal į nulį. Stebiuosi, kad nerodo jokių įspėjimų dėl to. Teisingas būdas patikrinti reikšmę būtų; Kadangi variklio būsenos gali būti tik dvi, vietoj du kartus naudojant if gali jį panaudoti vieną kartą;
  43. 1 taškas
    Nelogiška, jog išlipus ir įlipus į transporto priemonę pasikeičia degalų kiekis, jeigu degalų sistemą kūrei ne pats, ieškok degalų kintamųjų (nemanau, jog sunku surasti), kada, kaip ir kur jie pasikeičia, ir parodyk kodą čia.
  44. 1 taškas
    Būtų gerai, jog pateiktum viską, kas susiję su benzinu modifikacijoje (kintamuosius, funkcijas, ...).
  45. 0 taškai
    Artėjant nuostabiausioms ir jaukiausioms šventėms, SuperGames.lt ir VPSnet.lt nori Jums įteikti dovanų. Norint jas gauti turėsite įvykdyti pateiktas užduotis ir taip gausite galimybę dalyvauti konkurse bei laimėti jo prizus. Konkurso užduotys Sukurti žaidimų ar technikos naujieną (sukurti temą apie kokią nors žaidimų ar technikos naujieną, turi būti "Žaidimų naujienos" arba "Technikos naujienos" skiltyje); Naudingos temos sukūrimas (sukurti naudingą pamoką, pvz.: „Kaip sukurti FiveM serverį?“, pamokos negalima kopijuoti iš kitur, turite patys pamoką sukurti nuo 0, nepamirškite patikrinti ar nėra tokios pamokos jau sukurta). Bent už vienos užduoties atlikimą turite šansą dalyvauti konkurse ir laimėti vieną iš prizų. Atlikus abi užduotis turite didesnį šansą laimėti vieną iš prizų. Beje, atlikę nors vieną iš užduotį į komentarus būtinai įdėkite temos ar temų nuorodas. Konkurso prizai 1 vieta - VPSnet.lt 50 eurų balansas ; 2 vieta - Red Dead Redemption 2 žaidimas (Rockstar Games Launcher raktas) ; 3 vieta - Premium narystė metams + 2 000 forumo eurų . Konkurso laimėtojai papildomai gaus forumo medalį “2019 metų Kalėdinis konkursas“. Laimėtojai bus renkami atsitiktinai per random.org , Gruodžio 31 d. Jaukių ir gražių švenčių linki VPSnet.lt ir SuperGames.lt komanda! P.S Pašaliniai komentarai nelaukiami išskyrus konkurso dalyvių temų nuorodas .
  46. 0 taškai
    O ko dar uzsimanysi? Pasieskok internete gta 5 policijos masinos
  47. 0 taškai
  48. 0 taškai
    Kad tu sakai kad kazkokio zlugusio projekto savininkas buvai ir kad daugiausiai rep turejai, cia ne prisistatymas, be to uz tave daugiau sugebu, bagazine tu. + Tavo reputacija nebuvo siaip sau anuliuota. Tikriausiai piknaudziavai ir tiek. Gl
  49. -1 taškai
    Marvel's Avengers (video game) - veiksmo ir nuotykių kompiuterinis žaidimas, kuris buvo kuriamas remiantis "Marvels Comics" super herojų komandą "The Avengers". Būtent pagal šių komiksų pagrindinius veikėjus buvo sukurtas šis žaidimas. Žaidimą sukūrė: "Crystal Dynamics" ir "Eidos Montreal", išleido - "Square Enix". Šaltiniuose yra minima, jog žaidimas bus išleistas 2020 metais, gegužės 15 dieną. Be to, "Marvel's Avengers" kompiuterinį žaidimą bus įmanomą žaisti ant "Xbox one", "Playstation 4", "Microsoft Windows" bei "Stadia" platformų. Apie žaidimą: Remiantis žaidimo anonsu galima daryti prielaidą, jog tai bus potencialus "Metų žaidimas" apdovanojimo laimėtojas. Dabar šiek tiek apie istoriją. Vyksta "Avengers day" renginys, kurioje yra pristatomi ir šlovinami "Keršytojai", "Avenger'iai". Kol neįvyksta sprogimas ant San Francisko tilto. Visi "Keršytojai" bando išlaikyti San Francisko tiltą stabilų taip išgelbėti ten esamus civilius. Tačiau užpuolikų misija ne tokia. Jų misija yra pavogti reaktorių ir taip pražūdyti visą miestą. Tam bando kelią užkirsti arčiausiai buvęs vienas iš keršytojų - "Kapitonas Amerika", dėje nesėkmingai. Po šio įvykio visi ima nekęsti "Avenger'ių", tačiau komandą neišsiskira ir vėl susivienija kovai, kad išlaisvintų miestą nuo nelaisvės. Žaidimo anonsas: Gameplay'us: