Jump to content

mkhzaleh

Community
  • Content Count

    305
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by mkhzaleh

  1. mkhzaleh

    Comments cleanup tool

    just build it in vs
  2. just use it in that skill function if GetEquipItemP(cha,17) == x then 'yourcode' end
  3. depends how ur "effect works" on x skill or always?
  4. i would suggest to use last version , since its updated and free , i'm using it all running fine to install just search in google for SQLServer2017-SSEI-Expr and SSMS-Setup-ENU normal installation
  5. as far as i remember this guy untrusted person he is using goat files , his history used to open server 1 -2 week then wipe it and reopen
  6. u don't need "cha_timer " to activate rear pets" its work on "equipment slot "
  7. ColourNotice(role,"0xe33d1b","congratulations~! you Upgraded Swing to Lv10!!")
  8. _igs = {} -- _igs.SavePath = GetResPath('../Log/Igs.log') -- _igs.Initial = function(File) Table = io.open(File, 'r') if Table ~= nil then io.close(Table) else table.save({}, File, 'w') end end _igs.Initial(_igs.SavePath) add this to IGS.lua edit function IGSLog(msg) local file = "Log/Igs.log" or just create new folder and rename it to GSlog and create new file inside it "Igs.log"
  9. Bug Title: "Swing invisible " Bug Description: Swing missing effect/models/texture Status: (Closed) Author: mkhzaleh & @GOAT Swings
  10. Bug Title: "Nightmare Demonic Helm" Bug Description: Nightmare Demonic Helm upgrade missing Status: (Closed) Author: mkhzaleh /// Bug Title: "Admiral Cloak Upgrade" Bug Description: Admiral Cloak Upgrade missing Status: (Closed) Author: mkhzaleh Cloak Helm
  11. Title: IGS todo Improvement Reason: Addd Limited Duration/quantity to igs Approach: open
  12. yes if they r online , unless save them in table and when player login gets his item
  13. function sendid(role,cha,item_id,quantity) if(type(cha) ~= 'userdata') then cha = GetPlayerByName(cha) end --local cha = GetPlayerByName(cha) local gmname = GetChaDefaultName(role) if cha == nil then HelpInfo(role,0,"Player is offline or in another gameserver try again~!~") return 0 end if(cha ~= nil)then if HasLeaveBagGrid(cha, 1) ~= LUA_TRUE or KitbagLock(cha, 0) == LUA_FALSE then GiveItemX(cha, 0, item_id, quantity, 4) HelpInfoX(role,0,"Storage box:You gave Player ["..GetChaDefaultName(cha).."]["..GetItemName(item_id).."x["..quantity.."]") RefreshCha(cha) else MakeItem(cha,item_id,quantity,4) HelpInfoX(role,0,"You gave Player ["..GetChaDefaultName(cha).."]["..GetItemName(item_id).."x["..quantity.."]") end LG("send item to player", "GM ["..gmname.."]sent to Player:["..GetChaDefaultName(cha).."], :["..GetItemName(item_id).."] ,quantity : " ..quantity.. " :, successfuly") RefreshCha(cha) end --RefreshCha(cha) end
  14. Bug Title: amplifier unlimited stats Bug Description: remove amps stats after switch or use a ticket in same region , unlimited stats time if player login after real ticks finished example : used nana for 10 min , if player logged out then logged after 11min or more nana will be 15999998 seconds Status: Closed Author: mkhzaleh this will save real time and stop ticks when player logout inside Character.cpp search for void CCharacter::SwitchMap(SubMap *pCSrcMap, cChar *szTarMapName, Long lTarX, Long lTarY, bool bNeedOutSrcMap, Char chSwitchType, Long lTMapCpyNO) replace with void CCharacter::SwitchMap(SubMap *pCSrcMap, cChar *szTarMapName, Long lTarX, Long lTarY, bool bNeedOutSrcMap, Char chSwitchType, Long lTMapCpyNO) {T_B if (!pCSrcMap) return; BreakAction(); if( IsPlayerCha() ) { SetSubMap( pCSrcMap ); GetPlayer()->MisGooutMap(); SetSubMap( NULL ); } if (bNeedOutSrcMap && pCSrcMap) pCSrcMap->GoOut(this); if (!strcmp(pCSrcMap->GetName(), szTarMapName)) // 同地图间切换 { if (GetPlayer()) //LG("enter_map", "SwitchMap(同地图切换,控制角色名 %s[主角色名 %s],地图名 %s)--------\n", GetLogName(), GetPlyMainCha()->GetLogName(), szTarMapName); LG("enter_map", "SwitchMap(the same map switch,control player name %s[mainplayer %s],mapname %s)--------\n", GetLogName(), GetPlyMainCha()->GetLogName(), szTarMapName); if (m_SMoveRedu.ulStartTick == 0xffffffff) m_SMoveRedu.ulStartTick = GetTickCount(); if(!IsPlayerCha()) // 非玩家角色,则在自己的出生点重生 { m_SFightInit.chTarType = 0; m_CChaAttr.Init(GetCat()); Square SSrcShape = GetShape(); Square STarShape = {{lTarX, lTarY}, GetRadius()}; if (!pCSrcMap->Enter(&STarShape, this)) pCSrcMap->Enter(&SSrcShape, this); } else { SStateData2String(this, g_skillstate, 1024); //PStateData2String(this, g_skillstate, 1024); if (IsBoat()) g_strChaState[1] = g_skillstate; else g_strChaState[0] = g_skillstate; Square SSrcShape = GetShape(); Square STarShape = {{lTarX, lTarY}, SSrcShape.radius}; if (!pCSrcMap->EnsurePos(&STarShape, this)) // 进入失败 { lTarX = SSrcShape.centre.x; lTarY = SSrcShape.centre.y; } GetPlayer()->GetMainCha()->Cmd_EnterMap(szTarMapName, lTMapCpyNO, lTarX, lTarY); // 角色护送NPC同步地图切换 GetPlayer()->MisEnterMap(); } SetExistState(enumEXISTS_WAITING); return; } else { bool bVolunteer = false; SubMap *pCBackM = GetSubMap(); SetSubMap(pCSrcMap); pCSrcMap->BeforePlyOutMap(this); //LG("enter_map", "SwitchMap(不同Server地图切换,控制角色名 %s[主角色名 %s],原地图 %s,目标地图 %s)--------\n", GetLogName(), GetPlyMainCha()->GetLogName(), pCSrcMap->GetName(), szTarMapName); LG("enter_map", "SwitchMap(differ Server map switch,control player name %s[mainplayer %s],formerly map %s,aimmap %s)--------\n", GetLogName(), GetPlyMainCha()->GetLogName(), pCSrcMap->GetName(), szTarMapName); if (GetSubMap()) //LG("enter_map", "角色地图名 %s\n", GetSubMap()->GetName()); LG("enter_map", "character map name %s\n", GetSubMap()->GetName()); // 资料写数据库 CPlayer *pPlayer = GetPlayer(); if(!pPlayer) return; //组队面板修改 if(GetPlyMainCha()->IsVolunteer()) { bVolunteer = true; GetPlyMainCha()->Cmd_DelVolunteer(); } game_db.SavePlayer(pPlayer, enumSAVE_TYPE_SWITCH); //LG("enter_map", "保存数据成功\n"); LG("enter_map", "save data succeed\n"); // 角色护送NPC同步地图切换 pPlayer->MisLogout(); SetSubMap(pCBackM); // 发送协议 WPACKET l_wpk =GETWPACKET(); WRITE_CMD(l_wpk, CMD_MT_SWITCHMAP); WRITE_STRING(l_wpk, pCSrcMap->GetName()); WRITE_LONG(l_wpk, pCSrcMap->GetCopyNO()); WRITE_LONG(l_wpk, GetShape().centre.x); WRITE_LONG(l_wpk, GetShape().centre.y); WRITE_STRING(l_wpk, szTarMapName); WRITE_LONG(l_wpk, lTMapCpyNO); WRITE_LONG(l_wpk, lTarX); WRITE_LONG(l_wpk, lTarY); if (chSwitchType == enumSWITCHMAP_DIE) // 死亡导致的地图切换(如果目标地图不可达,则gate强制玩家下线,不会返回源地图) WRITE_CHAR(l_wpk, 1); else WRITE_CHAR(l_wpk, 0); ReflectINFof(this,l_wpk); g_pGameApp->DelPlayerIdx(pPlayer->GetDBChaId()); g_pGameApp->m_dwPlayerCnt--; pPlayer->Free(); // 删除gate server对应的维护信息 pPlayer->OnLogoff(); DELPLAYER(pPlayer); //LG("enter_map", "结束进入地图\n\n"); LG("enter_map", "finish enter map\n\n"); } T_E} inside GameDB.cpp search for PStateData2String(pCha, g_skillstate, defSSTATE_DATE_STRING_LIN); replace with SStateData2String(pCha, g_skillstate, defSSTATE_DATE_STRING_LIN);
  15. yup and works fine i will send video
  16. there is no mistakes in them o.o so u may did it wrong!
  17. guild and refreshcha works fine so far what problem you are facing? @Daisuke dm me i can send src had problem with amps and buff and already fixed if you know some other bugs to fix you can mention them?
×
×
  • Create New...