- Joined
- Jun 5, 2009
- Messages
- 311
- Reaction score
- 28
How to Make Your Own Pk maze
Here i will show you how make ur own pk maze in some easy steps.
1.You have to add ur maze. It can be every map. Typical pk maze like Chaos Icicle, Glacier Armageddon,Bounty Hunter,Deathmatch,Death Cicrcle arent availbe in all files.
Download:
You must be registered to see links
You must be registered to see links
You must be registered to see links
You must be registered to see links
You must be registered to see links
2.
Now we will add map to our files.
A) Extract maps to server files
B) Add map to config
PHP:
Server Files >> resources>>scripts>>script define.lua
PHP:
-----AddMap( "mapfolder", "Map Name" ) -- ID = 25
-----
AddMap ( "glacierpk", "GlacierPK" ) -- ID = 26
AddMap ( "bountypk", "Bounty Hunter" ) -- ID = 27
AddMap ( "deathcircle", "Death Circle" ) -- ID = 28
AddMap ( "deathmatch", "Death Match" ) -- ID = 29
AddMap ( "chaosicicle", "Chaos Icicle" ) -- ID = 30
It should look like
C) Now we will have to add Birth points. So go to
PHP:
Server files>>resources>>script>>birth>>birth_conf.lua
add this
PHP:
--Choas Icicle
AddBirthPoint("Chaos Icicle portal", "binglang2", 76,126)
AddBirthPoint("Chaos Icicle", "chaosicicle", 75,80 )
AddBirthPoint("Glacier Armageddon", "glacierpk", 1343, 351)
AddBirthPoint("Glacier Armageddon", "glacierpk", 1332, 404)
AddBirthPoint("Glacier Armageddon", "glacierpk", 1408, 381)
AddBirthPoint("Glacier Armageddon", "glacierpk", 1273, 376)
AddBirthPoint("Bounty Hunter PK", "bountypk", 471, 3407)
AddBirthPoint("Bounty Hunter PK", "bountypk", 401, 3464)
AddBirthPoint("Bounty Hunter PK", "bountypk", 463, 3461)
AddBirthPoint("Bounty Hunter PK", "bountypk", 403, 3410)
AddBirthPoint("deathcircle", "deathcircle", 99,99)
AddBirthPoint("deathcircle", "deathcircle", 154,34)
AddBirthPoint("deathcircle", "deathcircle", 178,96)
AddBirthPoint("deathcircle", "deathcircle", 155,155)
AddBirthPoint("deathcircle", "deathcircle", 99,177)
AddBirthPoint("deathcircle", "deathcircle", 35,156)
AddBirthPoint("deathcircle", "deathcircle", 15,92)
AddBirthPoint("deathcircle", "deathcircle", 35,38)
AddBirthPoint("deathcircle", "deathcircle", 99,12)
AddBirthPoint("deathmatch", "deathmatch", 15,14)
AddBirthPoint("deathmatch", "deathmatch", 15,47)
AddBirthPoint("deathmatch", "deathmatch", 46,16)
AddBirthPoint("deathmatch", "deathmatch", 46,46)
PHP:
map= deathcircle
map= deathmatch
map= glacierpk
map= bountypk
map= chaosicicle
::::: OK maps are done::::::
Now we will add mobs to the map
1. Launch TOP
2. Go your gm char to map (eg glacier armagedon)
3. Stay in place where u want to have mob/chest
4. Write &qcha YourName and you will see qcha coords in system
5. We have coords so what do now?
PHP:
Server files >>resources>> Map Folder (eg bounty pk) >> ctrl.lua
and add this under any END
PHP:
function map_copy_run_special_bountypk( map_copy )
local HowManyNoDead = GetMapActivePlayer(map_copy)
Notice("There are current "..HowManyNoDead.." survivor in YourMapName")
Every_5_minute = Every_5_minute+1
if Every_5_minute == 2 then -- łőĽ¶±¦Ďä
local Monster2 = CreateChaEx(1186, Cord, 145, 50,map_copy)
local Monster3 = CreateChaEx(1186, Cord, 145, 50,map_copy)
local Monster4 = CreateChaEx(1186, Cord, 145, 50,map_copy)
local Monster5 = CreateChaEx(1186, Cord, 145, 50,map_copy)
SetChaLifeTime(Monster2,299050)
SetChaLifeTime(Monster3,299100)
SetChaLifeTime(Monster4,299150)
SetChaLifeTime(Monster5,299200)
end
if Every_5_minute == 3 then -- ÖĐĽ¶±¦Ďä
local Monster6 = CreateChaEx(1185, Cord, 145, 50,map_copy)
local Monster7 = CreateChaEx(1185, Cord, 145, 50,map_copy)
local Monster8 = CreateChaEx(1185, Cord, 145, 50,map_copy)
local Monster9 = CreateChaEx(1185, Cord, 145, 50,map_copy)
SetChaLifeTime(Monster6, 299050)
SetChaLifeTime(Monster7, 299100)
SetChaLifeTime(Monster8, 299150)
SetChaLifeTime(Monster9, 299200)
end
if Every_5_minute == 4 then -- ¸ßĽ¶±¦Ďä
local Monster10 = CreateChaEx(1184, Cord, 145, 50,map_copy)
local Monster11 = CreateChaEx(1184, Cord, 145, 50,map_copy)
local Monster12 = CreateChaEx(1184, Cord, 145, 50,map_copy)
local Monster13 = CreateChaEx(1184, Cord, 145, 50,map_copy)
SetChaLifeTime(Monster23, 299050)
SetChaLifeTime(Monster24, 299100)
SetChaLifeTime(Monster25, 299150)
SetChaLifeTime(Monster26, 299200)
end
if Every_5_minute == 5 then -- ¸ßĽ¶±¦Ďä
local Monster10 = CreateChaEx(1183, Cord, 145, 50,map_copy)
local Monster11 = CreateChaEx(1183, Cord, 145, 50,map_copy)
local Monster12 = CreateChaEx(1183, Cord, 145, 50,map_copy)
local Monster13 = CreateChaEx(1183, Cord, 145, 50,map_copy)
SetChaLifeTime(Monster23, 299050)
SetChaLifeTime(Monster24, 299100)
SetChaLifeTime(Monster25, 299150)
SetChaLifeTime(Monster26, 299200)
end
1. Add 1st wave
PHP:
Every_5_minute = Every_5_minute+1
if Every_5_minute == 2 then -- łőĽ¶±¦Ďä
local Monster2 = CreateChaEx(MOB ID, QchaCords, 145, 50,map_copy)
local Monster3 = CreateChaEx(MOB ID, QchaCords, 145, 50,map_copy)
local Monster4 = CreateChaEx(MOB ID, QchaCords, 145, 50,map_copy)
local Monster5 = CreateChaEx(MOB ID, QchaCords, 145, 50,map_copy)
SetChaLifeTime(Monster2,299050)
SetChaLifeTime(Monster3,299100)
SetChaLifeTime(Monster4,299150)
SetChaLifeTime(Monster5,299200)
and set cha life time is how long monster will life.
Do it with other waves too , so ur map will more interesting
2nd way. If you want make mobs which will appear evesa
Our map is done in 90% .
Now we will change map name , open/close time and other things
I will do it with Glacier Armagedon. Other maps look like this
Open
PHP:
Server files>> resources>>map folder>entry.ctrl
PHP:
function config_entry(entry)
SetMapEntryEntiID(entry, 193,1) -- Portal Image
end
function after_create_entry(entry)
local copy_mgr = GetMapEntryCopyObj(entry, 0) --
local EntryName = "Glacier Armageddon"
SetMapEntryEventName( entry, EntryName )
map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) --
Notice("Announcement: According to reports, near [REGION] at ["..posx..","..posy.."] appears a portal to [Map Name]. Please check it out.") --֪ͨ±ľ×é·ţÎńĆ÷µÄËůÓĐÍćĽŇ
end
function after_destroy_entry_glacierpk(entry)
map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry)
Notice("Announcement: According to reports, portal to [Map Name] has vanished. Check announcement for more details. Enjoy!")
end
function after_player_login_glacierpk(entry, player_name)
map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) --
ChaNotice(player_name, "Announcement: According to reports, [REGION] at ["..posx..","..posy.."] appears a portal to [Map Name]. Please check it out.")
end
function check_can_enter_glacierpk( role, copy_mgr )
local FightingBook_Num = 0
FightingBook_Num = CheckBagItem( role,3849 )
local Team_In = IsInTeam(role)
if Team_In == 1 then
SystemNotice ( role , "You cannot enter [Map Name] in a Party." )
return 0
end
if FightingBook_Num <= 0 then
SystemNotice ( role , "You must have a Medal of Valor to enter [Map Name]" )
return 0
elseif FightingBook_Num > 1 then
LG("RYZ_PK","ł¬ąýŇ»¸öÓÂŐßÖ®Ö¤")
return 0
end
local Cha = TurnToCha(role)
if Lv(Cha) >=65 and Lv(Cha) <=101 then
return 1
else
SystemNotice(role, "To enter Map Name, players must be between Lv 65 to 90")
return 0
end
--if HonorPoint >30000 then
--SystemNotice ( role , "You cannot enter [Map Name] you have to much Honor" )
--return 0
--end
--local Credit_bountypk= GetCredit(role)
--if Credit_bountypk < 30 then
--SystemNotice ( role , "You do not have enough Reputation Points" )
--return 0
--else
--DelCredit(role,30)
--end
--if Lv(role) < 20 then
--SystemNotice ( role , "You do not have enough Reputation Points" )
--return 0
--end
--local Has_money = check_HasMoney(role)
--if Has_money == 1 then
--return 1
--else
--SystemNotice(role,"You do not have enough Gold to enter [Map Name]")
--return 0
--end
end
function begin_enter_glacierpk(role, copy_mgr)
SystemNotice(role,"Entering [Map Name]")
MoveCity(role, "Glacier Armagedon")
end
[MAP NAME] is your map name
[REGION] Is region where is ur portal (eg any city or something)
::::::
You can delete or edit eg min money , rep ,lvl to enter. Just change values
PHP:
if Lv(Cha) >=MinLVL and Lv(Cha) <=MaxLvl then
return 1
else
SystemNotice(role, "To enter Map Name, players must be between Lv _ to _")
return 0
end
--if HonorPoint >30000 then
--SystemNotice ( role , "You cannot enter [Map Name] you have to much Honor" )
--return 0
--end
--local Credit_bountypk= GetCredit(role)
--if Credit_bountypk < RepValue then
--SystemNotice ( role , "You do not have enough Reputation Points" )
--return 0
--else
--DelCredit(role,RepValue)
--end
--if Lv(role) < RepValue then
--SystemNotice ( role , "You do not have enough Reputation Points" )
--return 0
--end
--local Has_money = check_HasMoney(role)
--if Has_money == MoneyValue then
--return 1
--else
--SystemNotice(role,"You do not have enough Gold to enter [Map Name]")
--return 0
--end
2. .ctrl
PHP:
--Glacier Armageddon
function config(map)
MapCanSavePos(map, 0)
MapCanPK(map, 1) -- This Map Can be PK Set.
MapCanTeam( map, 0 )
MapType( map , 3 )
MapCopyNum(map, 1)
SingleMapCopyPlyNum(map, 300)
--MapCanTeam(map , 1) -- map can be party.
--MapCanStall(map , 0) -- map can set stall.
end
function get_map_entry_pos_glacierpk() -- Cordinates of portal
local POS_X=CoordX --- Portal coord X
local POS_Y=CoordY ---- Portal coord Y
return POS_X , POS_Y
end
function init_entry(map)
SetMapEntryMapName(map, "darkblue") -- This Is where the portal map located
SetMapEntryTime(map, "2006/10/18/1/0", "0/1/0", "0/0/30", "0/0/45") --
-- The first set of numbers is the starting point (Year/Month/Day/Hour/Minute), next is opening interval (Day/Hour/Minute),
-- portal open duration (Day/Hour/Minute), and last is the map duration (Day/Hour/Minute).
end
function after_enter_glacierpk( role , map_copy )
end
function before_leave_glacierpk( role )
end
--function map_copy_first_run_glacierpk( map_copy )
-- lua_SetCopySpecialInter(map_copy , 10000)
-- Notice("10")
--
--end
--function map_copy_run_glacierpk( map_copy )
----Notice("3")
--local new1 = CreateChaEx(791, 120, 120, 145, 50)
-- SetChaLifeTime(new1, 900000)
--
--end
--Ăż5·ÖÖÓĂëÖ´ĐĐ1´Î
function map_copy_run_special_glacierpk( map_copy )
local HowManyNoDead = GetMapActivePlayer(map_copy)
Notice("There are current "..HowManyNoDead.." survivor in [MapName]")
end
--Ăż5ĂëÖ´ĐĐŇ»´ÎµÄ
function map_run_glacierpk( map )
end
--µŘÍĽąŘ±ŐʱִĐĐ
function map_copy_before_close_glacierpk( map_copy )
How_Many_Active = GetMapActivePlayer(map_copy)
if How_Many_Active > 0 then
DealAllActivePlayerInMap(map_copy,"GiveSpecItem")
end
How_Many_Active = 0
Money_all = 1000000
Every_5_minute = 0
end
--µŘÍĽąŘ±ŐʱִĐĐ
function map_copy_close_glacierpk( map_copy )
ClearAllSubMapCha(map_copy)
end
--
-----------------------------------------------------------------------
-----------------------------------------------------------------------
function can_open_entry_glacierpk( map )
-- local time = GetTickCount ( )
local Now_Time = GetNowTime()
if Now_Time ==1 or Now_Time ==4 or Now_Time ==7 or Now_Time ==10 or Now_Time ==13 or Now_Time == 19 then ------------bh 1 4 7 10 13 16 19 22
return 1
else
return 1
end
end
function GiveSpecItem( role )
if How_Many_Active == 0 then
return
end
local Money_glacierpk = Money_all/How_Many_Active
-- SystemNotice(role,How_Many_Active)
if How_Many_Active > 5 then
AddMoney ( role , 0 , Money_glacierpk )
-- local message = "˝ńĚěµÄÂҶ·ą˛´ć»îÁË"..How_Many_Active .. "λÍćĽŇ,ËűĂÇĂżČË˝«»ńµĂ"..Money_glacierpk .."µÄ˝đÇ®"
-- SystemNotice(role,How_Many_Active)
return
end
if How_Many_Active < 6 and How_Many_Active > 1 then
local Item_CanGet = GetChaFreeBagGridNum ( role )
if Item_CanGet <= 0 then
GiveItemX ( role , 0 , 5866 , 1 , 4 )
else
GiveItem ( role , 0 , 5866 , 1 , 4 )
end
AddMoney ( role , 0 , Money_glacierpk )
--SystemNotice(role,How_Many_Active)
--local message = "AnyText"..How_Many_Active .."AnyText"..Money_glacierpk .."AnyText"
--Notice ( message )
return
end
if How_Many_Active == 1 then
local Item_CanGet = GetChaFreeBagGridNum ( role )
if Item_CanGet <= 0 then
GiveItemX ( role , 0 , 5867 , 1 , 4 )
else
GiveItem ( role , 0 , 5867 , 1 , 4 )
end
AddMoney ( role , 0 , Money_glacierpk )
local cha_name = GetChaDefaultName ( role )
local message = "Congratulations "..cha_name.." you have earned ".. Money_glacierpk .." gold and 1 King of the Ring Emblem"
-- SystemNotice(role,How_Many_Active)
SystemNotice(role,message)
return
end
end
Last edited: