Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - inż. Avallach

Strony: 1 2 [3] 4 5 6
41
Jestem bardzo zdziwiony że dotąd coś takiego nie powstało - o ile wiem, popularny vobblider zawiera informacje tylko na temat plików 3ds (obiektów statycznych), a żadnych o 150 interaktywnych obiektach w asc i mds.

Lista obiektów jest dostępna w tym poście: http://themodders.org/index.php?/topic/14060-nazwy-oraz-funkcje-vobow-uzytkowych/page__gopid__1047059#entry1047059
Spoiler
G1 i G2NK:
BARBQ_SCAV.MDS
BEDHIGH_1_OC.ASC
BEDHIGH_2_OC.ASC
BEDHIGH_PC.ASC
BEDHIGH_PSI.ASC
BED_1_OC.ASC
BED_2_OC.ASC
BENCH_1_NC.ASC
BENCH_1_OC.ASC
BENCH_2_OC.ASC
BENCH_3_OC.ASC
BENCH_THRONE.ASC
BOOK_BLUE.MDS
BSANVIL_OC.MDS
BSCOOL_OC.MDS
BSFIRE_OC.MDS
BSSHARP_OC.MDS
CAULDRON_OC.ASC
CHAIR_1_NC.ASC
CHAIR_1_OC.ASC
CHAIR_1_PC.ASC
CHAIR_2_NC.ASC
CHAIR_2_OC.ASC
CHAIR_3_OC.ASC
CHAIR_3_PC.ASC
CHESTBIG_OCCHESTLARGE.MDS
CHESTBIG_OCCHESTLARGELOCKED.MDS
CHESTBIG_OCCHESTMEDIUM.MDS
CHESTBIG_OCCHESTMEDIUMLOCKED.MDS
CHESTBIG_OCCRATELARGE.MDS
CHESTBIG_OCCRATELARGELOCKED.MDS
CHESTSMALL_OCCHESTSMALL.MDS
CHESTSMALL_OCCHESTSMALLLOCKED.MDS
CHESTSMALL_OCCRATESMALL.MDS
CHESTSMALL_OCCRATESMALLLOCKED.MDS
DOOR_WOODEN.MDS
FIREPLACE_GROUND.ASC
FIREPLACE_GROUND2.MDS
FIREPLACE_GROUND_USE.ASC
FIREPLACE_HIGH.ASC
FIREPLACE_HIGH2.MDS
FIREPLACE_MIDDLE.ASC
FIREPLACE_NCSTONE.ASC
FIREPLACE_NCSTONE2.ASC
FIREPLACE_ORCSTAND.ASC
FIREPLACE_PCHIGH.ASC
FIREPLACE_PCHIGH2.ASC
GRAVE_ORC_1.MDS
GRAVE_ORC_2.MDS
GRAVE_ORC_3.MDS
GRAVE_ORC_4.MDS
GROUND_SLOT.ASC
HERB_PSI.MDS
IDOL_SLEEPER3_PC.ASC
LAB_PSI.ASC
LADDER_10.ASC
LADDER_2.ASC
LADDER_3.ASC
LADDER_4.ASC
LADDER_5.ASC
LADDER_6.ASC
LADDER_7.ASC
LADDER_8.ASC
LADDER_9.ASC
LEVER_1_OC.MDS
ORCDRUM_1.ASC
ORE_GROUND.ASC
PAN_OC.MDS
REPAIR_PLANK.ASC
SMOKE_WATERPIPE.MDS
THRONE_BIG.ASC
TOUCHPLATE_STONE.MDS
TURNSWITCH_BLOCK.MDS
VOBBOX_1.ASC
VWHEEL_1_OC.MDS
WASH_SLOT.ASC
Tylko G1:
BABEBED_1.ASC
BACKPACK_1.ASC
BARRELMOUNTED_OC.ASC
BARRELO_OC.ASC
BARREL_1_OC.ASC
BARREL_2_OC.ASC
BASKET_RICE.ASC
BATHTUB_WOODEN.ASC
BEDLOW_NC.ASC
BEDLOW_OC.ASC
BEDLOW_PC.ASC
BEDLOW_PSI.ASC
BELLOW_MINE.ASC
BELLOW_MINE.MDS
CHAIR_THRONE.ASC
CHESTBIG_ORCMUMMY.ASC
EXCALIBUR_1.ASC
LOVEBED_OC.ASC
MOB_GONG.ASC
MOB_PAUKE.ASC
PILLAR_7M.ASC
PILLAR_7M.MDS
PILLAR_ORC.MDS
PRIESTGRAVE_OT.ASC
PUSH_STONE.MDS
PUSH_STONE_M01.ASC
ROPEWAY_OW.MDS
SCAV_MEAT.ASC
SECRETDOOR_STONE.MDS
SPORTAL_SLEEPER.MDS
STOMPER_OM.MDS
STONEMILL_OM.MDS
Tylko G2NK:
BARBQ_NW_MISC_SHEEP_01.MDS
BAUMSAEGE_1.ASC
BEDHIGH_NW_EDEL_01.ASC
BEDHIGH_NW_MASTER_01.ASC
BEDHIGH_NW_NORMAL_01.ASC
BENCH_NW_CITY_01.ASC
BENCH_NW_CITY_02.ASC
BENCH_NW_OW_01.ASC
BOOK_ADDON_STONEPLATE_01.ASC
BOOK_NW_CITY_CUPBOARD_01.ASC
CAMPFIRE_NW_FIREPLACE_01.ASC
CHAIR_NW_EDEL_01.ASC
CHAIR_NW_NORMAL_01.ASC
CHESTBIG_ADD_STONE_LOCKED.MDS
CHESTBIG_ADD_STONE_OPEN.MDS
CHESTBIG_NW_NORMAL_LOCKED.MDS
CHESTBIG_NW_NORMAL_OPEN.MDS
CHESTBIG_NW_RICH_LOCKED.MDS
CHESTBIG_NW_RICH_OPEN.MDS
CHESTSMALL_NW_POOR_LOCKED.MDS
CHESTSMALL_NW_POOR_OPEN.MDS
DOOR_NW_CITY_01.MDS
DOOR_NW_DRAGONISLE_01.MDS
DOOR_NW_DRAGONISLE_02.MDS
DOOR_NW_NORMAL_01.MDS
DOOR_NW_POOR_01.MDS
DOOR_NW_RICH_01.MDS
FIREPLACE_NW_LAMP_01.ASC
FLAG_MESH.ASC
HERB_NW_MISC_01.ASC
INNOS_BELIAR_ADDON_01.ASC
INNOS_NW_MISC_01.ASC
ORE_GROUND_GOLD.ASC
RMAKER_1.MDS
SDW_MOBSI.ASC
STOVE_NW_CITY_01.ASC
THRONE_NW_CITY_01.ASC
TOUCHPLATE_SEQ_STONE_KEY_01.MDS
TOUCHPLATE_SEQ_STONE_MEN_01.MDS
TOUCHPLATE_SEQ_STONE_STORM_01.MDS
TOUCHPLATE_SEQ_STONE_SUN_01.MDS
TOUCHPLATE_SEQ_STONE_TRAP_01.MDS
TREASURE_ADDON_01.ASC
Screeny są podzielone na kategorie: g1, g2nk i wspólne. Na każdym jest przedstawiony osobny obiekt, a nazwa screena (bez rozszerzenia .jpg) to jego visual.

http://speedy.sh/wSHaf/interactive-objects-g1-g2notr-by-avallach.zip
http://www.filefactory.com/file/4fbhh9qctetn/n/interactive_objects_g1_g2notr_by_avallach_zip
http://www66.zippyshare.com/v/69715765/file.html
//edit: japierdolę, dałem na trzy hostingi żeby nie wygasło szybko :facepalm:
To raczej nie wygaśnie: http://www.worldofgothic.de/?go=moddb&action=view&fileID=868

I jeszcze forma przeglądarkowa (niestety z wywalonymi _ i . z nazw):
G1+G2NK:
Tylko G1:
Tylko G2NK:

42
Skrypty / [g2nk] Lista VisualFX i ParticleFX
« dnia: 2012-07-12, 21:21 »
Lista może przyda się machinimowcom, doświadczeni skrypterzy mogą woleć ręcznie przeglądać całe definicje w VisualFXInst.d lub tworzyć własne. Ale może kogoś zainteresuje. W konsoli można odtwarzać je za pomocą komendyPLAY FX [nazwa]Przydawać mogą się też efekty deszczu i śniegu:
ZSTARTRAIN [siła]
ZSTARTSNOW [siła]
Ważniejsze VisualFX'y nie należące do zaklęć:
Black_Screen
Control_Castblend
Control_Leaverangefx
Dementor_Fx
Focus_Highlight
Fov_Morph1
Fx_Earthquake
Sleep_Blend
Slow_Motion
Slow_Time
Stargate_Screenblend
Transform_Castblend
Transform_Noplacefx
Vob_Burn
Vob_Magicburn
Pozostałe VisualFX'y nie należące do czarów:
Spoiler
Fov_Morph2
Slow_Time_Child
Slow_Time_Child2
Vob_Burn_Child1
Vob_Burn_Child2
Vob_Burn_Child3
Vob_Burn_Child4
Vob_Burn_Child5
Vob_Burn_Child6
Vob_Magicburn_Child1
Vob_Magicburn_Child2
Vob_Magicburn_Child3
Vob_Magicburn_Child4
Vob_Magicburn_Child5
Vob_Magicburn_Child6
Ważniejsze Spellfx'y czarów:
Spoiler
Spellfx_Armyofdarkness
Spellfx_Arrow
Spellfx_Beliarsrage
Spellfx_Beliarsrage_Target_Cloud
Spellfx_Beliarsweapon_Upgrate
Spellfx_Bolt
Spellfx_Bow
Spellfx_Breathofdeath
Spellfx_Breathofdeath_Cast
Spellfx_Breathofdeath_Invest
Spellfx_Breathofdeath_Target
Spellfx_Chargefireball
Spellfx_Chargefireball_Invest_Blast1
Spellfx_Chargezap
Spellfx_Chargezap_Invest_Blast1
Spellfx_Charm
Spellfx_Charm_Origin
Spellfx_Charm_Target
Spellfx_Concussionbolt
Spellfx_Crossbow
Spellfx_Deathball
Spellfx_Deathball_Firecloud
Spellfx_Deathbolt
Spellfx_Deathbolt_Firecloud
Spellfx_Destroyundead
Spellfx_Dragoneye_Left
Spellfx_Dragoneye_Right
Spellfx_Energyball
Spellfx_Energyball_Target
Spellfx_Fear
Spellfx_Fear_Ground
Spellfx_Fear_Sendperception
Spellfx_Fear_Wings
Spellfx_Firearmor
Spellfx_Firearmor_Smoke
Spellfx_Firearrow
Spellfx_Firebolt
Spellfx_Firebow
Spellfx_Firerain
Spellfx_Firerain_Investglow
Spellfx_Firerain_Rain
Spellfx_Firerain_Sub
Spellfx_Firespell_Humansmoke
Spellfx_Firestorm
Spellfx_Firestorm_Investblast1
Spellfx_Firestorm_Investsound
Spellfx_Firestorm_Spread
Spellfx_Firesword
Spellfx_Fireswordblack
Spellfx_Firesword_Attack
Spellfx_Firesword_Hit
Spellfx_Geyser
Spellfx_Geyser_Fountain
Spellfx_Geyser_Rumble
Spellfx_Glow
Spellfx_Greententacle
Spellfx_Greententacle_Bridge
Spellfx_Greententacle_Target
Spellfx_Heal
Spellfx_Healshrine
Spellfx_Healthpotion
Spellfx_Heal_Lefthand
Spellfx_Heal_Origin
Spellfx_Icebolt
Spellfx_Icecube
Spellfx_Icelance
Spellfx_Icespell_Invest
Spellfx_Icespell_Sendperception
Spellfx_Icewave
Spellfx_Icewave_Sub
Spellfx_Icewave_Wave
Spellfx_Incovation_Blue
Spellfx_Incovation_Green
Spellfx_Incovation_Red
spellfx_Incovation_Violet
Spellfx_Incovation_White
Spellfx_Innoseye
Spellfx_Instantfireball
Spellfx_Instantfireball_Firecloud
Spellfx_Invisibleprojectile
Spellfx_Itemausbuddeln
Spellfx_Itemglimmer
Spellfx_Itemstars
Spellfx_Itemstars_Blue
Spellfx_Itemstars_Red
Spellfx_Itemstars_Yellow
Spellfx_Light
Spellfx_Lightning
Spellfx_Lightningflash
Spellfx_Lightningflash_Heavensrage
Spellfx_Lightningflash_Target
Spellfx_Lightningflash_Target_Cloud
Spellfx_Lightningflash_Target_Ground
Spellfx_Lightning_Heavensrage
Spellfx_Lightning_Target
Spellfx_Lightning_Target_Cloud
Spellfx_Lightstar_Blue
Spellfx_Lightstar_Green
Spellfx_Lightstar_Orange
Spellfx_Lightstar_Red
Spellfx_Lightstar_Ringritual
Spellfx_Lightstar_Violet
Spellfx_Lightstar_White
Spellfx_Light_Active
Spellfx_Magestaff1
Spellfx_Magicfire_Humansmoke
Spellfx_Manapotion
Spellfx_Massdeath
Spellfx_Massdeath_Explosion
Spellfx_Massdeath_Ground
Spellfx_Massdeath_Lefthand
Spellfx_Massdeath_Sub
Spellfx_Masterofdisaster
Spellfx_Masterofdisaster_Trail
Spellfx_Maya_Ghost
Spellfx_Paldestroyevil
Spellfx_Palheal
Spellfx_Palheal_Origin
Spellfx_Palheal_Start
Spellfx_Palholybolt
Spellfx_Pallight
Spellfx_Pallight_Active
Spellfx_Palrepelevil
Spellfx_Pyrokinesis
Spellfx_Pyrokinesis_Bridge
Spellfx_Pyrokinesis_Investblast1
Spellfx_Pyrokinesis_Investsound
Spellfx_Pyrokinesis_Spread
Spellfx_Pyrokinesis_Target
Spellfx_Repelevil_Trail
spellfx_Ringritual1
Spellfx_Shrink
Spellfx_Shrink_Origin
Spellfx_Skull
Spellfx_Skull_Skull
Spellfx_Skull_Spread
Spellfx_Sleep
Spellfx_Sleep_Origin
Spellfx_Sleep_Target
Spellfx_Suckenergy
Spellfx_Suckenergy_Bloodfly
Spellfx_Suckenergy_Invest
Spellfx_Suckenergy_Sendperception
Spellfx_Suckenergy_Slowtime
Spellfx_Summoncreature_Lefthand
Spellfx_Summoncreature_Origin
Spellfx_Summondemon
Spellfx_Summongoblinskeleton
Spellfx_Summongolem
Spellfx_Summonguardian
Spellfx_Summonmud
Spellfx_Summonskeleton
Spellfx_Summonwolf
Spellfx_Summonzombie
Spellfx_Swarm
Spellfx_Teleport
Spellfx_Teleport_Cast
Spellfx_Teleport_Origin
Spellfx_Teleport_Ring
Spellfx_Thunderspell_Sendperception
Spellfx_Thunderstorm
Spellfx_Thunderstorm_
Spellfx_Thunderstorm_Dome
Spellfx_Thunderstorm_Flash
Spellfx_Thunderstorm_Investglow
Spellfx_Thunderstorm_Rain
Spellfx_Thunderstorm_Screenblend
Spellfx_Transform
Spellfx_Transform_Blend
Spellfx_Transform_Origin
Spellfx_Undead_Dragon
Spellfx_Waterfist
Spellfx_Waterfist_Abyss
Spellfx_Waterfist_Cast
Spellfx_Weakglimmer
Spellfx_Weakglimmer_Blue
Spellfx_Weakglimmer_Red
Spellfx_Weakglimmer_Yellow
Spellfx_Whirlwind
Spellfx_Whirlwind_Invest
Spellfx_Whirlwind_Sendperception
Spellfx_Whirlwind_Sound
Spellfx_Whirlwind_Target
Spellfx_Windfist
Spellfx_Windfist_Cast
Spellfx_Windfist_Invest
Spellfx_Windfist_Investblast
Spellfx_Yellowpotion
Spellfx_Zap
Pozostałe Spellfx'y czarów:
Spoiler
Spellfx_Armyofdarkness_Key_Cast
Spellfx_Armyofdarkness_Key_Init
Spellfx_Armyofdarkness_Key_Invest_1
Spellfx_Armyofdarkness_Key_Open
Spellfx_Arrow_Key_Invest_1
Spellfx_Arrow_Key_Invest_2
Spellfx_Arrow_Key_Invest_3
Spellfx_Beliarsrage_Collide
Spellfx_Bolt_Key_Cast
Spellfx_Breathofdeath_Cast_Key_Cast
Spellfx_Breathofdeath_Key_Cast
Spellfx_Breathofdeath_Key_Invest_1
Spellfx_Chargefireball_Collide
Spellfx_Chargefireball_Collidedynfx
Spellfx_Chargefireball_Collidedynfx_Key_Invest_1
Spellfx_Chargefireball_Collidedynfx_Key_Invest_2
Spellfx_Chargefireball_Collidedynfx_Key_Invest_3
Spellfx_Chargefireball_Collidedynfx_Key_Invest_4
Spellfx_Chargefireball_Collide_Key_Invest_1
Spellfx_Chargefireball_Collide_Key_Invest_2
Spellfx_Chargefireball_Collide_Key_Invest_3
Spellfx_Chargefireball_Collide_Key_Invest_4
Spellfx_Chargefireball_Invest_Blast2
Spellfx_Chargefireball_Invest_Blast3
Spellfx_Chargefireball_Invest_Blast4
Spellfx_Chargefireball_Key_Cast
Spellfx_Chargefireball_Key_Collide
Spellfx_Chargefireball_Key_Init
Spellfx_Chargefireball_Key_Invest_1
Spellfx_Chargefireball_Key_Invest_2
Spellfx_Chargefireball_Key_Invest_3
Spellfx_Chargefireball_Key_Invest_4
Spellfx_Chargefireball_Key_Open
Spellfx_Chargezap_Collide
Spellfx_Chargezap_Collide_Key_Invest_1
Spellfx_Chargezap_Collide_Key_Invest_2
Spellfx_Chargezap_Collide_Key_Invest_3
Spellfx_Chargezap_Collide_Key_Invest_4
Spellfx_Chargezap_Invest_Blast2
Spellfx_Chargezap_Invest_Blast3
Spellfx_Chargezap_Invest_Blast4
Spellfx_Chargezap_Key_Cast
Spellfx_Chargezap_Key_Collide
Spellfx_Chargezap_Key_Init
Spellfx_Chargezap_Key_Invest_1
Spellfx_Chargezap_Key_Invest_2
Spellfx_Chargezap_Key_Invest_3
Spellfx_Chargezap_Key_Invest_4
Spellfx_Chargezap_Key_Open
Spellfx_Charm_Key_Cast
Spellfx_Charm_Key_Init
Spellfx_Concussionbolt_Collide
Spellfx_Concussionbolt_Collidedynfx
Spellfx_Concussionbolt_Key_Cast
Spellfx_Concussionbolt_Key_Collide
Spellfx_Concussionbolt_Key_Init
Spellfx_Deathball_Collide
Spellfx_Deathball_Collidedynfx
Spellfx_Deathball_Collidedynfx_Key_Invest_1
Spellfx_Deathball_Collide_Key_Invest_1
Spellfx_Deathball_Firecloud_Key_Collide
Spellfx_Deathball_Key_Cast
Spellfx_Deathball_Key_Collide
Spellfx_Deathball_Key_Init
Spellfx_Deathball_Key_Open
Spellfx_Deathbolt_Collide
Spellfx_Deathbolt_Collidedynfx
Spellfx_Deathbolt_Collidedynfx_Key_Invest_1
Spellfx_Deathbolt_Collide_Key_Invest_1
Spellfx_Deathbolt_Firecloud_Key_Collide
Spellfx_Deathbolt_Key_Cast
Spellfx_Deathbolt_Key_Collide
Spellfx_Deathbolt_Key_Init
Spellfx_Deathbolt_Key_Open
Spellfx_Destroyundead_Collide
Spellfx_Destroyundead_Collidedynfx
Spellfx_Destroyundead_Key_Cast
Spellfx_Destroyundead_Key_Init
Spellfx_Energyball_Key_Cast
Spellfx_Energyball_Key_Collide
Spellfx_Energyball_Key_Init
Spellfx_Energyball_Key_Invest
Spellfx_Fear_Key_Cast
Spellfx_Fear_Key_Invest_1
Spellfx_Fear_Key_Open
Spellfx_Fear_Wings2
Spellfx_Firearmor_Key_Cast
Spellfx_Firearmor_Smoke_Key_Cast
Spellfx_Firearrow_Key_Invest_1
Spellfx_Firearrow_Key_Invest_2
Spellfx_Firearrow_Key_Invest_3
Spellfx_Firebolt_Collidedynfx
Spellfx_Firebolt_Collidefx
Spellfx_Firebolt_Key_Cast
Spellfx_Firebolt_Key_Collide
Spellfx_Firebolt_Key_Init
Spellfx_Firebolt_Key_Open
Spellfx_Firerain_Key_Cast
Spellfx_Firestorm_Collide
Spellfx_Firestorm_Investblast2
Spellfx_Firestorm_Investblast3
Spellfx_Firestorm_Investblast4
Spellfx_Firestorm_Key_Cast
Spellfx_Firestorm_Key_Collide
Spellfx_Firestorm_Key_Init
Spellfx_Firestorm_Key_Invest_1
Spellfx_Firestorm_Key_Invest_2
Spellfx_Firestorm_Key_Invest_3
Spellfx_Firestorm_Key_Invest_4
Spellfx_Firestorm_Key_Open
Spellfx_Firestorm_Spread_Key_Cast
Spellfx_Firestorm_Spread_Key_Init
Spellfx_Fireswordblack_Key_Cast
Spellfx_Firesword_Key_Cast
Spellfx_Firesword_Key_Invest_1
Spellfx_Firesword_Key_Invest_2
Spellfx_Firesword_Key_Invest_3
Spellfx_Firesword_Key_Invest_4
Spellfx_Firesword_Key_Invest_5
Spellfx_Geyser_Key_Cast
Spellfx_Geyser_Key_Collide
Spellfx_Geyser_Key_Init
Spellfx_Geyser_Key_Invest
Spellfx_Glow_Key_Cast
Spellfx_Greententacle_Bridge_Key_Cast
Spellfx_Greententacle_Bridge_Key_Collide
Spellfx_Greententacle_Key_Cast
Spellfx_Greententacle_Key_Collide
Spellfx_Healshrinespellfx_Ringritual1
Spellfx_Heal_Key_Cast
Spellfx_Heal_Key_Invest_1
Spellfx_Heal_Lefthand_Key_Cast
Spellfx_Heal_Lefthand_Key_Init
Spellfx_Icebolt_Collide
Spellfx_Icebolt_Collidedynfx
Spellfx_Icebolt_Key_Cast
Spellfx_Icebolt_Key_Collide
Spellfx_Icebolt_Key_Init
Spellfx_Icecube_Collide
Spellfx_Icecube_Key_Cast
Spellfx_Icecube_Key_Collide
Spellfx_Icecube_Key_Init
Spellfx_Icecube_Key_Open
Spellfx_Icelance_Collidefx
Spellfx_Icelance_Key_Cast
Spellfx_Icelance_Key_Collide
Spellfx_Icelance_Key_Init
Spellfx_Icelance_Key_Open
Spellfx_Icewave_Key_Cast
Spellfx_Icewave_Key_Init
Spellfx_Icewave_Wave_Key_Cast
Spellfx_Icewave_Wave_Key_Init
Spellfx_Icewave_Wave_Key_Open
Spellfx_Incovation_Bluespellfx_Incovation_Violet
Spellfx_Instantfireball_Collide
Spellfx_Instantfireball_Collidedynfx
Spellfx_Instantfireball_Collidedynfx_Key_Invest_1
Spellfx_Instantfireball_Collide_Key_Invest_1
Spellfx_Instantfireball_Firecloud_Key_Collide
Spellfx_Instantfireball_Key_Cast
Spellfx_Instantfireball_Key_Collide
Spellfx_Instantfireball_Key_Init
Spellfx_Instantfireball_Key_Open
Spellfx_Invisibleprojectile_Key_Collide
Spellfx_Itemausbuddeln_Key_Cast
Spellfx_Itemausbuddeln_Key_Init
Spellfx_Itemausbuddeln_Key_Open
Spellfx_Lightningflash_Key_Cast
Spellfx_Lightningflash_Key_Collide
Spellfx_Lightningflash_Key_Init
Spellfx_Lightningflash_Key_Invest
Spellfx_Lightningflash_Key_Invest_1
Spellfx_Lightning_Key_Cast
Spellfx_Lightning_Key_Init
Spellfx_Lightning_Key_Invest_1
Spellfx_Light_Active_Key_Cast
Spellfx_Light_Active_Key_Init
Spellfx_Light_Active_Key_Open
Spellfx_Light_Key_Cast
Spellfx_Magestaff2
Spellfx_Magestaff3
Spellfx_Magestaff4
Spellfx_Magestaff5
Spellfx_Massdeath_Collidedynfx
Spellfx_Massdeath_Key_Cast
Spellfx_Massdeath_Key_Init
Spellfx_Massdeath_Key_Invest_1
Spellfx_Masterofdisaster_Collide
Spellfx_Masterofdisaster_Collidedynfx
Spellfx_Masterofdisaster_Key_Cast
Spellfx_Masterofdisaster_Key_Init
Spellfx_Masterofdisaster_Trail_Collide
Spellfx_Paldestroyevil_Collide
Spellfx_Paldestroyevil_Collidedynfx
Spellfx_Paldestroyevil_Key_Cast
Spellfx_Paldestroyevil_Key_Init
Spellfx_Palheal_Key_Cast
Spellfx_Palheal_Origin_Key_Cast
Spellfx_Palheal_Origin_Key_Init
Spellfx_Palholybolt_Collide
Spellfx_Palholybolt_Collidedynfx
Spellfx_Palholybolt_Key_Cast
Spellfx_Palholybolt_Key_Collide
Spellfx_Palholybolt_Key_Init
Spellfx_Pallight_Active_Key_Cast
Spellfx_Pallight_Active_Key_Init
Spellfx_Pallight_Active_Key_Open
Spellfx_Pallight_Key_Cast
Spellfx_Palrepelevil_Collide
Spellfx_Palrepelevil_Collidedynfx
Spellfx_Palrepelevil_Key_Cast
Spellfx_Palrepelevil_Key_Collide
Spellfx_Palrepelevil_Key_Init
Spellfx_Pyrokinesis_Investblast2
Spellfx_Pyrokinesis_Investblast3
Spellfx_Pyrokinesis_Investblast4
Spellfx_Pyrokinesis_Key_Cast
Spellfx_Pyrokinesis_Key_Collide
Spellfx_Pyrokinesis_Key_Init
Spellfx_Pyrokinesis_Key_Invest_1
Spellfx_Pyrokinesis_Key_Invest_2
Spellfx_Pyrokinesis_Key_Invest_3
Spellfx_Pyrokinesis_Key_Invest_4
Spellfx_Pyrokinesis_Key_Open
Spellfx_Pyrokinesis_Spread_Key_Cast
Spellfx_Pyrokinesis_Spread_Key_Init
Spellfx_Repelevil_Trail_Collide
Spellfx_Ringritual1_Key_Cast
Spellfx_Ringritual1_Key_Init
Spellfx_Ringritual2
Spellfx_Shrink_Key_Cast
Spellfx_Shrink_Key_Init
Spellfx_Shrink_Key_Open
Spellfx_Skull_Collidefx
Spellfx_Skull_Key_Cast
Spellfx_Skull_Key_Init
Spellfx_Skull_Skull_Key_Cast
Spellfx_Sleep_Key_Cast
Spellfx_Sleep_Key_Init
Spellfx_Suckenergy_Key_Cast
Spellfx_Suckenergy_Key_Collide
Spellfx_Suckenergy_Key_Init
Spellfx_Summondemon_Key_Cast
Spellfx_Summondemon_Key_Init
Spellfx_Summondemon_Key_Invest_1
Spellfx_Summondemon_Key_Open
Spellfx_Summongoblinskeleton_Key_Cast
Spellfx_Summongoblinskeleton_Key_Init
Spellfx_Summongoblinskeleton_Key_Invest_1
Spellfx_Summongoblinskeleton_Key_Open
Spellfx_Summongolem_Key_Cast
Spellfx_Summongolem_Key_Init
Spellfx_Summongolem_Key_Invest_1
Spellfx_Summongolem_Key_Open
Spellfx_Summonguardian_Key_Cast
Spellfx_Summonguardian_Key_Init
Spellfx_Summonguardian_Key_Invest_1
Spellfx_Summonguardian_Key_Open
Spellfx_Summonmud_Key_Cast
Spellfx_Summonmud_Key_Init
Spellfx_Summonmud_Key_Invest_1
Spellfx_Summonmud_Key_Open
Spellfx_Summonskeleton_Key_Cast
Spellfx_Summonskeleton_Key_Init
Spellfx_Summonskeleton_Key_Invest_1
Spellfx_Summonskeleton_Key_Open
Spellfx_Summonwolf_Key_Cast
Spellfx_Summonwolf_Key_Init
Spellfx_Summonwolf_Key_Invest_1
Spellfx_Summonwolf_Key_Open
Spellfx_Summonzombie_Key_Cast
Spellfx_Summonzombie_Key_Init
Spellfx_Summonzombie_Key_Invest_1
Spellfx_Summonzombie_Key_Open
Spellfx_Swarm_Key_Cast
Spellfx_Swarm_Key_Collide
Spellfx_Teleport_Key_Cast
Spellfx_Teleport_Key_Init
Spellfx_Teleport_Key_Invest_1
Spellfx_Teleport_Key_Open
Spellfx_Thunderspell_Sendperception_Child1
Spellfx_Thunderspell_Target_Child10
Spellfx_Thunderspell_Target_Child11
Spellfx_Thunderspell_Target_Child2
Spellfx_Thunderspell_Target_Child3
Spellfx_Thunderspell_Target_Child4
Spellfx_Thunderspell_Target_Child5
Spellfx_Thunderspell_Target_Child6
Spellfx_Thunderspell_Target_Child7
Spellfx_Thunderspell_Target_Child8
Spellfx_Thunderspell_Target_Child9
Spellfx_Thunderstorm_Key_Cast
Spellfx_Transform_Key_Cast
Spellfx_Transform_Key_Invest_0
Spellfx_Transform_Key_Invest_1
Spellfx_Undead_Dragon_Key_Cast
Spellfx_Waterfist_Abyss_Key_Cast
Spellfx_Waterfist_Abyss_Key_Collide
Spellfx_Waterfist_Collidedynfx
Spellfx_Waterfist_Collidefx
Spellfx_Waterfist_Key_Cast
Spellfx_Waterfist_Key_Init
Spellfx_Waterfist_Key_Open
Spellfx_Whirlwind_Collide
Spellfx_Whirlwind_Key_Cast
Spellfx_Whirlwind_Key_Collide
Spellfx_Whirlwind_Key_Init
Spellfx_Whirlwind_Key_Invest_1
Spellfx_Whirlwind_Key_Open
Spellfx_Windfist_Collidedynfx
Spellfx_Windfist_Key_Cast
Spellfx_Windfist_Key_Init
Spellfx_Zap_Collide
Spellfx_Zap_Collidedynfx
Spellfx_Zap_Key_Cast
Spellfx_Zap_Key_Collide
Spellfx_Zap_Key_Init


Zdaję sobie sprawę że być może bezużyteczne mało przydatne, ale akurat miałem w moich plikach to wstawiam :D


//edit: gratis lista ParticleFXów, do wykorzystania np jako visuale dla itemów lub vfx'ów:
Spoiler
ACID
AMBIENTFOG
ANVIL_SPARKS
BARRIERE
BARRIEREWARNING_BOX
BFX_DEMON
BFX_DEMON_DEAD
BFX_DEMON_DEADNEW
BFX_GOLEM
BFX_PRESET1
BFX_PRESET1_DEAD
BFX_PRESET2
BFX_PRESET2_DEAD
BFX_SKELETON
BFX_ZOMBIE
BFX_ZOMBIE_DEAD   
BIRDFLY
BLAST
BLOODWATER
BREATH
BUBBLES
BUTTERFLY
BUTTERFLY_2
CAST1
CAST10
CAST2
CAST3
CAST4
CAST6
CAST7
CAULDRON_BUBBLES
COALGLOW
CPFX_IAI_METAL
CPFX_IAI_STONE
CPFX_IAI_WOOD   
CPFX_IAM_ME_FL
CPFX_IAM_ME_ME
CPFX_STONE
CPFX_WOOD   
CRW_GLIBBER
CRW_GREENSMOKE
CS_FOKUS1
CS_FOKUS2
CS_FOKUS3
CS_MILTENFOG
CS_WATERSPLASH
DEMON_ATTACK
DEMON_FLAMETHROWER
DRAGONLOCATION_FIRE
DRAGONLOCATION_FOG
DRAGONLOCATION_LAVA
DRAGON_BREATH_SMOKE
DRAGON_DIE
DRAGON_DIE_SMOKE
DRAGON_EYE_LEFT
DRAGON_EYE_RIGHT
DRAGON_FIREATTACK
DRAGON_STEPS
DRAGON_STONES
DRAGON_STONES2
DRAGON_STONES3
ELECTRIC
EXPLOSION1
EXPLOSION2
EXPLOSION3
FIRE
FIREFLOOR
FIREGOLEM_DEADSMOKE
FIREGOLEM_FIRE
FIRE_ARROW
FIRE_BOW
FIRE_HOT
FIRE_MEDIUM
FIRE_MENU
FIRE_MENU_OLD
FIRE_MODEL
FIRE_MODEL_KAIRO
FIRE_SMOKE
FIRE_SPARKS
FIRE_SWAMP
FIRE_SWORD
FIRE_SWORDBLACK
FIRE_SWORD_ATTACK
FIRE_SWORD_HIT
FLAMETHROWER
FLIES
FOCUS_HIGHLIGHT
FOCUS_HIGHLIGHT2
FOCUS_HIGHLIGHT3
FOUNTAIN
GLOWWORMS
GLOWWORMS_SMALL
GOLD_GLOW
GOLEMDUST
GREENSMOKE
GREENWASTE
GROUNDFOG
GROUNDFOG1_INDOOR_HIGH
GROUNDFOG1_INDOOR_LOW
GROUNDFOG1_INDOOR_MID
GROUNDFOG1_OUTDOOR_HIGH
GROUNDFOG1_OUTDOOR_LOW
GROUNDFOG1_OUTDOOR_MID
GROUNDFOG2_INDOOR_HIGH
GROUNDFOG2_INDOOR_LOW
GROUNDFOG2_INDOOR_MID
GROUNDFOG2_OUTDOOR_HIGH
GROUNDFOG2_OUTDOOR_LOW
GROUNDFOG2_OUTDOOR_MID
GROUNDFOGNIGHT_OUTDOOR_HIGH
GROUNDFOGNIGHT_OUTDOOR_LOW
GROUNDFOGNIGHT_OUTDOOR_MID
HEALTH_POTION
HUMAN1
HUMAN2
HUMAN_ELECTRIC
HUMAN_WASHSELF1
HUMAN_WASHSELF2
ICEGOLEM_DEADSMOKE
ICEGOLEM_GLITTER
ICE_BLINK_CEILING
ICE_BLINK_GROUND
INVOCATION_BLUE
INVOCATION_GREEN
INVOCATION_RED
INVOCATION_VIOLET
INVOCATION_WHITE
IRRLICHT
IRRLICHT_DIE
IRRLICHT_WARN
ITEM_GLIMMER
ITEM_STARS
ITEM_STARS_BLUE
ITEM_STARS_RED
ITEM_STARS_YELLOW
LAVAFOG_BIG
LAVAFOG_NS
LAVAFOG_OW
LAVAOUTBURST
LEAVES
LIGHTCONE
LIGHTCONE_PARTICLES
LIGHTNINGS
LIGHTSMOKE
LIGHTSTAR_BLUE
LIGHTSTAR_GREEN
LIGHTSTAR_ORANGE
LIGHTSTAR_RED
LIGHTSTAR_VIOLET
LIGHTSTAR_WHITE
MAGESTAFF1
MAGESTAFF2
MAGESTAFF3
MAGESTAFF4
MAGESTAFF5
MAGICCLOUD
MAGICCOULDRON
MAGICGLOW
MAGICPOTIONSMOKE
MAGICSUN
MAGIC_ARROW
MAGIC_BOLT
MAGIC_BOW
MAGIC_CROSSBOW
MANA_POTION
MENU_CURSOR
MENU_SELECT_ITEM
MFX_ARMYOFDARKNESS_INIT
MFX_ARMYOFDARKNESS_INIT2
MFX_ARMYOFDARKNESS_ORIGIN
MFX_BELIARSRAGE_FLASH
MFX_BELIARSRAGE_TARGET
MFX_BELIARSZORN_CAST
MFX_BELIARSZORN_FLASH
MFX_BELIARSZORN_INIT
MFX_BELIARSZORN_TARGET
MFX_BERZERK_INIT
MFX_BERZERK_ORIGIN
MFX_BERZERK_TARGET
MFX_BODTEST2
MFX_BREATHOFDEATH_CAST
MFX_BREATHOFDEATH_CASTDUMMY
MFX_BREATHOFDEATH_COLLIDE
MFX_BREATHOFDEATH_INIT
MFX_BREATHOFDEATH_INVEST
MFX_CHARGEFB_CAST
MFX_CHARGEFB_CAST_L2
MFX_CHARGEFB_CAST_L3
MFX_CHARGEFB_CAST_L4
MFX_CHARGEFB_CAST_L5
MFX_CHARGEFB_COLLIDE
MFX_CHARGEFB_INVEST   
MFX_CHARGEFB_INVESTBLAST
MFX_CHARM_INIT
MFX_CHARM_ORIGIN
MFX_CHARM_TARGET
MFX_CONTROL_BRIDGE
MFX_CONTROL_INIT
MFX_CONTROL_ORIGIN
MFX_CONTROL_TARGET
MFX_DESTROYUNDEAD_CAST
MFX_DESTROYUNDEAD_COLLIDE
MFX_DESTROYUNDEAD_INIT
MFX_DESTROYUNDEAD_SOUL
MFX_DESTROYUNDEAD_SOUL_BACK
MFX_DESTROYUNDEAD_SOUL_CLOUD
MFX_ENERGYBALL_CAST
MFX_ENERGYBALL_INIT
MFX_ENERGYBALL_TARGET
MFX_FEAR_CLOUD
MFX_FEAR_GHOST
MFX_FEAR_GHOSTEND
MFX_FEAR_GHOSTTRAIL
MFX_FEAR_INIT
MFX_FEAR_ORIGIN
MFX_FEAR_WINGS
MFX_FEAR_WINGS2
MFX_FIREBALL_CAST
MFX_FIREBALL_CAST_L1
MFX_FIREBALL_CAST_L2
MFX_FIREBALL_CAST_L3
MFX_FIREBALL_CAST_L4
MFX_FIREBALL_COLLIDE1   
MFX_FIREBALL_COLLIDE2   
MFX_FIREBALL_COLLIDE3   
MFX_FIREBALL_COLLIDE4   
MFX_FIREBALL_COLLIDE_SPARKS
MFX_FIREBALL_COLLIDE_WALLGLOW
MFX_FIREBALL_INIT
MFX_FIREBALL_INVEST   
MFX_FIREBALL_INVEST_BLAST
MFX_FIREBALL_INVEST_L1
MFX_FIREBALL_INVEST_L2
MFX_FIREBALL_INVEST_L3
MFX_FIREBALL_INVEST_L4
MFX_FIREBOLT_CAST
MFX_FIREBOLT_COLLIDE
MFX_FIREBOLT_INIT
MFX_FIRERAIN_GROUND
MFX_FIRERAIN_INIT
MFX_FIRERAIN_INVESTGLOW
MFX_FIRERAIN_RAIN
MFX_FIRERAIN_TARGET
MFX_FIRESPELL_HUMANBURN
MFX_FIRESPELL_HUMANSMOKE
MFX_FIRESTORM_CAST
MFX_FIRESTORM_INIT
MFX_FIRESTORM_INVESTBLAST1
MFX_FIRESTORM_INVESTBLAST2
MFX_FIRESTORM_INVESTBLAST3
MFX_FIRESTORM_INVESTBLAST4
MFX_FIRESTORM_SPREAD
MFX_FIRESTORM_SPREAD_SMALL
MFX_FORGET_INIT
MFX_FORGET_ORIGIN
MFX_GEYSER_CAST
MFX_GEYSER_FOUNTAIN
MFX_GEYSER_INIT
MFX_GEYSER_PARTICLES
MFX_GREENTENTACLE_BURST
MFX_GREENTENTACLE_CAST
MFX_GREENTENTACLE_GROUNDGLOW
MFX_GREENTENTACLE_INIT
MFX_GREENTENTACLE_SPREAD
MFX_GREENTENTACLE_TARGET
MFX_HEALSHRINE
MFX_HEAL_CAST
MFX_HEAL_HEAVENLIGHT
MFX_HEAL_INIT
MFX_HEAVENSRAGE_CAST
MFX_HEAVENSRAGE_FLASH
MFX_HEAVENSRAGE_FLASHORIGIN
MFX_HEAVENSRAGE_GROUND
MFX_HEAVENSRAGE_TARGET
MFX_ICEBOLT_CAST
MFX_ICEBOLT_COLLIDE
MFX_ICEBOLT_INIT
MFX_ICECUBE_CAST
MFX_ICECUBE_INIT
MFX_ICELANCE_CAST
MFX_ICELANCE_COLLIDE
MFX_ICELANCE_INIT
MFX_ICESPELL_COLLIDE   
MFX_ICESPELL_TARGET
MFX_ICESPELL_TARGETEND
MFX_ICEWAVE_WAVE
MFX_ICEWAVE_WAVE2
MFX_IFB_CAST
MFX_IFB_PFXTRAIL
MFX_INFLATE_FOUNTAIN_0
MFX_INFLATE_FOUNTAIN_15
MFX_INFLATE_FOUNTAIN_180
MFX_INFLATE_FOUNTAIN_250
MFX_INFLATE_FOUNTAIN_270
MFX_INFLATE_FOUNTAIN_340
MFX_INFLATE_FOUNTAIN_90
MFX_INFLATE_TEST
MFX_INNOSEYE
MFX_INVISIBLEPROJECTILE   
MFX_LIGHTNINGFLASH_TARGET
MFX_LIGHTNING_GLOW
MFX_LIGHTNING_ORIGIN
MFX_LIGHTNING_TARGET
MFX_LIGHT_INIT
MFX_LIGHT_ORIGIN
MFX_MAGICFIRE_HUMANBURN
MFX_MAGICFIRE_HUMANBURN_SHORT
MFX_MAGICFIRE_HUMANSMOKE
MFX_MASSDEATH_CAST
MFX_MASSDEATH_EXPLOSION
MFX_MASSDEATH_INIT
MFX_MASSDEATH_INIT_GLOW
MFX_MASSDEATH_LEFTHAND
MFX_MASSDEATH_RIGHTHAND
MFX_MASSDEATH_TARGET
MFX_MASTEROFDISASTER_CAST
MFX_MASTEROFDISASTER_COLLIDE
MFX_MASTEROFDISASTER_INIT
MFX_MASTEROFDISASTER_TRAIL
MFX_MASTERTELEKINESIS_INIT      
MFX_PALHOLYBOLT_CAST
MFX_PALHOLYBOLT_COLLIDE
MFX_PALHOLYBOLT_INIT
MFX_PALLIGHT_INIT
MFX_PALLIGHT_ORIGIN
MFX_PYROKINESIS_BRIDGE
MFX_PYROKINESIS_INIT
MFX_PYROKINESIS_ORIGIN
MFX_PYROKINESIS_TARGET
MFX_REPELEVIL_CAST
MFX_REPELEVIL_COLLIDE
MFX_REPELEVIL_INIT
MFX_REPELEVIL_TRAIL
MFX_RINGRITUAL2
MFX_SHRINK_INIT
MFX_SHRINK_TARGET
MFX_SKULL_CAST
MFX_SKULL_COLLIDE
MFX_SKULL_INIT
MFX_SKULL_SPREAD
MFX_SLEEP_INIT
MFX_SLEEP_ORIGIN
MFX_SLEEP_TARGET
MFX_SPAWN_CAST
MFX_SPAWN_CHILD
MFX_SPEED_FOOTSTEPS
MFX_STORMFIST_CAST
MFX_SUCKENERGY_ANI
MFX_SUCKENERGY_CAST
MFX_SUCKENERGY_FLYTOPLAYER
MFX_SUCKENERGY_INIT
MFX_SUCKENERGY_INVEST
MFX_SUCKENERGY_TARGET
MFX_SUMMONDEMON_INIT
MFX_SUMMONDEMON_INVEST
MFX_SWARM_CAST
MFX_SWARM_INIT
MFX_SWARM_TARGET1
MFX_SWARM_TARGET2
MFX_SWARM_TARGET3
MFX_TELEKINESIS_BRIDGE
MFX_TELEKINESIS_INIT
MFX_TELEKINESIS_TARGET
MFX_TELEKINESIS_TARGETEND
MFX_TELEPORT_CAST
MFX_TELEPORT_INIT
MFX_TELEPORT_INVEST
MFX_TELEPORT_RING
MFX_TELEPORT_SKRIPT
MFX_TEST1
MFX_THUNDERBALL_CAST
MFX_THUNDERBALL_CAST_L1
MFX_THUNDERBALL_CAST_L2
MFX_THUNDERBALL_CAST_L3
MFX_THUNDERBALL_CAST_L4
MFX_THUNDERBALL_COLLIDE1   
MFX_THUNDERBALL_COLLIDE2   
MFX_THUNDERBALL_COLLIDE3   
MFX_THUNDERBALL_COLLIDE4   
MFX_THUNDERBALL_COLLIDE_SPARKS
MFX_THUNDERBALL_COLLIDE_WALLGLOW
MFX_THUNDERBALL_INIT
MFX_THUNDERBALL_INVEST   
MFX_THUNDERBALL_INVEST_BLAST
MFX_THUNDERBALL_INVEST_L1
MFX_THUNDERBALL_INVEST_L2
MFX_THUNDERBALL_INVEST_L3
MFX_THUNDERBALL_INVEST_L4
MFX_THUNDERSTORM_DOME
MFX_THUNDERSTORM_FLASHES
MFX_THUNDERSTORM_ICE
MFX_THUNDERSTORM_INIT
MFX_THUNDERSTORM_INVESTGLOW
MFX_THUNDERSTORM_RAIN
MFX_TRANSFORM_BLEND
MFX_TRANSFORM_GLOW
MFX_TRANSFORM_INIT
MFX_TRANSFORM_ORIGIN
MFX_WATERFIST_CAST
MFX_WATERFIST_COLLIDE
MFX_WATERFIST_COLLIDE2
MFX_WATERFIST_INIT
MFX_WATERWALL_GROUNDSPLASH
MFX_WATERWALL_WALL
MFX_WHIRLWIND_CAST
MFX_WHIRLWIND_GROW
MFX_WHIRLWIND_INIT
MFX_WHIRLWIND_ORIGIN
MFX_WHIRLWIND_TARGET
MFX_WHIRLWIND_TARGET2
MFX_WINDFIST_CAST
MFX_WINDFIST_CASTDUMMY
MFX_WINDFIST_COLLISIONDUMMY
MFX_WINDFIST_INIT
MFX_WINDFIST_INVEST
MFX_WINDFIST_INVEST_BLAST
MFX_WINDFIST_TARGET
MINE_BRICKS
MINE_DUST
NEW
OLD_MFX_BREATHOFDEATH_CAST
OLD_MFX_BREATHOFDEATH_COLLIDE
OLD_MFX_BREATHOFDEATH_INIT
OLD_MFX_BREATHOFDEATH_INVEST
OLD_MFX_FEAR_FACE
OLD_MFX_FEAR_INIT
OLD_MFX_FEAR_ORIGIN
OLD_MFX_FEAR_WAVE
ORE_GLOW
ORE_HIGHLIGHT
ORGANICFOG
PAUKEFX
PEE
PFX2
PFX_BELIARWEAPON_1H
PFX_BELIARWEAPON_1H_BLADE
PFX_BELIARWEAPON_1H_EYES
PFX_BELIARWEAPON_2H
PFX_BELIARWEAPON_2H_BLADE
PFX_BELIARWEAPON_2H_EYES
PFX_BLOOD
PFX_DUST
PFX_METALSPARKS
PFX_MOBDESTROY
PFX_WATERLIGHT
PFX_WATERSPLASH
PFX_WATERSPLASH_SEA
PICKORE
PRACTICEMAGIC_01A
PRACTICEMAGIC_01B
PRACTICEMAGIC_02A
PRACTICEMAGIC_02B
PRACTICEMAGIC_03
PRACTICEMAGIC_04
PSILAB_DROPS
PSILAB_GLOW
PSILAB_GLOW2
PSILAB_SMOKE
RESURRECTION
RUNEMAKER
SHARPSTONE_SPARKS
SMOKE1
SMOKE_JOINT_SLOW_TIME
SMOKE_MODEL_KAIRO
SNOW
SOAPFOAM
SPAWN_DEMON   
SPAWN_GOLEM   
SPELL_MASSDEATH
SPELL_MASSDEATH_INVEST
SPIT
STARGATE
STARGATE_EDGES
STARGATE_FULLSTRIPES
STARGATE_PARTICLES
STARGATE_PARTICLES_02
STARGATE_STRIPE
STARGATE_WHITEGLOW
STOMPERDUST
STONEGUARDIANDIE
SWAMPDRONE_ATTACK
SWAMPDRONE_EXPLODE
SWAMPGOLEMDIE
SWAMPSHARKSLIME
TELEKINESE
TELESTURM
TEST1
TEST2
TEST3
TEST4
THEREDEYE
THROWDRUGS
TORCH
TORCH_SMOKE
TREASURE_GLOW
TREASURE_GLOW_CHILD
UNDEAD_DRAGON
WALL1
WASTEOUTLET
WASTEOUTLET_BOTTOM
WATERFALL1
WATERFALL2
WATERFALLCOMPLETE
WATERFX
WATEROUTLET
WATERSPLASH
WATERVAPOUR
WAVERINGS
WEAK_GLIMMER
WEAK_GLIMMER_BLUE
WEAK_GLIMMER_RED
WEAK_GLIMMER_YELLOW
WOOD_LIGHT
WOOD_LIGHT_PARTICLES1
WOOD_LIGHT_PARTICLES2
WOOD_LIGHT_SIMPLE
WOOD_LIGHT_TEST
YELLOW_POTION
ZBLOOD1
ZMODELLANDDUST
ZSKYNIGHT1
ZUNDERWATER
ZWATERRING
Nie chce mi się sortować, te zaczynające się na MFX_ są od magii, reszty domyślicie się pewnie po nazwie.

43
Skrypty / Dodawanie nowej gildii
« dnia: 2012-07-09, 11:29 »
Improwizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:[quote author=Fenix#msgrowizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:[quote author=Fenix#msgrowizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:[quote author=Fenix#msgrowizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:[quote author=Fenix date=#msgrowizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:[quote author=FenixJul 2 2007, 12:41#msgrowizowany tutorial na prośbę członka forum. Jak widać jest przeznaczony raczej dla ogarniających, nie wklejam całych stron przykładowych skryptów. Instrukcje są i do Gothic I, i Gothic II Noc Kruka.

G2NK:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 67).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\ai\human\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\monster\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.

\content\story\b_assignambientinfos\b_assignambientinfos.dJeśli npc danej gildii mają toczyć ze sobą pogawędki, dodaj odpowiednie warunki.[/ramka]

G1:
[ramka]\content\_intern\constans.dDodaj wpis swojej gildii przed GIL_SEPERATOR_HUM i nadaj jej odpowiedni numer (16). Wszystkie kolejne numery aż do ostatniego zwiększ o 1 (GIL_MAX wyniesie 43).

\content\story\text.dDodaj nazwę swojej gildii przed Gil_Seperator_Hum, które jest po prostu pustym stringiem ("").

\content\story\guilds.dZa każdą dodaną gildię zwiększ o 1 obie liczby w TAB_ANZAHL (do 17 * 17). Dodaj jedną kolumnę na końcu tabeli i jeden wiersz na jej dole.

\content\ai\b_monster\b_setmonsterattitude.dDodaj odpowiednie 2 linijki.[/ramka]

Instrukcje zakładają dodanie jednej gildii, w przypadku dodania większej ilości należy zgodnie z logiką powtórzyć odpowiednie czynności i zwiększyć liczby. Jako że nie testowałem, przytaczam możliwe błędy o których w pradawnych czasach (lol 5 lat temu) napisał Fenix:
Cytat: Fenix
a) można wyjąć broń, ale postać już jej nie chowa
b) można strzelać z łuku, ale strzały wiszą w powietrzu i nic nikomu nie robią
Jeśli ktoś przetestuje, niech odpisze czy występują (jest to raczej mało prawdopodobne).

Ewentualnie jeśli ktoś nie chce robić całkiem nowej gildii, w g2nk może skorzystać z 6 wolnych gildii potworów, jednak na ogół nie nadaje się to do zwykłej gry:
GIL_Empty_A ("A", 53)
GIL_EMPTY_B ("B", 56)
GIL_EMPTY_C ("C", 57)
GIL_EMPTY_X ("X", 63)
GIL_EMPTY_Y ("Y", 64)
GIL_EMPTY_Z ("Z", 65)
(kolejno kodowa nazwa gildii, nazwa widoczna w grze i jej numer).

44
Skrypty / Efekty specjalne
« dnia: 2012-06-14, 13:41 »
zEngin jest wyposażony w kilka efektów specjalnych, które mogą być wywoływane z poziomu VisualFX'ów. Są dość mało znane, niektóre nigdy nie użyte i do znalezienia tylko przeszukując kod silnika, dlatego może ten tutorial komuś się przyda. Sposób ich użycia jest dość prosty: tworząc nowy VFX (klasa CFx_Base) w visName_S podajemy po kropce kod efektu (eqk, fow, ltn, scx, slw, tga, trl) i za pomocą userString'ów podajemy ewentualne parametry. Przy ich tworzeniu korzystamy nadal ze standardowych parametrów vfx'ów, np czas trwania określamy za pomocą emFXLifeSpan (-1: permanentny).

Kilka efektów zostało wprowadzonych dopiero w wersji 2.6, dlatego w G1 są niedostępne.

1. Migotanie ekranu (screenblend/zCVobScreenFX) (g1 częściowo)
visName_S: *.scx (standardowo "screenblend.scx", danie w nazwie _reverse odtwarza animację od tyłu)
userString[0]: czas trwania pętli (np 100000000000)
userString[1]: kolor (RGBA) (np 0 0 0 100)
userString[2]: czas zanikania (np 0.5)
userString[3]: tekstura (tylko g2nk) (np ScreenFX_Dem_a0)
userString[4]: fps animacji tekstury (tylko g2nk) (np 8)

2. Spowolnienie czasu (slowmotion) (tylko g2nk)
visName_S: *.slw (standardowo "time.slw")
userString[0]: skala upływu czasu dla gracza (np 0.5)
userString[1]: skala upływu czasu dla świata (np 1.0)

3. Deformacja ekranu (fov morph) (tylko g2nk)
visName_S: *.fov (standardowo "morph.fov")
userString[0]: siła efektu (np 0.8)
userString[1]: szybkość (np 1.0)
userString[2]: bazowa szerokość (puste: wartość domyślna) (np 120)
userString[3]: bazowa wysokość (puste: wartość domyślna) (np 90)

4. Wstrząsy kamery (earthquake/zCEarthquake)
visName_S: *.eqk (standardowo "earthquake.eqk")
userString[0]: ? (np 1000)
userString[1]: ? (np 5)
userString[2]: ? (np 5 5 5)

5. Nieskończonej długości pas tekstury obrócony w kierunku kamery (lighting?)
visName_S: nazwa_tekstury.ltn (np Lightning_Single.ltn = pas tekstury Lightning_Single.tga)

6. Decal
visName_S: nazwa_tekstury.tga (najprostszy z efektów, chyba nie trzeba tłumaczyć)

7. Elastyczna rozwijająca się wstęga tekstury (nigdy nie zastosowane, znalazłem w silniku g1, być może odpowiada też za ślady za bronią) (polystrip/zCPolyStrip)
visName_S: nazwa_tekstury.trl (standardowe polystrip.trl = pas tekstury polystrip.tga)
userString[0]: ?
userString[1]: ?
userString[2]: ?
userString[3]: ?
userString[4]: ?
(eksperymentowałem z różnymi, np jak przyczepiłem do dłoni bohatera, to zostawiała taką dość szeroką, długaśną wstęgę która lekko się kołysała i stopniowo zanikała od końca)

Znaleźć to że teksturę można podawać za pomocą nazwy pomógł znaleźć Monk :D

45
Tutoriale / Darmowe czcionki
« dnia: 2012-05-21, 20:36 »
Nie jest to idealnie dobrany dział, ale chyba najlepszy z tych które były do wyboru :D

Otóż, reinstalowałem sobie system. Stary folder Windows skasowałem, bo tylko niepotrzebnie zajmował miejsce.
Dziś doszedłem do wniosku, że nowy GIMP zdecydowanie za szybko mi się uruchamia, nie jestem do tego przyzwyczajony, więc dobrze byłoby poprzywracać stare fonty i poinstalować nowe. Wtedy sobie przypomniałem że stare były w skasowanym folderze windows/fonts :lol:

Tak więc zbieram nową kolekcję. W sumie taki temat z wewnątrzforumową wymianą może przydać się wielu osobom. Już kiedyś, jak jeszcze miałem swój stary zbiór i dałem screena z niektórymi, kilka osób było zainteresowanych ich współdzieleniem. Może po prostu niech wszyscy zainteresowani pokazują swoje ulubione (najlepiej darmowe do użytku komercyjnego) fonty i podają nazwy, wszyscy będziemy mogli rozszerzyć swoje kolekcje.



Podgląd wygenerowałem darmowym programem AMP Font Viewer, polecam.

Aha, możemy też wymieniać się dobrymi, sprawdzonymi stronami które udostępniają download czcionek. Osobiście najchętniej korzystam z dafont.com i fontsquirrel.com.

46
Unity / Prosta konsola
« dnia: 2012-05-14, 17:33 »
W trakcie tworzenia i testów gry nierzadko zachodzi potrzeba wykonania jakiejś funkcji. Można z góry, w jej kodzie zdefiniować np wykonanie jej po wciśnięciu wybranego przycisku na klawiaturze. Jest to jednak rozwiązanie użyteczne tylko w pewnych okolicznościach i ogólnie bardzo ograniczone.

O wiele lepszym rozwiązaniem są pojawiające się w niektórych grach konsole - pola tekstowe na ekranie, gdzie można wpisywać polecenia do wykonania przez silnik gry. W projektach które tworzę na Unity też sobie takie zrobiłem.
Korzysta ona tylko z jednej, ale cudownej (i zarazem straszliwie niewłaściwej i niebezpiecznej w większości zastosowań) funkcji eval. Dzięki niej zamiast wklepywać z góry określone polecenia z gotowej listy jak to jest zwykle w grach, możemy wpisywać w nią po prostu kod w JScript.NET, a on zostanie wykonany. Można w ten sposób choćby modyfikować pola obiektów czy wywoływać funkcje.
Spoiler
class CONSOLE extends MonoBehaviour //by Avallach
{
var display : GUIText;
var background : GUITexture;

function Start () : void
{
transform.position = Vector3 (0.0, 1.0, 0.0); //lewy górny róg ekranu
transform.localScale = Vector3 (0.0, 0.0, 0.0);
display = gameObject.AddComponent(GUIText);
display.enabled = false;
background = gameObject.AddComponent(GUITexture);
background.texture = new Texture2D (1, 1);
background.color = Color (0.0, 0.0, 0.0, 0.3);
background.pixelInset = Rect (0, -20, 5000, 20);
background.enabled = false;
};

function Update () : void
{
if (display.enabled)
{
if (Input.inputString == "\b" && display.text.Length > 0)
{ display.text = display.text.Substring(0, display.text.Length - 1); }
else
{ display.text += Input.inputString; }
if (Input.GetKeyDown (KeyCode.Return))
{
eval (display.text);
display.text = "";
};
if (Input.GetKeyDown(KeyCode.F2))
{
display.enabled = false;
background.enabled = false;
};
}
else if (Input.GetKeyDown(KeyCode.F2))
{
display.enabled = true;
background.enabled = true;
};
};
};
Ta tutaj ma bardzo prosty interface - F2 wyświetla ją w formie paska na górze ekranu, w którym możemy wtedy pisać i usuwać tekst, a wciśnięcie enter go wykonuje. Oczywiście wpisanie nieprawidłowego kodu powoduje błąd.
Dla zainteresowanych - na własny użytek posiadam o wiele bardziej rozbudowaną wersję, która nad linijką do wpisywania posiada kilka innych, w których przewijają się komunikaty debugowania (analogiczne do zSpy w Gothicu) i są wyświetlane efekty wpisywanych poleceń.

Konsola została napisana jako komponent (kod jest oparty o MonoBehaviour) - żeby ją włączyć, należy przeciągnąć w edytorze jej skrypt (najlepiej nazwać go CONSOLE.js) na nowy, pusty GameObject (na przykład zrobić sześcian i wywalić jego renderer).

Aha, i byłbym zapomniał - zauważyłem że na nowych wersjach Unity (3.5+) nie działa funkcja eval, piszą też o tym ludzie w Internecie. Znalazłem jednak przypadkiem kompletnie szalony, totalnie dziwaczny sposób naprawienia jej. Jakby był ktoś chętny go przetestować (jest tak głupi że nie chcę nawet o nim pisać publicznie zanim go ktoś inny nie sprawdzi), zapraszam na gg/pw.

47
Unity / Tworzenie plane'a z teksturą z poziomu skryptu
« dnia: 2012-05-14, 16:00 »
Plane wchodzący w skład standardowych primitives w Unity jest w rzeczywistości siatką 10x10, więc ma 200 tris - równo 100x więcej niż powinien mieć w większości zastosowań. Ponadto czasami potrzeba tworzyć je w trakcie gry, a korzystanie w tym celu z prefabów czy wyświetlanie na scenie obiektów które były przygotowane od początku może nie mieć sensu. Dlatego napisałem prosty skrypt który w całości z poziomu kodu tworzy model dwótrójkątowego plane'a o wybranych rozmiarach i nakłada na niego daną teksturę zawartą w folderze Assets/Resources.
static function CreatePlane (x : float, z : float, texturename : String) : GameObject
{
var object : GameObject = new GameObject (texturename); //najpierw trzeba stworzyć obiekt, który będzie nośnikiem modelu, domyślna nazwa to nazwa tekstury
var mesh : Mesh = new Mesh (); //najpierw tworzymy mesh w pamięci
mesh.vertices = [Vector3 (0, 0, 0), Vector3 (x, 0, 0), Vector3 (0, 0, z), Vector3 (x, 0, z)]; //definiujemy wierzchołki modelu za pomocą ich koordynatów w pzestrzeni, ich numery to 0...n.
mesh.triangles = [0, 2, 3, 0, 3, 1]; //każde trzy cyfry, to wierzchołki następnego trójkąta podane w kolejności zgodnej z ruchem wskazówek zegara (tutaj tylko dwa trójkąty, więc 6 cyfr)
mesh.uv = [Vector2 (0, 0), Vector2 (1, 0), Vector2 (0, 1), Vector2 (1, 1)]; //UVka ma być możliwie prosta, to po prostu kwadrat o rogach w narożnikach plane'a
mesh.RecalculateNormals(); //potrzebne dla prawidłowego oświetlenia naszego plane'a
object.AddComponent.<MeshFilter>().mesh = mesh; //przypisujemy utworzony w pamięci mesh do naszego obiektu
object.AddComponent.<MeshRenderer>().material.mainTexture = Resources.Load(texturename) as Texture; //przypisujemy teksturę do obiektu
return object; //zwracamy obiekt, tak że może być od razu użyty - na przykład można mu od razu zmienić nazwę
};

Na UnifyCommunity Wiki jest skrypt edytorowego generatora, który tworzy plane'a-siatkę o określonej ilości pól, jednak nie tworzy jego mapy UV ani nie nakłada na niego tekstury, nie jest też przeznaczony do używania w samej grze, a jedynie podczas ręcznej pracy w edytorze: http://www.unifycommunity.com/wiki/index.php?title=CreatePlane

48
W ciągu kilku sekund od włączenia, pc gaśnie. Czas nie jest stały, rekord to około pół minuty, tak że zaczął nawet się ładować system. Kiedy resetuję kilka razy, kolejne próby są najczęściej góra kilkusekundowe.

Najpierw miałem nadzieję że to tylko zasilacz, niestety jego podmiana na analogiczny nic nie zmieniła, powtarza się dokładnie to samo (a podłączyłem tylko płytę główną!).

Kiedy wyjąłem jedyną kość ram (2gb ddr3), komputr się włącza, wiatraki kręcą, ale oprócz tego nie ma żadnych reakcji, w tym na monitorze. W takim stanie wytrzymuje nieokreśloną, prawdopodobnie nieograniczoną ilość czasu. Żeby go wyłączyć, muszę wtedy przez wiele sekund przytrzymać przycisk zasilania.

Czy po wyciągnięciu ramu bios nie powinien nadal normalnie budzić monitora i wyświetlać ekranu post, a dodatkowo zacząć piszczeć? Mam wrażenie że kiedy ją usunąłem, to po prostu jest dostarczane zasilanie, ale jakakolwiek sekwencja bootowania nawet się nie zaczyna.

Nie mam zapasowej kości ram żeby spróbować ją podmienić (chyba że jakieś stare 256mb ddr1) (ani drugiego komputera żeby sprawdzić czy w nim ta podejrzana by działała). Czy uważacie że to ona może być przyczyną, kupić w tej sytuacji nową (i koniecznie większą...)?

Jeszcze wczoraj pc normalnie działał i normalnie go wyłączyłem. Gdyby to był tylko zasilacz, to bym bez wahania kupił nowy, bo najtańsze które powinny współpracować są na Allegro za 15zł łącznie z przesyłką. Gdyby winowajcą miał być ram lub płyta główna czy graficzna, sprawa się masakrycznie komplikuje...

49
Forum / Nowy punkt regulaminu - treści drastyczne
« dnia: 2012-03-15, 09:08 »
W związku z ostatnimi wydarzeniami, powiązanymi głównie z avatarem pewnego użytkownika azteka (Azteka), okazało się że wcale nie jest na tym forum oczywistym co jest treścią którą można tolerować, a czego zdrowy rozsądek powinien zakazywać. Nie chodzi tutaj o samą "podstawę prawną" na przyszłość. To forum jak i jego regulamin jest dla was, użytkowników, nie na odwrót. Jako moderatorzy musimy po prostu wiedzieć co wam przeszkadza w takim stopniu że powinno być tępione, a co można zostawić w spokoju. Dlatego oddaję pod waszą rozwagę punkt regulaminu zaproponowany przez Zyska, ale w lekko zmodyfikowanej przezemnie treści (linkowanie nie powinno być zakazywane, jeśli ktoś klika w link jakiegoś użytkownika wiedząc co tam jest, jest sam sobie winien - chyba że wstawiający link nie zasugeruje że jest tam treść "niebezpieczna").

[ramka]Zabrania się umieszczania na forum w jakikolwiek bezpośrednio widoczny dla innych użytkowników sposób treści drastycznych lub szokujących w ogóle. Dotyczy to przede wszystkim grafik wstawianych w tagach img oraz avatarów. Mogą być one umieszczane tylko w formie linków lub treści schowanej w tagu spoiler, jeśli będzie im towarzyszyć wyraźne ostrzeżenie (może być ono zawarte np w tytule tematu i dotyczyć go jako całości). [/ramka]

Jak przy każdym punkcie regulaminu, drastyczność danego materiału jest oceniana przez moderatorów, co nie oznacza że mają prawo dowolnie dopuszczać wszystko co im osobiście nie przeszkadza - powinni w zgodzie ze zdrowym rozsądkiem, niezbędnym do pełnienia tej funkcji, starać się obiektywnie ocenić co mogłoby szokować innych i podejść do tego zadania z odpowiednią dozą ostrożności. Schowanie danego materiału w spoiler/zamiana na link i dopisanie ostrzeżenia razem z przypomnieniem na przyszłość nikomu by nie szkodziła.

W działach niejawnych nie jest prowadzona moderacja przez global moderatorów/adminów. Tam oceny może dokonywać moderator danego działu (jeśli wyznaczony), a jeśli go nie ma - przechodzić jak dawniej będzie wszystko.

50
MDS i animacje / Lista animacji
« dnia: 2012-02-19, 20:31 »
Animacje nie-użytkowe (nieużywane ani w ruchu, ani w walce itp):
r_legshake //potrząsanie nogą
r_scratchegg //drapanie po jajach
r_scratchhead //drapanie po głowie
r_scratchlshoulder //drapanie po ramieniu
s_claphands //g1, brawa nad głową
s_conactive //g1, wykończony
s_conshoot //g1, rytuał/medytacja
s_con_victim //g1 ból głowy
s_dudel_s1 //taniec? xd
s_hguard // ramiona <|>
s_lguard // ramiona x
s_linshoot //g1, macha wysoko
s_pee //sika
s_sdw_s1 // czarowanie
s_suckenergy_victim //tortura w lewitacji
s_teleport //teleport/ukrzyżowanie
s_watchfight //trochę taniec xd
t_boringkick //znudzone kopnięcie
t_comeoverhere //machanie
t_dance_01-9 //taniec
t_dialoggesture_01-21
t_dontknow //wzruszanie ramionami
t_forgetit //machnięcie ręką
t_getlost //odpędzanie
t_greetcool //machnięcie ręką
t_greetgrd //pięścią w pierś
t_greetnov //ukłon
t_greetright //wysokie machnięcie
t_igetyou //machnięcie/groźba
t_no //gest nie
t_psi_victim //g1, powalający ból głowy
t_search //rozglądanie się
t_surprise_cw //g1, postawa bojowa?
t_watchfight_ohno //facepalm?
t_watchfight_yeah //
t_yes //gest tak
(komentarze robocze mojego autorstwa, można zignorować)

Animacje twarzy:
R_EYESBLINK
S_ANGRY
S_EYESCLOSED
S_FRIENDLY
S_FRIGHTENED
S_HOSTILE
S_NEUTRAL
T_EAT
T_HURT
VISEME
W skryptach odpala je się funkcją:Mdl_StartFaceAni (VAR C_NPC self, VAR STRING name, VAR FLOAT intensity, VAR FLOAT holdTime)Przy intensity 0 to %, 0.5 to 50%, 1 to 100% itd. HoldTime to czas w sekundach, -1 oznacza bez końca.
Można też robić to w grze, za pomocą konsoli:play faceani (VAR STRING name)
Animacje broni dystansowych (nic nie stoi na przeszkodzie żeby dodawać własne, także przy walce wręcz):
S_NORMAL
S_READY
S_RELAX
S_SHOOT

Wszystkie animacje ciała - ta lista jest prawdopodobnie za długa żeby móc wkleić w poście, więc wstawiam na pastebina:
http://pastebin.com/WqqPLdrx
Z racji długości pewnie niespecjalnie się komukolwiek przyda, ale przynajmniej jest komplet :D

Chyba takiego tematu jeszcze nie było, jeśli jednak jest - dajcie znać, to wywalę ten.
Listę zrobiłem w sumie tylko dlatego że akurat z ciekawości przeglądałem skompilowane pliki twarzy i napisałem makro które wyciągało z nich konkretne nazwy animacji.

51
Forum / Rozdaję propsy [akcja zakończona]
« dnia: 2012-02-18, 11:16 »
Od dłuższego czasu parę osób zgłasza że nie może wyświetlić swojej historii ostrzeżeń. Aby to zrobić, należy kliknąć napis "Status ostrzeżeń" który każdy widzi nad przyciskiem "Raportuj", na lewo od swoich postów. Szczerze mówiąc, nie mamy pojęcia co sprawia że jedni mogą to wyświetlać, a inni nie. W związku z tym potrzebujemy jakiejś grupy kontrolnej, na podstawie której będziemy mogli odgadnąć przyczynę.

Każdego posta w którym będzie napisane czy dana osoba może wyświetlić swój log ostrzeżeń (a jeśli nie to co się dzieje), nagrodzę propsem (po jednym na osobę). Może reszta administracji też się zrzuci :D

52
Materiały / Rutyna: ćwiczenia strzeleckie
« dnia: 2012-02-15, 18:25 »
Zapewne wiele osób kojarzy rutynę ćwiczenia walki mieczem. Pierwotnie do gry miała zostać dodana także rutyna ćwiczenia strzelectwa przez strzelanie do tarcz, jednak została porzucona (w skryptach jest ona "pusta", nie działa). Miałem pomóc RafałowiBudzisowi coś takiego zrobić, ale w końcu napisałem skrypt sam. Możecie go używać w modzie pod warunkiem zaznaczenia jego autorstwa w informacjach o modyfikacji.

Rutyna: func void ZS_PracticeBow ()
{
B_SetPerception (self);    
AI_SetWalkmode (self, NPC_WALK);
if (!Hlp_StrCmp(self.wp, Npc_GetNearestWP(self))) { AI_GotoWP(self, self.wp); };
AI_EquipBestRangedWeapon (self);
AI_ReadyRangedWeapon (self);
};

func void ZS_PracticeBow_Loop ()
{
var c_npc tarcza; tarcza = Hlp_GetNPC(self.aivar[43]); if (!tarcza) { tarcza = Hlp_GetNPC(tarcza_strzelecka_01); }; if (!tarcza) { return; };
var c_item RangedWeapon; RangedWeapon = Npc_GetEquippedRangedWeapon (self); CreateInvItem (self, RangedWeapon.munition);
AI_LookAtNpc(self, tarcza);
AI_AimAt (self, tarcza);
AI_Wait(self, 2);
AI_ShootAt (self, tarcza);
};

func void ZS_PracticeBow_End ()
{
AI_StopLookAt(self);
AI_StopAim(self);
Npc_ClearAIQueue (self);
AI_RemoveWeapon (self);
};
Tak naprawdę tarcza jest do zrobienia jako niewidzialny npc, który musi stać tam gdzie model. Należy go wstawić z poziomu Spacera, najpierw wyłączając kolizje tarczy, a na koniec włączając je z powrotem. Skrypt "tarczy":
prototype tarcza_strzelecka (C_NPC)
{
name = "Tarcza";
attribute[0] = 1; attribute[1] = 1;
flags = NPC_FLAG_IMMORTAL;
};

instance tarcza_strzelecka_01 (tarcza_strzelecka){};

Jeśli w danym zenie jest wiele tarcz, trzeba dać im osobne identyfikatory (kopiując instance i zmieniając numerek) i w skrypcie npc'ów którzy z nich korzystają, zapisywać z której (pod aivar[43]):
self.aivar[43] = tarcza_strzelecka_02;

Opcjonalne modyfikacje:
Spoiler
Początkowo kiedy pisałem ten skrypt, zamiast linijki
var c_npc tarcza; tarcza = Hlp_GetNPC(self.aivar[43]); if (!tarcza) { tarcza = Hlp_GetNPC(tarcza_strzelecka_01); }; if (!tarcza) { return; };byłoWld_DetectNpc (self, tarcza_strzelecka, NOFUNC, -1)); tarcza = other;Gdyby funkcja działała odpowiednio, można by używać wspólnego instance tarczy, a ona znajdowałaby najbliższą. Niestety tester dał znać że to nie działa. Kto chce może pokombinować i spróbować to naprawić, trochę upraszcza korzystanie z rutyny (nie trzeba ręcznie określać do której tarczy ma strzelać dany npc).




Kto chce, a także ma dostęp do klasy oCNpc (definicja dołączona m.in. do Ikarusa), może naprawdę wyłączyć kolizje tego niewidzialnego npc'a który jest celem dla strzał, a nawet uczynić go niewykrywalnym dla gracza (wyłączyć zaznaczalność itd). Należy w skrypcie instancji tarczy dodać:
var oCNpc ocnpc_self; ocnpc_self = Hlp_GetNpc(self);
ocnpc_self._zCVob_bitfield[0] = ocnpc_self._zCVob_bitfield[0] &~ zCVob_bitfield0_physicsEnabled;
ocnpc_self._zCVob_bitfield[0] = ocnpc_self._zCVob_bitfield[0] &~ zCVob_bitfield0_collDetectionStatic;
ocnpc_self._zCVob_bitfield[0] = ocnpc_self._zCVob_bitfield[0] &~ zCVob_bitfield0_collDetectionDynamic;
ocnpc_self._zCVob_type = 129; ocnpc_self.noFocus = 1;

edit: ten aivar 43 jest przykładowy dla G1. W G2NK jest on zajęty przez oryginalne skrypty. Musicie sobie wybrać taki aivar, który jest nieużywany.

53
Potrzebowałem przed chwilą pobrać 60 plików o nazwach będących kolejnymi liczbami. Jako że nie chciało mi się tego robić ręcznie, zacząłem szukać odpowiedniego skryptu. Znalazłem vbscript który po prostu pobiera z góry określony plik do wybranej lokalizacji (źródło: http://vbscriptautomation.net/). Dodałem do niego po prostu pętlę wykorzystującą zmienną liczbową. Jeśli i wy macie czasami podobne problemy, zachęcam do wykorzystywania. Edytuje się tylko 3 ostatnie linijki zawierające pętlę.

function download(sFileURL, sLocation)
 
'create xmlhttp object
Set objXMLHTTP = CreateObject(MSXML2.XMLHTTP)
 
'get the remote file
objXMLHTTP.open GET, sFileURL, false
 
'send the request
objXMLHTTP.send()
 
'wait until the data has downloaded successfully
do until objXMLHTTP.Status = 200 :  wscript.sleep(1000) :  loop
 
'if the data has downloaded sucessfully
If objXMLHTTP.Status = 200 Then
 
    'create binary stream object
Set objADOStream = CreateObject(ADODB.Stream)
objADOStream.Open
 
       'adTypeBinary
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
 
       'Set the stream position to the start
objADOStream.Position = 0    
 
       'create file system object to allow the script to check for an existing file
       Set objFSO = Createobject(Scripting.FileSystemObject)
 
       'check if the file exists, if it exists then delete it
If objFSO.Fileexists(sLocation) Then objFSO.DeleteFile sLocation
 
       'destroy file system object
Set objFSO = Nothing
 
       'save the ado stream to a file
objADOStream.SaveToFile sLocation
 
       'close the ado stream
objADOStream.Close
 
'destroy the ado stream object
Set objADOStream = Nothing
 
'end object downloaded successfully
End if
 
'destroy xml http object
Set objXMLHTTP = Nothing
 
End function
 
For count = 1 to 60
download http://www.thesettlersonline.pl/sites/default/themes/siedler/images/landing/avatar/big/ & count & .png, C:\settlers\ & count & .png
Next


Jak edytować pętlę:
[ramka]For count = 1 to 60
   download http://www.thesettlersonline.pl/sites/default/themes/siedler/images/landing/avatar/big/ & count & .png, C:\settlers\ & count & .png[/ramka]
Aby uruchomić skrypt, wystarczy zapisać go Notatnikiem jako plik z rozszerzeniem .vbs (zamiast .txt) i dwukrotnie kliknąć. Zależnie od ilości plików, zanim pojawią się w folderze trzeba chwilę poczekać.

//edit: jeśli jest szybsze i prostsze rozwiązanie, dajcie znać to wywalę ten temat ;p

54
Offtopic / Cenzura internetu
« dnia: 2012-01-20, 11:52 »
Jak pewnie niektórzy wiedzą, wczoraj FBI zamknęło serwis Megaupload i powiązane z nim (Megavideo itd) - http://www.fbi.gov/news/pressrel/press-releases/justice-department-charges-leaders-of-megaupload-with-widespread-online-copyright-infringement (co zabawne, oskarżony jest nawet projektant graficzny strony).

To przedsmak tego co może się dziać, i dotyczyć także osób prywatnych które są podejrzewane o ściąganie pirackich treści, kiedy w USA wejdą w życie SOPA i PIPA.

Co bardzo nieciekawe, w UE wchodzi w życie analogiczna ustawa, ACTA. Polska ma ją podpisać za niecały tydzień (http://niebezpiecznik.pl/post/fbi-zablokowalo-megaupload-anonimowi-odpowiedzieli-ddos-em/).

Zapraszam do dyskusji.

Jeśli nie wiecie czego dokładnie dotyczą wymienione ustawy, zapraszam do przeczytania http://niebezpiecznik.pl/post/pipa-z-sopa-polakow-bardziej-powinna-interesowac-acta
(fragment cytuję)
Cytuj
przyjęcie porozumienia, do czego najwyraźniej dążą instytucje europejskie, może prowadzić do blokowania legalnych i wartościowych treści dostępnych w Internecie, a tym samym spowodować istotne zagrożenia dla wolności słowa.

ACTA dopuszcza monitorowanie i rejestrowanie działań podejmowanych w sieci przez miliony użytkowników, mimo braku uzasadnionych podejrzeń co do niezgodności ich zachowań z prawem. Przykładem takiej metody może być szczegółowy monitoring danych przesyłanych między użytkownikami przy użyciu technologii głębokiej analizy pakietów (ang. Deep Packet Inspection). Dla użytkowników Internetu oznacza to rażące naruszenie ich prywatności, a dla dostawców postawienie ich w roli „policji internetowej”.

ACTA obliguje dostawców Internetu do ujawniania danych osobowych osób podejrzanych o naruszanie prawa własności intelektualnej domniemanym posiadaczom praw autorskich (por. art. 11 ACTA).

55
Teczki grafików / Avallach
« dnia: 2011-12-27, 15:51 »
Odkąd tajny dział mojego projekciku został przeniesiony do archiwum przez pewnego złego admina który doszedł do wniosku że jego istnienie nie ma sensu, nie miałem za bardzo gdzie umieszczać screenów coraz to kolejnych modeli. W końcu doszedłem do wniosku że może jednak nadadzą się do zaprezentowania publicznego, chociaż nadal się waham.

Generalnie nienawidzę zarówno mapowania, jak i teksturowania, stąd większość prac to po prostu gołe siatki. Może kiedyś mi się zechce.

Trochę oręża. Posegregowany z grubsza chronologicznie, większość pochodzi z zamierzchłych czasów i była tworzona jeszcze do moda Tajemnice Nordmaru.
Spoiler


Właśnie skończony pancerzyk, koncept własny.
Spoiler

Kusza, robiona na bitwę:
Spoiler

Różniaste modele z Tajemnic Nordmaru.
Spoiler

     




Trochę uzbrojenia:
Spoiler

Różności:
Spoiler

Generalnie wszystko tworzę z myślą o użyciu w swoim projekcie czegoś co chyba najbliżej pasuje do terminu rpg w realiach średniowiecza z domieszką fantastyki.

56
Narzędzia / gtools
« dnia: 2011-12-17, 18:24 »
Jakiś czas temu Demonical Monk zaczął pracować nad narzędziem które umieszczone w katalogu z Gothicem, sprytnie wstrzykiwałoby do silnika swój kod i rozszerzało go o nowe funkcje. Działanie jest analogiczne jak w przypadku g2ext - nie mam pojęcia jakie są różnice, bo ani ja, ani Monk nigdy go nie używaliśmy. Właściwie to kiedy zaczynał tworzyć gtools, nawet nie wiedział że już podobny pakiet istnieje.

Zaletą tego narzędzia jest prostota jego użycia - po prostu umieszczamy w katalogu "system" kilka plików, a w pliku .ini moda dodajemy parametr włączający nowe funkcje. Odtąd możemy korzystać w skryptach z nowych funkcji zewnętrznych (externali), których wcześniej nie było. Dają one nowe możliwości, których część dawał do tej pory jedynie Ikarus - jednak on opierał się na niezwykle skomplikowanym wykorzystywaniu luk w systemie skryptów, co było niezwykle nieefektywne. Można to porównać z tapetowaniem pokoju obklejając go znaczkami pocztowymi. Wszystko robił komputer, więc najczęściej nie widzi się jak fatalne jest to rozwiązanie, jednak nieraz wiąże się ze sporym spadkiem wydajności i różnymi bugami. W przypadku gtools funkcje zaimplementowane są natywnie, więc działają z podobną prędkością jak normalne komponenty silnika.

Projekt jest we wczesnej fazie rozwoju, chociaż wielu niezwykle przydatnych funkcji można już spokojnie używać. Bardzo mile widziane są wszelkie komentarze czy propozycje nowych funkcji. Obecnie opracowana wersja jest przeznaczona do g2nk, jednak najprawdopodobniej zostanie też stworzony port do g1.


Przykładowe funkcje:

1. Odpalanie określonej funkcji po minięciu określonego odcinka czasu. Jeśli jako funkcję do odpalenia wybierzemy tą w której umieściliśmy samo polecenie, powstanie pętla z opóźnieniem czasowym - mechanizm analogiczny do tzw. tick tocków, jednak działający bardziej elegancko, w każdym świecie i nie zawieszający gry nawet przy znacznym obciążeniu - jest to spowodowane tym, że czas do ponownego wywołania jest liczony dopiero od końca wywołania poprzedniego.
Prototyp wygląda następująco:
func int gtl_setTimeout(var string name, var int time, var int argument)Pierwszy argument to nazwa funkcji do wywołania, drugi to czas za który ma to nastąpić (w milisekundach), a trzeci to liczba, która zostanie przekazana jako argument do wywoływanej funkcji.
Przykładowo:
func void opoznionaFunkcja (var int argument) {
Print(IntToString(argument));
gtl_setTimeout("opozionaFunkcja", 1000, argument + 1);
};
Funkcja raz wywołana będzie odtąd co sekundę wyświetlała na ekranie coraz większe liczby. Prawda że proste?
Osobiście wywaliłbym ostatni argument, bo nie wszystkie wywoływane funkcje potrzebują przekazania im czegoś jako argumentu, a nawet jeśli, to nie zawsze akurat jeden. A równie dobrze można robić to za pomocą zmiennych globalnych, czego i tak pewnie często nie będzie można uniknąć. Jednak decyzja należy do Monka.


2. Pobieranie obiektu z silnika znajdującego się pod danym adresem. Funkcja ta pełni ważną rolę w Ikarusie, wiele osób na pewno z niej nieraz korzystało. Pozwala choćby uzyskać dostęp do wyświetlanych na ekranie pasków i je modyfikować.
Przykład:
func void something() {
var oCGame game;
game = gtl_getInstanceByPtr(11208836);
game.testMode = 1;
}
Włączy tryb testowy (marvin).
Oczywiście tak jak w przypadku Ikarusa należy umieścić w skryptach odpowiednie definicje klas. Można je pożyczyć choćby właśnie z Ikarusa, są w pełni kompatybilne.


3. Wywoływanie takiego efektu, jaki miałoby wpisanie danego tekstu w konsolę. Jest to prosty sposób na ułatwienie sobie pracy przez skrypterów - wiele przydatnych funkcji jest dostępnych przez konsolę, a nie przez skrypty. Ta funkcja rozwiązuje ten problem.
Przykład:
gtl_evalConsole("zhighqualityrenderer");Wyłączy upraszczanie widocznego w oddali terenu.


To tylko kilka przykładowych funkcji. Jest ich znacznie więcej, chociaż część dopiero tworzona. Więcej można poznać na podlinkowanym poniżej wiki.



57
Oferty pracy i pomocy / Regulamin działu
« dnia: 2011-10-09, 17:44 »
Rekrutacja:
  • Należy wyraźnie zaznaczyć czy chodzi o projekt komercyjny, czy hobbystyczny.
  • W przypadku projektów hobbystycznych, wymagane jest przedstawienie dotychczasowych efektów prac lub swoich wcześniejszych dokonań.
  • Prezentacji należy dokonać bezpośrednio w poście (screeny, filmy), linki do stron zewnętrznych mogą być wykorzystywane tylko pomocniczo.
  • W tytule tematu należy podać kogo się szuka i do jakiego projektu
Szukanie zatrudnienia:
  • W tytule tematu należy podać jakiego zajęcia się szuka i jakie ma się doświadczenie
  • Trzeba zaprezentować w poście próbkę swoich możliwości (screeny, filmy), można dodać też link do portfolio.
Przeglądanie tematów:
  • Wypowiadamy się tylko jeśli jesteśmy bezpośrednio zainteresowani ofertą.

58
Błąd Unknown identifier oznacza że parser napotkał identyfikator (nazwę instancji, zmiennej, klasy lub funkcji) która wcześniej nie została zadeklarowana. Przyczyny mogą być dwie - albo nie jest zadeklarowana w ogóle, albo jest, ale w plikach które w kolejności parsowania (określanej w gothic.src) są dopiero później. Aby poznać właściwą przyczynę, najlepiej za pomocą programu umożliwiającego wyszukiwanie ciągów tekstowych w plikach (np Total Commander) wyszukać we wszystkich skryptach czy istnieje deklaracja danego obiektu/funkcji/zmiennej. Jeśli w którymś się znajduje, trzeba przemyśleć jakie są zależności pomiędzy tymi plikami i ustawić je we właściwej kolejności (tak żeby pliki z których inny plik ma korzystać, zawsze były przed nim). Jeśli takiej deklaracji w ogóle nie ma, można albo ją dodać (w pliku który jest przed wszystkimi tymi w których dany identyfikator jest używany), albo wywalić wszystkie miejsca gdzie próbowało się go użyć.

Jeśli macie jakiekolwiek komunikaty błędów w których jest "Unknown identifier", nie zakładajcie nowych tematów - piszcie tutaj, dzięki temu nie będzie takiego bałaganu, a po przeczytaniu tego posta być może w ogóle nie będziecie musieli pisać.

59
Sprzęt, oprogramowanie / Android
« dnia: 2011-09-08, 17:27 »
Dotarł do mnie mój pierwszy smartphone z Androidem, Motorola Milestone. Jako że jestem w tej dziedzinie dość zielony, polecacie może jakieś konkretne aplikacje? Nie muszą być bezpłatne, bo zaraz będę próbował telefon zrootować. Na razie, buszując po markecie zrobiłem sobie taką listę do ewentualnego pobierania:
Spoiler
Mapy Google
Skype
YouTube
Gadu-Gadu
Adobe Reader
Barcode Scanner
Opera Mini
Adobe Flash Player 10.3
ASTRO File Manager
Encyklopedia Wiki
Gmail
Tłumacz Google
QR Droid
Dokumenty Google
RealCalc
Firefox
Dropbox
Dolphin HD
Paint Joy
IVONA
Terminal
MP3 Downloader
SwiFTP
tTorrent lite

Mouse Trap
Tank hero
Medieval Castle Defence
Kindle
Pocked Legends

60
Aplikacje / Wings3D
« dnia: 2011-08-31, 12:52 »
Wings to darmowy, otwarty program do modelowania 3d, głównie metodą subdivision - wychodząc od prostych brył i stopniowo rozwijając je i poprawiając aż osiągnie się pożądaną siatkę. Jest dostępny na platformy takie jak Windows, Linux czy Mac OS X. Nie obsługuje tworzenia animacji. Viewport obsługuje kilkanaście shaderów służących tylko do prezentacji bryły, do tworzenia zaawansowanych renderów używa zewnętrznych aplikacji (POV-Ray, YafRay, OpenGL).
Cechuje się bardzo prostym interfacem - pasek narzędzi zawiera tylko kilka ikon: zapis, odczyt, nowy plik, zaznaczanie punktów/krawędzi/ścian/brył, ustawienia, miękkie/twarde światło, siatka bryły, siatka podłoża, osie. Niemal wszystkie opcje wybiera się z menu kontekstowego, którego treść jest zależna od tego czy operujemy w danym momencie na punktach, krawędziach, ścianach czy bryłach. Do wszystkich funkcji można łatwo i szybko przypisać skróty klawiaturowe, które potrafią drastycznie przyspieszyć pracę. Posiada zaawansowany mechanizm wtyczek rozszerzających jego możliwości. Posiada tryb pracy lustra - tworzy się tylko jedną stronę modelu, podczas gdy druga jest widoczna jako jej bieżące odbicie. Posiada proste narzędzia do sculptingu i operacji z magnesem (w ramach siatki) i szybkiego przemieszczania elementów bryły. W połączeniu z możliwością importowania jako plane'ów grafik referencyjnych, pozwala to na łatwe odwzorowywanie w 2d lub 3d dowolnych obiektów z wysoką precyzją. Przy tworzeniu bryły najczęściej używane funkcje to dzielenie krawędzi, łączenie punktów, skalowanie, obracanie i przesuwanie, wyciąganie płaszczyzn, niwelowanie krawędzi i spawanie punktów. We wczesnych stadiach pracy używa się też czasami jednego z trybów wygładzania. Wszystkie narzędzia oprócz użytku ręcznego przez przesuwanie myszki pozwalają także na wprowadzenie precyzyjnych parametrów liczbowych. Zależnie od potrzeby nie muszą być używane we wszystkich osiach jednocześnie. Posiada dwa tryby nakładania tekstur na obiekt - przez UV mapping (który może zostać przeprowadzony automatycznie, co jednak nie jest zalecane) lub graficznie, bezpośrednio na siatce.
Standardowo dołączone jest polskie tłumaczenie całego interface'u, można je uaktywnić poprzez Edit -> Preferences -> User Interface -> Language -> Polski.

Obsługuje wiele formatów importu i eksportu:
Spoiler
Import
Nendo (.ndo)
3D Studio (.3ds) (kompatybilny z grą Gothic)
Adobe Illustrator (.ai)
Autodesk FBX (.fbx)
Lightwave/Modo (.lwo/.lxo)
Wavefront (.obj)
PostScript (Inkscape) (.ps)
Encapsulated PostScript (.eps)
Stereolithography (.stl)
Export
Nendo (.ndo)
3D Studio (.3ds) (kompatybilny z grą Gothic)
Adobe Illustrator (.ai)
BZFlag (.bzw)
Kerkythea (.xml)
Autodesk FBX (.fbx)
Lightwave/Modo (.lwo/.lxo)
Wavefront (.obj)
POV-Ray (.pov)
Cartoon Edges (.eps)
Stereolithography (.stl)
Renderware (.rwx)
VRML 2.0 (.wrl)
DirectX (.x)
Collada (.dae)

Strona internetowa: http://www.wings3d.com/
Download: http://www.wings3d.com/redirect_download.php?title=stable_win (wersja stabilna, Windows)

Strony: 1 2 [3] 4 5 6
Do góry