Jump to content


  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

1 Follower

About Tassadar

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello, I was wondering if there is a way to increase amounts purchasable from an exchanger npc? instead of dragging 1x item to the purchase bar, I want players to have the option to exchange X amounts. Is this possible? If so, how would I implement it?
  2. anyone manage to get this idea to work?
  3. recently had to move a few items around in iteminfo, and when I did, some players had the items equipped. the item was origionaly set to be UN-droppable, and Un-tradeable. when I moved the item/items id, the item no longer existed on the server, but remained in their inventories as invisble. all players with that item are no longer able to log in, I cannot login to their accounts to remove the item. Is there a way to remove an item from a players inventory, bank, or temp bag, through SQL? or a tool somewhere to do this? or does anyone know of a way I can work around this, to solve the problem. any help Is greatly apreciated
  4. Tassadar

    Corsairs Online Source codes

    part of my issue was gamesrever00 trying to load all 3 main city maps, removing magic sea and darkblue from gameserver00 allowed me to login/join but my characters are permanently stuck in place. any movement causes it to "rubber-band" back to the same location. not sure if its because of other maps or what, anyone know? and is there a working server launcher for this, to open up the other gameservers/maps?
  5. Tassadar

    Corsairs Online Source codes

    still cant figure out the illegal birth problem..any help is greatly appreciated.
  6. Tassadar

    Corsairs Online Source codes

    ive tried using both clients linked throughout the post, both are giving the same illegal birth error.
  7. Tassadar

    Corsairs Online Source codes

    how do you fix the illegal birth? downloaded the latest client from a previous post, using the execs. all maps are loaded
  8. Tassadar

    new monster models?

    I tried that psot already, the main site link is dead, the players link to the file is dead, and the link to another site for it just leads to a Japanese add page
  9. Tassadar

    new monster models?

    ive got those ones, but there seems to be a batch of atleast 20 more somewhere. anyone have a link to Demon Legend Client?
  10. Tassadar

    new monster models?

    ive seen a few servers lately using some models ive never seen befor, and I was wondering if anyone knew where they got them? models like this
  11. Tassadar

    Making my server first time

    Y87dc#$98 is the default password. to first login yes use that one. the default login name is usually "sa" "admin" "adminuser" try all 3 -If you want to continue using the default name / password, Login through windows authenticator - Go to - Security > Logins. Find and right click sa and Options. --Go to - Server Roles and select the boxes for Public / sysadmin. --Go to - User Mapping and make sure that : AccountServer, GameDB and any other databases you added from your server are selected. --Finally go to Status and make sure "Permission to access the database" Grant is selected, and Login is enabled --To make sure the account was given the right permissions / ranks, Go to your Databases, right click GameDB and Options. --Click the FIles tab, and the Owner should be listed as sa --If your account is not listed, click the small box to the right […]. In the popup box click browse, scroll down until you find sa, select it and click ok. Accept, and close. -you should now be able to login with sa and Y87dc#$98 as the password. -To create a new account, Click Secuirty>Options>New Login. Enter your desired username, Select SQL server authentification, and enter your hashed password. there are several guides around pkodev on how to hash your passwords (code used to hide your login info). -After that is done, follow the steps above to give that account ownership.(You will need to change your login information in all the cfg's in your serverfiles to match the new account information hope this helps
  12. Tassadar

    Boss Respawn NPC

    BossFolder = "script/extension/Boss Knowledge/BossLogs/" print( "* Loading Boss Knowledge" ) Characterinfo_path = "resource\\characterinfo.txt" -- scanned characterinfo path -- ---------------- -- Table Index's -- ---------------- MonsterKnowledge = {} RespawnBoss = {} BossToRecord = {} MonstersToRecord = {} -- ---------------- -- Bosses IDS -- ---------------- MonstersToRecord[1] = 805 MonstersToRecord[2] = 789 MonstersToRecord[3] = 1302 MonstersToRecord[4] = 757 MonstersToRecord[5] = 1265 MonstersToRecord[6] = 1204 MonstersToRecord[7] = 1267 MonstersToRecord[8] = 1244 -- -------------------- -- Bosses Respawn Time -- -------------------- -- MonsterID / Time in seconds RespawnBoss[805] = 10800 RespawnBoss[789] = 86400 RespawnBoss[1302] = 604800 RespawnBoss[757] = 7200 RespawnBoss[1265] = 14400 RespawnBoss[1204] = 14400 RespawnBoss[1267] = 30000 RespawnBoss[1244] = 39600 -- ---------------------------- -- Record tables for monsters -- ---------------------------- for i,v in pairs (MonstersToRecord) do BossToRecord[v] = true end function file_exists(name) local f=io.open(name,"r") if f~=nil then io.close(f ) return true else return false end end -- ------------------------- -- NPC SDK -- ----------------- -- elseif item.func == CheckMonsterSat then -- return CheckMonsterSat( character,item.p1) -- --------------------------- -- CUSTOM SPLIT FUNCTION -- --------------------------- function split(str, delim, maxNb) -- Eliminate bad cases... if string.find(str, delim) == nil then return { str } end if maxNb == nil or maxNb < 1 then maxNb = 0 -- No limit end local result = {} local pat = "(.-)" .. delim .. "()" local nb = 0 local lastPos for part, pos in string.gfind(str, pat) do nb = nb + 1 result[nb] = part lastPos = pos if nb == maxNb then break end end -- Handle the last field if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end return result end -- --------------------------- -- SCAN CHARACTERINFO -- --------------------------- function ScanMonsterKnowledge(file) local fp = assert(io.open (file)) for line in fp:lines() do local position = string.find(line, "[ \t]*//") if (position ~= 1) then local data = split(line,"\t") local c1 = tonumber(data[1]) if c1 ~= nil then MonsterKnowledge[c1] = {Name = {tostring(data[2])},Skills = {data[45]},Drops = {data[47]},Lv = data[61],MaxHP=data[62],MaxSP=data[64],MinAtk=data[66],MaxAtk=data[67],Pr=data[68],Def=data[69],Hr=data[70],Dodge=data[71],Exp=data[91] } end end end end -- ---------------------------- -- Run characterinfo.txt scan -- ---------------------------- ScanMonsterKnowledge(Characterinfo_path) -- --------------------------- -- CHECK STATUS -- --------------------------- function CheckBossRespawn(id) if file_exists(GetResPath(BossFolder..""..id..".txt")) == false then table.save({LastKilled = 0 , RecordRespawn = 0 },GetResPath(BossFolder..""..id..".txt"),"a") end local Boss = table.load(GetResPath(BossFolder..""..id..".txt"),"r") if Boss.RecordRespawn ~= 0 then local RemainingTime = Boss.RecordRespawn - os.time() if RemainingTime <= 1 then Boss.LastKilled = 0 Boss.RecordRespawn = 0 table.save(Boss,GetResPath(BossFolder..""..id..".txt"),"w") end local notice = "Dead" local notice1 = "Remaining Respawn time: "..GetTime(RemainingTime).."!" return notice,notice1 end if Boss.RecordRespawn == 0 then local noticey = "Alive" local noticex = "Boss: "..MonsterKnowledge[id].Name[1].." is still alive!" return noticey,noticex end end -- --------------------------- -- CHECK LAST KILLER -- --------------------------- function LastKillBossName(id) if file_exists(GetResPath(BossFolder..""..id..".txt")) == false then table.save({LastKilled = 0 , RecordRespawn = 0 },GetResPath(BossFolder..""..id..".txt"),"a") end local Boss = table.load(GetResPath(BossFolder..""..id..".txt"),"r") if Boss.LastKilled == 0 then killer = "Nobody" else killer = Boss.LastKilled end return killer end -- ---------------------------- -- NPC Function -- ---------------------------- function bossknowl() Talk(1,"Graves: Hello, I can show you some information about bosses! Pick a boss already and check the information about it.") for i,v in pairs(MonstersToRecord) do Text(1,""..MonsterKnowledge[v].Name[1].."",CheckMonsterSat,v) end end -- --------------------------- -- LOADING STATS -- --------------------------- function CheckMonsterSat(cha,id) local MonsterName = MonsterKnowledge[id].Name[1] local Lv = MonsterKnowledge[id].Lv local Hp = MonsterKnowledge[id].MaxHP local Sp = MonsterKnowledge[id].MaxSP local mAtk = MonsterKnowledge[id].MinAtk local mxAtk = MonsterKnowledge[id].MaxAtk local Pr = MonsterKnowledge[id].Pr local Def = MonsterKnowledge[id].Def local Hr = MonsterKnowledge[id].Hr local Dodge = MonsterKnowledge[id].Dodge local Exp = MonsterKnowledge[id].Exp local Drops = MonsterKnowledge[id].Drops for i,v in pairs(Drops)do end local Stat,Notice = CheckBossRespawn(id) local LastKill = LastKillBossName(id) HelpInfo(cha,0,"Boss: "..MonsterName.." Information_ Lv:"..Lv.." Hp: "..Hp.." Sp: "..Sp.."_ Min Attack: "..mAtk.." Max Attack: "..mxAtk.."_ Physical Resistance: "..Pr.." Defense: "..Def.."_ Hit Rate: "..Hr.." Dodge: "..Dodge.." Exp: "..Exp.."_ Status: "..Stat.." Last Killer: "..LastKill.." _ "..Notice.."")-- _ Drops : "..Dropsx.."") end -- --------------------------- -- GET TIME IN SECOND -- --------------------------- function GetTime(Seconds) if tonumber(Seconds) == 0 then return "00:00:00"; else Hours = string.format("%02.f", math.floor(tonumber(Seconds)/3600)); Mins = string.format("%02.f", math.floor(tonumber(Seconds)/60 - (Hours*60))); Secs = string.format("%02.f", math.floor(tonumber(Seconds) - Hours*3600 - Mins *60)); return Hours..":"..Mins..":"..Secs end end -- --------------------------- -- PLAYER KILL BOSS HOOK -- --------------------------- function RecordKilledBosses(z,dead,atk) local GetKillerName = GetChaDefaultName(atk) local GetBossName = GetChaDefaultName(dead) local GetBossID = GetChaID(dead) local DisplayCurrentTime = ""..os.date("%H")..":"..os.date("%M")..":"..os.date("%S").."" if BossToRecord[GetBossID] == true then local Boss = table.load(GetResPath(BossFolder..""..GetBossID..".txt"),"r") Boss.RecordRespawn = os.time() + RespawnBoss[GetBossID] Boss.LastKilled = GetKillerName table.save(Boss,GetResPath(BossFolder..""..GetBossID..".txt"),"w") Notice("<BOSS>: "..GetBossName.." has been defeated by ["..GetKillerName.."] at ["..DisplayCurrentTime.."]!") end end Hook:AddPostHook("GetExp_PKM",RecordKilledBosses) In regards to this, I was wondering If there needs to be a txt inside the folder for it to save to, nothing is saving or being created, and where/how does this handle the spawn location of the boss?
  13. Tassadar

    Requesting Rb2-3

    Hello, I was wondering if anyone had a copy of a working Rebirth 2-3 script?
  14. Tassadar

    Монстры. Monsters

    когда я пытаюсь comile Characterinfo.txt, это дает мне ошибку ""Недействительный формат или версия". ЕСЛИ я не компилирую, он все еще дает такую же ошибку.
  15. Tassadar

    Adding items to IGS?

    thank you!. every program ive found on the site / posts on this subject only drove me nuts. it works great now