Page 10 of 16 FirstFirst ... 67891011121314 ... LastLast
Results 136 to 150 of 233
http://idgs.in/13940
  1. #136
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    Game Caching System ....

    Masi baru awal .. mungkin ( mungkinkah ? gw ga yakin jg si ... hahaha ) gw tambahin ... masih beta tapi rasanya ga pernah ada masalah

    simpan di custom script code section

    Code:
    // Script Caching ========================================================================
    // Berisi Script untuk Game cache
    // Dengan Return Bug
    //
    // =========================================================================================
    
    // Typecasting Standar
    
    function H2I takes handle h returns integer
        return h
        return 0
    endfunction
    
    function H2S takes handle h returns string
    	return I2S(H2I(h))
    endfunction
    
    // Flush Game Cache ========================================================================
    // Untuk membuang isi game cache
    // Termasuk Fungsi Destroy
    //
    // =========================================================================================
    
    //fungsi umum
    function FlushMissionData takes string Dmission returns nothing
    	call FlushStoredMission(udg_data_cache, Dmission)
    endfunction
    
    //untuk Lebih Spesifik
    
    //untuk Tipe Data Integer
    function FlushMissionInteger takes string Dmission, string Dkey returns nothing
        call FlushStoredInteger(udg_data_cache, Dmission, Dkey)
    endfunction
    
    //untuk Tipe Data Real
    function FlushMissionReal takes string Dmission, string Dkey returns nothing
        call FlushStoredReal(udg_data_cache, Dmission, Dkey)
    endfunction
    
    // Fungsi Caching  [ Penyimpanan ] =========================================================
    // Menyimpan Handle
    // Menyimpan Integer
    // Menyimpan Real
    // =========================================================================================
    
    function StoreDataHandle takes string Dmission, string Dkey, handle Dhandle returns nothing
        // Menyimpan Data Handle, dipisahkan dari Integer agar mudah dibedakan
        call StoreInteger(udg_data_cache, Dmission, Dkey, H2I(Dhandle))
    endfunction
    
    function StoreDataInteger takes string Dmission, string Dkey, integer Dinteger returns nothing
        // Menyimpan Data Integer  
        call StoreInteger( udg_data_cache, Dmission, Dkey, Dinteger )
    endfunction
    
    function StoreDataReal takes string Dmission, string Dkey, real Dreal returns nothing
        // Menyimpan Data Real
        call StoreReal( udg_data_cache, Dmission, Dkey, Dreal )
    endfunction
    
    // Caching function helper [ Unpacking ] ===================================================
    // Mengambil data yang disimpan dalam Cache
    // Berbeda untuk setiap tipe
    //
    // ========================================================================================= 
    
    function GetStoredInt takes string Dmission, string Dkey returns integer
    	return GetStoredInteger( udg_data_cache, Dmission, Dkey )
    endfunction
    
    function GetStoredReals takes string Dmission, string Dkey returns real
        return GetStoredReal ( udg_data_cache, Dmission, Dkey)
    endfunction
    
    function GetStoredUnit takes string Dmission,string Dkey returns unit
        return GetStoredInteger( udg_data_cache, Dmission, Dkey )
        return null
    endfunction
    
    function GetStoredGroup takes string Dmission, string Dkey returns group
    	return GetStoredInteger(udg_data_cache, Dmission, Dkey)
    	return null
    endfunction
    
    function GetStoredTimer takes string Dmission, string Dkey returns timer
        return GetStoredInteger ( udg_data_cache, Dmission, Dkey )
        return null
    endfunction
    
    function GetStoredLocation takes string Dmission, string Dkey returns location
    	return GetStoredInteger(udg_data_cache, Dmission, Dkey)
    	return null
    endfunction
    
    function GetStoredTrigAct takes string Dmission, string Dkey returns triggeraction
    	return GetStoredInteger(udg_data_cache, Dmission, Dkey)
    	return null
    endfunction
    Memerlukan trigger ( new > Trigger ) di map seperti ini

    Code:
    function Trig_Cache_Actions takes nothing returns nothing
        call FlushGameCache(InitGameCache("arcache"))
        set udg_data_cache = InitGameCache("arcache")
    endfunction
    
    //===========================================================================
    function InitTrig_Cache takes nothing returns nothing
        set gg_trg_Cache = CreateTrigger(  )
        call TriggerAddAction( gg_trg_Cache, function Trig_Cache_Actions )
    endfunction

  2. Hot Ad
  3. #137
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    okey ...

    kenapa gw bikin seperti ini .....

    1. ketika menyimpan seperti misalnya unit ga usah pusing2x mengconvert dari integer ke unit ketika akan mengambil data dari cache

    2. ketika melihat isi kode tidak akan tertukar dengan line yang mengambil unit dengan timer atau dengan integer biasa.


    contoh menggunakannya dengan tipe spell seperti illuminate ezalor a.k.a keeper of the light

    dimana kita menyimpan charge lv ( yah seperti itulah .. )

    sebagai referensi lihat post sebelumnya mengenai gamecache

    disebelah tanda "//" adalah comment yang menjelaskan lkegunaan dari line yang dibawahnya

    untuk kenyaman baca dari bawah keatas jangan dari atas kebawah karena nanti belibet

    Code:
    // trigger condition
    function AT_condition takes nothing returns boolean
        return GetSpellAbilityId() == 'H000'
    endfunction
    
    // filter ketika damage unit
    function AT_Filter takes nothing returns boolean
        return IsPlayerEnemy(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(GetFilterUnit())) and GetWidgetLife(GetFilterUnit()) > 0.405
    endfunction
    
    // Copy group ...
    function US_CopyGroup takes group g returns group
        set bj_groupAddGroupDest = CreateGroup()
        call ForGroup(g, function GroupAddGroupEnum)
        return bj_groupAddGroupDest
    endfunction
    
    
    // this function responsible in increasing burst level
    function charge_burst takes nothing returns nothing
                     // mencari timer yang tadi distart pada fungsi sebelumnya
    	local timer t = GetExpiredTimer()
                     // mengambil nama string dari timer ( untuk indentitas ), exec dalam fungsi ini memiliki nilai yang sama dengan exec di fungsi sebelumnya karena itu string dari timer adalah seperti identitas alamat dalam mengambil data dari gamecache
    	local string exec = H2S(t)
                     // mengambil integer dari burst
    	local integer burst = GetStoredInt ( exec,"burst")
                     // mengambil integer dari maxburst
    	local integer maxburst = GetStoredInt ( exec,"maxburst")
    	
                    // line logikal untuk menambah burst, karena timer digunakan maka fungsi ini aka diulang terus menerus ( repeating timer dengan waktu periodik 0.5 detik
    	set burst = burst + 1
    	if burst > maxburst then
    	   set burst = maxburst
    	endif
    
                    // menyimpan value  dari burst	
    	call StoreDataInteger( exec, "burst", burst )
    	
    	// remove memory leak
                       // not yet
    
    endfunction
    
    // this function responsible for inflicting damage
    function damage_burst takes nothing returns nothing
    // catatan : dalam get stored saya menggunakan exec dan exe ... perhatikan baik2x karena ada gamecache yang diambil dari sisi timer dan ada yang dari sisi trigger
    
                      // mengambil nama string dari trigger untuk identitas ( trigger endcast dari fungsi charge_actions
    	local string exec = H2S(GetTriggeringTrigger())
                     // mengambil timer yang disimpan pada exec, get expired timer tidak bisa digunakan karena timer distart bukan untuk fungsi ini
    	local timer tn = GetStoredTimer (exec,"timer")
                    // mengambil string dari timer untuk identitas
    	local string exe = H2S(tn)
                     // mengambil value burst ( value ini sudah berubah karena adanya fungsi charge_burst yang di execute lebih dulu ; seperti meng-overwrite data dalam gamecache )
    	local integer burst = GetStoredInt( exe ,"burst")
                     // mengambil lokasi dari gamecache
    	local location lcc = GetStoredLocation ( exe ,"target")
                     // mengambil unit dari gamecache
    	local unit cst = GetStoredUnit (exe, "caster")
    	
    	// the utilities
                       // filter untuk damage area
    	local boolexpr b = Condition(function AT_Filter)
    	local group g = CreateGroup()
    	local group n
    	local unit f
    
    // line untuk mendamage unit musuh dalam radius 500 sebesar 100*burst 	
    	call GroupEnumUnitsInRangeOfLoc(g, lcc, 500 , b)
                        set n = US_CopyGroup(g)
        loop
            set f = FirstOfGroup(n)
            exitwhen f == null
            call UnitDamageTarget(GetTriggerUnit(), f, 100*burst, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, null)
            call GroupRemoveUnit(n, f)
        endloop
    
        // removing leaks
       // Not Yet
        
    endfunction
    
    
    function charge_actions takes nothing returns nothing
    
        // Membuat timer untuk di "attach" ke fungsi lain, karena memang seperti ini kegunaan timer dan handle lainnya
        local timer time = CreateTimer()
       // Location untuk menentukan area target dari spell dan nanti akan dipindahkan
        local location lcc = GetSpellTargetLoc()
       // trigger yang akan dipindahkan ke fungsi lainnya, singkatnya seperti trigger dalam trigger
        local trigger trig = CreateTrigger()
       // merubah kode timer dari handle ke string ... merupakan "kewajiban" dalam gamecache
        local string exec = H2S(time)
      // unit yang akan dipindahkan ke fungsi lainnya
        local unit cst = GetTriggerUnit()
    
      // pembuatan even trigger, dalah hal ini sama seperti dalam inisiasi trigger
        call TriggerRegisterUnitEvent(trig,GetTriggerUnit(),EVENT_UNIT_SPELL_ENDCAST)
      // menyimpan action dari trigger kedalam gamecache untuk dipindahkan ke fungsi damage_burst
        call StoreDataHandle(H2S(trig),"trigact",TriggerAddAction(trig,function damage_burst))
    
      // persiapan menyimpan kedalam gamecache untuk dimasukan ke fungsi selanjutnya
      // menyimpan trigger
        call StoreDataHandle(exec, "lp", trig)
      // menyimpan burst valuenya 0
        call StoreDataInteger(exec, "burst", 0)
      // menyimpan maximum burst ( waktu channeling akan selesai apabila value mencapai 5 )
        call StoreDataInteger(exec, "maxburst", 5)
      // menyimpan unit caster
        call StoreDataHandle(exec, "caster", cst)
      // menyimpan lokasi target
        call StoreDataHandle(exec, "target", lcc)
      // menyimpan timer sebagai identitas untuk fungsi yang akan dikirim, bagian ini dibuat khusus untuk damage_burst
        call StoreDataHandle(H2S(trig), "timer", time)
      // memulai timer
        call TimerStart(time, 0.5, true, function charge_burst )
    
    // catatan kaki ... untuk penyimpanan ada yang menggunakan exec dan H2S(trig), hal ini akan dimengerti mengapa setelah melihat fungsi-fungsi diatas
    
        // removing leaks
       // Not yet
    endfunction
    
    //==== inisiasi trigger biasa ...
    
    function InitTrig_burst takes nothing returns nothing
        set gg_trg_burst = CreateTrigger(  )
        call TriggerRegisterAnyUnitEventBJ( gg_trg_burst, EVENT_PLAYER_UNIT_SPELL_EFFECT )
        call TriggerAddCondition( gg_trg_burst, Condition( function AT_condition ) )
        call TriggerAddAction( gg_trg_burst, function charge_actions )
    endfunction
    semoga cukup jelas ... ::smoke::

  4. #138
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    Btw rizz, GEAR.w3x dah gua ganti smua globals masuk dalam satu body. Jadinya bisa dibuka di WE biasa trus diedit (kemungkinan, harus dicoba dolo). Kalo gk bisa kasih tau alesan nya apaan nanti .j file nya gua rubah sekaligus jd normal.
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  5. #139
    Section's Avatar
    Join Date
    Nov 2006
    Location
    about.me/SECTION
    Posts
    2,095
    Points
    11,041.04
    Thanks: 45 / 112 / 98

    Default

    Secara yach... ni tutorial komplit bangget.... But ada yang punya JASS library atau JASS Dictionary... habisnya suka lupa maksudnya ini tapi fungsinya apa.... Need banget!

    Kalo misalnya gak ada yang punya... tolong dengan sangat bantuin terjemahin fungsi - fungsinya terus nanti aku bikin di Visual Basic atau C++.

  6. #140

    Join Date
    Oct 2007
    Posts
    2
    Points
    2.20
    Thanks: 0 / 0 / 0

    Default

    sebenarnya JASS itu apa sih? masih newbie nih.
    Basic nya JASS itu pake bahasa apa? Soalnya basic gw cuma di C++, VB doang

  7. #141
    rizki86's Avatar
    Join Date
    Aug 2007
    Location
    On Pad
    Posts
    1,617
    Points
    1,629.02
    Thanks: 1 / 2 / 2

    Default

    jass itu sebuah bahasa coding yang di gunakan pada map game yang di develop oleh blizzard contoh nya war3 dan star2...

    bentuk dari jass itu ga jauh beda sama bahasa lain, soalnya dari versi GUI nya aja kliatan seperti bentuk relasi [if/then/else] atau kondisional... tapi karena hanya intern ke game itu jadi ga bisa terlalu bergerak ke program extern dari game itu...

    tapi klo mo extraordinary sih harus dewa maenin jass nya, dan klo gasala di sebut enhanced jass...

    @section : klo mo tau sih sperti yang dibilang oom doos, pake jass craft itu dah ada... tinggal bisa apa kaga baca nya [bahasa inggris]... masa ga bisa sih bahasa inggris...

    hare gene...
    Box Head isn't just Box, but He had a Head too

  8. #142
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    JASS (Java Averted Syntax System) adalah computer low level language system depicted dari system Java SUN.

    Kalau kamu berkenan belajar JASS coba download JASSCRAFT di www.wc3campaigns.net. JASSCRAFT adalah IDE buat language JASS.

    Sebetulnya language tersebut logika nya sama seperti Java, bedanya tidak mengimplementasikan fitur Object Oriented JAVA. Jadinya gak ada class definition, class reference, segala macem. JASS hanya function oriented. Artinya kamu hanya bikin function doank.

    System syntax JASS rada sama seperti Visual Basic, jadinya buat kamu gampang belajar JASS, dan logika java sama seperti c++ jadinya gampang juga buat kamu .

    Have fun, if you need tutorial gua relink ke JASS learning website punya Vexorian.
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  9. #143
    rizki86's Avatar
    Join Date
    Aug 2007
    Location
    On Pad
    Posts
    1,617
    Points
    1,629.02
    Thanks: 1 / 2 / 2

    Default

    ooogh buatan sun bubur bayi instant ya,.... eh sala sun java....

    berarti secara ga langsung menggunakan jass sama aja kek belajar java gitu ya...
    Box Head isn't just Box, but He had a Head too

  10. #144
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    Gak... bukan buatan sun java...
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  11. #145
    rizki86's Avatar
    Join Date
    Aug 2007
    Location
    On Pad
    Posts
    1,617
    Points
    1,629.02
    Thanks: 1 / 2 / 2

    Default

    tapi bilangnya dari sun java... kok bukan dari sun jadinya...???
    Box Head isn't just Box, but He had a Head too

  12. #146
    MimiHitam's Avatar
    Join Date
    Oct 2006
    Posts
    9,242
    Points
    16,524.95
    Thanks: 14 / 58 / 42

    Default

    JASS is an event driven scripting language used in Blizzard Entertainment's Warcraft III game. Map creators can use it in the World Editor to create triggers and AI scripts.

    Features

    The language provides an extensive API that gives programmers control over nearly every aspect of the game world. It can, for example, give orders to units, change the weather and time of day, play sounds and display text to the player, and manipulate the terrain. It has a syntax similar to Turing and Delphi, although, unlike those languages, it is case sensitive.

    [edit] Sample code

    The following function creates a string containing the message "Hello, world!" and displays it to all players:

    function Trig_JASS_test_Actions takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), "Hello, world!" )
    endfunction

    or if you want this only for one player:

    function Trig_JASS_test_Actions takes player p returns nothing
    call DisplayTextToPlayer( p, 0,0, "Hello, world!" )
    endfunction

    (DisplayTextToPlayer got two x,y arguments used as coordinates for the output in the game screen)

    And if you want to repeat the message 100 times and show the iterator:

    function Trig_JASS_test_Actions takes player p returns nothing
    local integer i
    set i=0
    loop
    exitwhen i>100
    call DisplayTextToPlayer( p, 0,0, "Hello, world! "+I2S(i) )
    set i=i+1
    endloop
    endfunction

    http://en.wikipedia.org/wiki/JASS
    http://jass.sourceforge.net/doc/
    http://www.wc3jass.com/viewforum.php?f=22
    http://www.wc3campaigns.net/showthread.php?t=74894
    http://www.wc3campaigns.net/tutorials.php?f=650

  13. #147
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    "depicted" or di implementasi dari struktur JAVA. Yang ngebuat gua kurang tau...
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  14. #148
    DJTuing's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    701
    Points
    911.34
    Thanks: 0 / 0 / 0

    Default

    btw ruh rizuh... loe kasih contoh dong 1 spell yang rada bagus....
    tapi spell nya yang gini

    "Target unit" ambil target, tererus misalnya di puter puterin muterin "Caster" 360drajat and smakin jauh bla bla bla akhirnya di lemparin --"

    kasih yang kaya gt dong (wa mau belajar make jass tapi yang buat ky gituan)
    I AM WOW LOVER
    Zhirne : Shaman Lvl 80
    Chirne : Druid Lvl 80
    Mikelewis : Warrior Lvl 80

  15. #149
    Section's Avatar
    Join Date
    Nov 2006
    Location
    about.me/SECTION
    Posts
    2,095
    Points
    11,041.04
    Thanks: 45 / 112 / 98

    Exclamation DJTuing.....

    Om DJTuing.. itu udah ada.. kalo gak salah aku pernah dapet.. dia puter - puterin tu target ampe pusing terus dilempar.... Sory sekarang lagi gak bawa tu sample.


    ---Di rumah banyak bgt tu sample skill---

  16. #150
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    Btw JASS user yang nongkrong di sini siapa aja ?

Page 10 of 16 FirstFirst ... 67891011121314 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •