Cst ؟

M_Alireza

Member
با سلا از دوستان
مي خواستم بدونم فايلهاي Cst رو با چه چيزي درست مي كنند.
 

iman1981

Member
همينه كه 0012 گفت كار منو راحت كرد
البته يه توضيح اينكه اگه protect هم بشه بازم قابل edit شدنه براي اونا كه حرفه اي باشن
بهترين كار اينه كه هميشه internal باشه و از فايلتم exe بگيري چون به اين راحتيا قابل edit نيست.
 

0012

Member
با اجازه
وقتی یه پروژه جدید باز کردی به منوی file بعد new برو و گزینه cst رو بزن دایرکتور از سوال میکنه که این کست رو به چه صورت میخوای ذخیره کنی اگه گزینه Internal رو انتخاب کنی در در کنار کست یه کست با اسمی که داید درست میشه و درون فایل اجرای شما ذخیره میشه ولی اگه گزینه External رو انتخاب کنی با هم در پنجره cast یه کست با همون اسمی که دادی ایجاد میشه ولی با این تفاوت که اگه فایلی (موزیک یا عکسی ) رو به این کست وارد کنید دیگه روی فایل اصلی ذخیره نمیشه و در هنگام ذخیره یه فایل cst میسازه و تمامی فایل های که به اون کست وارد کردی توی اون فایل ذخیره میشه

ولی فایل کافی که به دست یه دایرکتور کار بفته اون میتونه تمامی عکس های و ... موجود توی اون فایل رو دستکاری کنه برای حل این مشکل وقتی فایل رو ایجاد و ذخیره کردی از منوی xtras گزینه Update Movies روانتخاب کن و روی protecte رو انتخاب کن و فایل cst خود بهش بده تا برات هم حجم فایل رو کم کنه از ازش در مقابل دستکاری جلوگیری بشه و با پسوند cxt ذخیره میکنه . در زمان که پروژت تمام شد این فایل رو به جای فایل cst روی سی دی بزار .ااستفده از حالت External خیلی بهتره چون ه حجم کار میاد پایین و هم فایل اجرای سبک تر میشه .
اگه مشکلی داشتی بگو.
 

0012

Member
?

با سلام
اقا ایمان میشه بگی چطور میشه ادیتش کرد؟؟؟
نرم افزار خاصی داره
 
آخرین ویرایش:

0012

Member
d

چطور میشه اسکریپت های فایل هارو دید
درون اسکریپت ها خلی میفته
ممنون
 
آخرین ویرایش:

iman1981

Member
اسكريپتا شرمندتم نميشه
تنها محدوديتي كه هست همينه
چون اسكريپتها compile ميشن توي فايلهاي protect شده و به زبان ماشين ترجمه ميشن قابل برگشت نيستند
 

M_Alireza

Member
آقا منظور منو اشتباه متوجه شدید
به مسیری که دایرکتور رو نصب کردید برید سپس به این \Configuration\Libs بروید
منظور من این فایلها است.
 

0012

Member
به همنون صورت یه cast اکسترنال ایجاد کن و بعد توش یه اسکریپت بنویس و ذخیرش کن حالا مینونی به بقیه اون کست ها اضافش کنی
مثال:
این هار رو به همین صورت توی یه اسکریپت بزار و ذخیرش کن
-----------------------------------------------------------------------------ty
-- step value




on GetBehaviorDescription


set sContent = "This allows any sprite to pulsate in and out in opacity. Parameters include maximum opacity, minimum opacity, and step value."
return sContent


END GetBehaviorDescription




on GetBehaviorTooltip


set sContent = "This allows any sprite to pulsate in and out in opacity. Parameters include maximum opacity, minimum opacity, and step value."
return sContent


END GetBehaviorTooltip




PROPERTY pnMySprite, pbFading, pnMaximumOpacity, pnMinimumOpacity, pnFadeStep




on BeginSprite me


set pnMySprite = the currentSpriteNum
set the ink of sprite pnMySprite = 32 -- blend


END BeginSprite




on PrepareFrame me


if the blend of sprite pnMySprite >= pnMaximumOpacity then

set pbFading = TRUE

else if the blend of sprite pnMySprite <= pnMinimumOpacity then

set pbFading = FALSE

end if

if pbFading then

set the blend of sprite pnMySprite = the blend of sprite pnMySprite - pnFadeStep

else

set the blend of sprite pnMySprite = the blend of sprite pnMySprite + pnFadeStep

end if


end PrepareFrame




on GetPropertyDescriptionList me


if not ( the currentSpriteNum ) then

-- behavior has been dropped on the script channel; kickout
exit

end if

return [ #pnMaximumOpacity: [ #comment: "What is the MAXIMUM opacity you want in percent?", #format: #integer, #default: 100, #range: [#min: 1, #max: 100] ], #pnMinimumOpacity: [ #comment: "What is the MINIMUM opacity you want in percent?", #format: #integer, #default: 50, #range: [#min: 0, #max: 100] ], #pnFadeStep: [ #comment: "By what amount do you want the opacity to be stepped each time?", #format: #integer, #default: 1, #range: [#min: 1, #max: 100] ] ]


end GetPropertyDescriptionList


------------------------------------- این هم یکی دیگه

-- The Orbital Behavor as hacked by Renfield

-- [email protected]

-- with respect to flat earth communications





property spriteNum

property orbitSpeed, originH, originV, radiusH, radiusV, originType, originSprite



--====== The Set Up:



on idle me

checkOrigin me

orbit me

updateStage

end



on exitFrame me

checkOrigin me

orbit me

end







--====== Making Biscuits:



on checkOrigin me

case (originType) of

"mouse": mouseOrigin me

"sprite": spriteOrigin me

end case

end



on mouseOrigin me

set originH = the mouseh

set originV = the mousev

end



on spriteOrigin

set originH = the loch of sprite originSprite

set originV = the locv of sprite originSprite

end





on orbit me

set counter to the ticks

set the loch of sprite spriteNum = originH + radiusH * cos(counter/orbitSpeed)

set the locv of sprite spriteNum = originV +radiusV * sin(counter/orbitSpeed)

end



--====== Behavior Handlers:



on getPropertyDescriptionList me

set theProps to [:]



set c to "What's the orbit speed?"

set f to #float

set d to 50.00

addProp theProps, #orbitSpeed, [#comment: c, #format: f, #default: d]



set c to "What's the origin?"

set f to #string

set r to ["point", "mouse", "sprite"]

set d to getAt(r,1)

set typeProps to [#comment: c, #format: f, #range: r, #default: d]

addProp theProps, #originType, typeProps


set c to "If origin is a sprite, who?"

set f to #integer

set d to 1

addProp theProps, #originSprite, [#comment: c, #format: f, #default: d]



set c to "If origin is a point, what's H?"

set f to #integer

set d to 100

addProp theProps, #originH, [#comment: c, #format: f, #default: d]


set c to "if origin is a point,what's V?"

set f to #integer

set d to 100

addProp theProps, #originV, [#comment: c, #format: f, #default: d]


set c to "What's the H radius?"

set f to #integer

set d to 30

addProp theProps, #radiusH, [#comment: c, #format: f, #default: d]



set c to "What's the V radius?"

set f to #integer

set d to 30

addProp theProps, #radiusV, [#comment: c, #format: f, #default: d]


return theProps

end


on getBehaviorDescription me

set line1 to " Make an orbiter" & RETURN

return line1

end
 

0012

Member
به همنون صورت یه cast اکسترنال ایجاد کن و بعد توش یه اسکریپت بنویس و ذخیرش کن حالا مینونی به بقیه اون کست ها اضافش کنی
مثال:
این هار رو به همین صورت توی یه اسکریپت بزار و ذخیرش کن
--------------------------------------------------------------------------
property spriteNum

property orbitSpeed, originH, originV, radiusH, radiusV, originType, originSprite



--====== The Set Up



on idle me

checkOrigin me

orbit me

updateStage

end



on exitFrame me

checkOrigin me

orbit me

end







--====== Making Biscuits



on checkOrigin me

case (originType) of

"mouse" mouseOrigin me

"sprite" spriteOrigin me

end case

end



on mouseOrigin me

set originH = the mouseh

set originV = the mousev

end



on spriteOrigin

set originH = the loch of sprite originSprite

set originV = the locv of sprite originSprite

end





on orbit me

set counter to the ticks

set the loch of sprite spriteNum = originH + radiusH * cos(counter/orbitSpeed)

set the locv of sprite spriteNum = originV +radiusV * sin(counter/orbitSpeed)

end



--====== Behavior Handlers



on getPropertyDescriptionList me

set theProps to []



set c to "What's the orbit speed?"

set f to #float

set d to 50.00

addProp theProps, #orbitSpeed, [#comment c, #format f, #default d]



set c to "What's the origin?"

set f to #string

set r to ["point", "mouse", "sprite"]

set d to getAt(r,1)

set typeProps to [#comment c, #format f, #range r, #default d]

addProp theProps, #originType, typeProps



set c to "If origin is a sprite, who?"

set f to #integer

set d to 1

addProp theProps, #originSprite, [#comment c, #format f, #default d]



set c to "If origin is a point, what's H?"

set f to #integer

set d to 100

addProp theProps, #originH, [#comment c, #format f, #default d]



set c to "if origin is a point,what's V?"

set f to #integer

set d to 100

addProp theProps, #originV, [#comment c, #format f, #default d]


set c to "What's the H radius?"

set f to #integer

set d to 30

addProp theProps, #radiusH, [#comment c, #format f, #default d]



set c to "What's the V radius?"

set f to #integer

set d to 30

addProp theProps, #radiusV, [#comment c, #format f, #default d]

return theProps

end

on getBehaviorDescription me

set line1 to " Make an orbiter" & RETURN

return line1

end


------------------------------------- این هم یکی دیگه
on GetBehaviorDescription


set sContent = "This allows any sprite to pulsate in and out in opacity. Parameters include maximum opacity, minimum opacity, and step value."
return sContent


END GetBehaviorDescription




on GetBehaviorTooltip


set sContent = "This allows any sprite to pulsate in and out in opacity. Parameters include maximum opacity, minimum opacity, and step value."
return sContent


END GetBehaviorTooltip




PROPERTY pnMySprite, pbFading, pnMaximumOpacity, pnMinimumOpacity, pnFadeStep




on BeginSprite me


set pnMySprite = the currentSpriteNum
set the ink of sprite pnMySprite = 32 -- blend


END BeginSprite




on PrepareFrame me


if the blend of sprite pnMySprite >= pnMaximumOpacity then

set pbFading = TRUE

else if the blend of sprite pnMySprite <= pnMinimumOpacity then

set pbFading = FALSE

end if

if pbFading then

set the blend of sprite pnMySprite = the blend of sprite pnMySprite - pnFadeStep

else

set the blend of sprite pnMySprite = the blend of sprite pnMySprite + pnFadeStep

end if


end PrepareFrame




on GetPropertyDescriptionList me


if not ( the currentSpriteNum ) then

-- behavior has been dropped on the script channel; kickout
exit

end if

return [ #pnMaximumOpacity [ #comment "What is the MAXIMUM opacity you want in percent?", #format #integer, #default 100, #range [#min 1, #max 100] ], #pnMinimumOpacity [ #comment "What is the MINIMUM opacity you want in percent?", #format #integer, #default 50, #range [#min 0, #max 100] ], #pnFadeStep [ #comment "By what amount do you want the opacity to be stepped each time?", #format #integer, #default 1, #range [#min 1, #max 100] ] ]


end GetPropertyDescriptionList
-----------------------------------------یکی دیگه
property spriteNum
property pMyDirH
property pMyDirV
property pMaxTop
property pMaxBottom
property pMaxLeft
property pMaxRight
--
-- // Author defined properties...
property pShipSpeed
property pLeftKey
property pRightKey
property pUpKey
property pDownKey
property pFireKey
property pScreenTop
property pScreenBottom
property pScreenLeft
property pScreenRight
--
on BeginSprite me
-- // get screen max edges for ship...
pMaxTop = (pScreenTop+(member("Player Ship").height/2))+5
pMaxBottom = (pScreenBottom-(member("Player Ship").height/2))-5
pMaxLeft = (pScreenLeft+(member("Player Ship").width/2))+5
pMaxRight = (pScreenRight-(member("Player Ship").width/2))-5
--
-- // initiate direction vars...
pMyDirH = 0
pMyDirV = 0
--
-- // get the key codes for selected keys...
pLeftKey = GetKeyCodes(pLeftKey)
pRightKey = GetKeyCodes(pRightKey)
pUpKey = GetKeyCodes(pUpKey)
pDownKey = GetKeyCodes(pDownKey)
--
end
on ExitFrame me
-- // key press stuff...
if keyPressed(pLeftKey) then
pMyDirH = -(pShipSpeed)
else if keyPressed(pRightKey) then
pMyDirH = pShipSpeed
else
pMyDirH = 0
end if
if keyPressed(pUpKey) then
pMyDirV = -(pShipSpeed)
else if keyPressed(pDownKey) then
pMyDirV = pShipSpeed
else
pMyDirV = 0
end if
-- // better if called last...
DoShipMovement()
end
-- // Spaceship sprite movement, pretty simple...
on DoShipMovement
if (sprite(spriteNum).loch)+pMyDirH > pMaxRight then
sprite(spriteNum).loch = pMaxRight
else if (sprite(spriteNum).loch)+pMyDirH < pMaxLeft then
sprite(spriteNum).loch = pMaxLeft
else
sprite(spriteNum).loch = (sprite(spriteNum).loch)+pMyDirH
end if
if (sprite(spriteNum).locv)+pMyDirV < pMaxTop then
sprite(spriteNum).locv = pMaxTop
else if (sprite(spriteNum).locv)+pMyDirV > pMaxBottom then
sprite(spriteNum).locv = pMaxBottom
else
sprite(spriteNum).locv = (sprite(spriteNum).locv)+pMyDirV
end if
end
-- // get the key codes for selected keys...
on GetKeyCodes nKey
case (nKey) of
"None":
return 5000
"Up arrow":
return 126
"Down arrow":
return 125
"Left arrow":
return 123
"Right arrow":
return 124
"Numpad up":
return 91
"Numpad down":
return 84
"Numpad left":
return 86
"Numpad right":
return 88
",":
return 43
"/":
return 44
"L":
return 37
".":
return 47
"End":
return 83
"Page down":
return 85
"Numpad 5":
return 87
end case
end
-- // Author defined properties, parameters dialog...
on GetPropertyDescriptionList me
if not the currentSpriteNum then exit
pDesc = [:]
addProp pDesc, #pShipSpeed, ¬
[#default: 8,¬
#format:#integer,¬
#comment:"Spaceship speed (in pixels) : ",¬
#range:[#min:1, #max: 200]¬
]
addProp pDesc, #pScreenTop, ¬
[#default: 0,¬
#format:#integer,¬
#comment:"Screen edge - Top : ",¬
#range:[#min:0, #max: 1000]¬
]
addProp pDesc, #pScreenBottom, ¬
[#default: 480,¬
#format:#integer,¬
#comment:"Screen edge - Bottom : ",¬
#range:[#min:0, #max: 1000]¬
]
addProp pDesc, #pScreenLeft, ¬
[#default: 0,¬
#format:#integer,¬
#comment:"Screen edge - Left : ",¬
#range:[#min:0, #max: 1000]¬
]
addProp pDesc, #pScreenRight, ¬
[#default: 640,¬
#format:#integer,¬
#comment:"Screen edge - Right : ",¬
#range:[#min:0, #max: 1000]¬
]
addProp pDesc, #pLeftKey, ¬
[#default: "Left arrow",¬
#format:#field,¬
#comment:"Left movement key : ",¬
#range:["None", "Left arrow", "Numpad left", ",", "End"]¬
]
addProp pDesc, #pRightKey, ¬
[#default: "Right arrow",¬
#format:#field,¬
#comment:"Right movement key : ",¬
#range:["None", "Right arrow", "Numpad right", "/", "Page down"]¬
]
addProp pDesc, #pUpKey, ¬
[#default: "Up arrow",¬
#format:#field,¬
#comment:"Upwards movement key : ",¬
#range:["None", "Up arrow", "Numpad up", "L", "Numpad 5"]¬
]
addProp pDesc, #pDownKey, ¬
[#default: "Down arrow",¬
#format:#field,¬
#comment:"Downwards movement key : ",¬
#range:["None", "Down arrow", "Numpad down", "."]¬
]
return pDesc
end
-- // Description...
on GetBehaviorDescription me
return "ARCADE SPACESHIP BEHAVIOR....by Chris Sargeant."&return&return&"This will cause a sprite to move like¬
a classic arcade spaceship. You can do a few things :"&return&return&"CONTROL SHIP SPEED"&return&return&"This¬
will control the amount of pixels the sprite will move over each frame in any direction."&return&return&¬
"SCREEN EDGES"&return&return&"Control the screen area that the ship is constrained to by setting the screen¬
edges (top, bottom,"&return&"left & right). Note : The sprite will stay inside these edges by half its width¬
plus five pixels. This stops"&return&"any part of it from going off the screen, so there is no need to ¬
compensate."&return&return&"CONTROL KEYS"&return&return&"Control the keys for the ship movement. These are ¬
currently coded with 4 settings in mind : Arrow keys,"&return&"Numpad arrow keys and two others using End,¬
Page Down, Numpad 5, comma, forward slash, L and fullstop."&return&"You can mix em' up if you want."&return¬
&return
end
-- // Tooltip...
on GetBehaviorTooltip me
return "Arcade Spaceship behavior...by Chris Sargeant."&return&return&"This will cause a sprite to move like¬
a classic arcade spaceship."
end
 

iman1981

Member
يه نكته ديگه اينكه با اينكه اسكريپتا بر نميگردونه ولي ميتونين پس از اعمال تغييرات اونو save كني و استفاده كني و فايل مثل قبل كار ميكنه ولي با گرافيكهاي جديدي كه شما گذاشتين :wink: خوبه نه؟
 

0012

Member
وقعا خیلی برنامه جالبی
مخوصا که با دایرکتورنوشتنش
 

جدیدترین ارسال ها

بالا