Jump to content

Rideas

Inactive Member
  • Posts

    137
  • Joined

  • Last visited

  • Days Won

    9
  • Feedback

    0%

Everything posted by Rideas

  1. itemvnum1 is item vnum Simple: item->GetVnum() == 50512
  2. open exchange.cpp Search: if (IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_GIVE)) { m_pOwner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아이템을 건네줄 수 없습니다.")); return false; } Add to on: (üstüne ekle) if (item->GetVnum() == itemvnum1 || item->GetVnum() == itemvnum2 || item->GetVnum() == itemvnum3) { Accept(false); GetCompany()->Accept(false); for (int i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i) { if (m_apItems[i]) continue; m_apItems[i] = item; m_aItemPos[i] = item_pos; m_abItemDisplayPos[i] = display_pos; m_pGrid->Put(display_pos, 1, item->GetSize()); item->SetExchanging(true); exchange_packet(m_pOwner, EXCHANGE_SUBHEADER_GC_ITEM_ADD, true, item->GetVnum(), TItemPos(RESERVED_WINDOW, display_pos), item->GetCount(), item); exchange_packet(GetCompany()->GetOwner(), EXCHANGE_SUBHEADER_GC_ITEM_ADD, false, item->GetVnum(), TItemPos(RESERVED_WINDOW, display_pos), item->GetCount(), item); sys_log(0, "EXCHANGE AddItem success %s pos(%d, %d) %d", item->GetName(), item_pos.window_type, item_pos.cell, display_pos); return true; } } open char.cpp Search: // ANTI_GIVE, ANTI_MYSHOP check LPITEM pkItem = GetItem((pTable + i)->pos); if (pkItem) { const TItemTable * item_table = pkItem->GetProto(); if (item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP))) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("유료화 아이템은 개인상점에서 판매할 수 없습니다.")); return; } Replace: // ANTI_GIVE, ANTI_MYSHOP check LPITEM pkItem = GetItem((pTable + i)->pos); if (pkItem) { const TItemTable * item_table = pkItem->GetProto(); if (pkItem->GetVnum() != itemvnum1 || pkItem->GetVnum() != itemvnum2 || pkItem->GetVnum() != itemvnum3 && item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP))) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("유료화 아이템은 개인상점에서 판매할 수 없습니다.")); return; } Best Regards Rideas
  3. game.py def OpenQuestWindow(self, skin, idx): Function all change: def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE == 1: return elif constInfo.INPUT == 1: return else: self.interface.OpenQuestWindow(skin, idx)
  4. Open root/uitooltip.py Search: elif item.ITEM_TYPE_RING == itemType: self.__AppendLimitInformation() self.__AppendAffectInformation() self.__AppendAttributeInformation(attrSlot) Add: elif item.ITEM_TYPE_BELT == itemType: self.__AppendLimitInformation() self.__AppendAffectInformation() self.__AppendAttributeInformation(attrSlot) self.__AppendAccessoryMetinSlotInfo(metinSlot, constInfo.GET_BELT_MATERIAL_VNUM(itemVnum))
  5. What is the point ? i want LOW_WIZARD - Hight_WIZARD disabled trade,drop,safebox.... and IMPLEMENTOR Enabled if (GetGMLevel() < GM_IMPLEMENTOR & & GetGMLevel() > GM_PLAYER)
  6. Could i disabled Trade,drop items,open safebox,open privateshop etc.. but only for low GM.If i am IMPLEMENTOR(FULL_GM_RIGHTS) enabled trade,safebox etc... sorry for my english open input_main.cpp Search: void CInputMain::SafeboxCheckout(LPCHARACTER ch, const char * c_pData, bool bMall) { TPacketCGSafeboxCheckout * p = (TPacketCGSafeboxCheckout *) c_pData; if (!ch->CanHandleItem()) return; CSafebox * pkSafebox; if (bMall) pkSafebox = ch->GetMall(); else pkSafebox = ch->GetSafebox(); if (!pkSafebox) return; LPITEM pkItem = pkSafebox->Get(p->bSafePos); if (!pkItem) return; if (!ch->IsEmptyItemGrid(p->ItemPos, pkItem->GetSize())) return; Add: if (ch->GetGMLevel() > GM_PLAYER) { ch->ChatPacket(CHAT_TYPE_INFO, "Simple text"); return; } open char_item.cpp Search: bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount) { LPITEM item = NULL; Add: if (GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<GameMaster> GameMaster'lar ticaret yapamaz ve yere item atamazlar !"); return false; } Open char.cpp Search: void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount) { if (GetPart(PART_MAIN) > 2) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("갑옷을 벗어야 개인 상점을 열 수 있습니다.")); return; } Add: if (GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, "Simple text"); return; }
  7. Open exchange.cpp Search: bool CHARACTER::ExchangeStart(LPCHARACTER victim) { Add: if (GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, "Simple text"); return false; } if (victim->GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, "Simple text"); return false; } Best Regards Rideas.
  8. Is Bug : [Hidden Content] Open char_item.cpp Search: const int ITEM_BROKEN_METIN_VNUM = 28960; Add: #define ERROR_MSG(exp, msg) \ if (true == (exp)) { \ ChatPacket(CHAT_TYPE_INFO, msg); \ return false; \ } Search: bool CHARACTER::UseItem(TItemPos Cell, TItemPos DestCell) { WORD wCell = Cell.cell; BYTE window_type = Cell.window_type; //WORD wDestCell = DestCell.cell; //BYTE bDestInven = DestCell.window_type; LPITEM item; if (!CanHandleItem()) return false; if (!IsValidItemPosition(Cell) || !(item = GetItem(Cell))) return false; Add: if (ITEM_BELT == item->GetType()) ERROR_MSG(CBeltInventoryHelper::IsExistItemInBeltInventory(this), "Error text"); Best Regards Rideas.
  9. open introselect.py Search: self.destGauge = [ float(valueHTH) / 380, float(valueINT) / 380, float(valueSTR) / 380, float(valueDEX) / 380 ] Change: self.destGauge = [ float(valueHTH) / 90, # max stat float(valueINT) / 90, # max stat float(valueSTR) / 90, # max stat float(valueDEX) / 90 # max stat ] open introcreate.py Search: float(self.stat[0])/float(statSummary), float(self.stat[1])/float(statSummary), float(self.stat[2])/float(statSummary), float(self.stat[3])/float(statSummary), Change: float(self.stat[0])/90, #max stat float(self.stat[1])/90, #max stat float(self.stat[2])/90, #max stat float(self.stat[3])/90, #max stat [Hidden Content] [Hidden Content] Best Regards Rideas
  10. open game.py Add: def ItemRemoveGetInputOff(self): constInfo.INPUT_IGNORE = 0
  11. open root/game.py def BINARY_ServerCommand_Run(self, line): Add on: def ItemRemoveGetInputOff(self): constInfo.INPUT_IGNORE = 0 Search: "MyShopPriceList" : self.__PrivateShop_PriceList, Add on "InputStringEnd" : self.ItemRemoveGetInputOff, New quest : quest borrar_items begin state start begin when login begin cmdchat("BORRAR QID|"..q.getcurrentquestindex()) end when button or info begin cmdchat("BORRAR INPUT|1") local shang = split(input(cmdchat("BORRAR SEND|")), "|") cmdchat("BORRAR INPUT|0") if shang[1] == "BORRAR" then borrar_items.Borrar(tonumber(shang[2]), tonumber(shang[3])) end end function Borrar(slot, vnum) item.select_cell(slot) local item_vnum, item_count, item_id = item.get_vnum(), item.get_count(), item.get_id() item.remove_stack() cmdchat("InputStringEnd") end end end
  12. Send me quests. quest oto_ox begin state start begin when 20011.chat." OX-Yarışması " begin say_title(" Uriel : ") say(" Hey! ") say(" Sen Gerçekten Çok Zeki Görünüyorsun. ") say(" OX Yarışması Olacak. ") say(" Sorular Sorulacak Cevap Vereceksin, ") say(" Bilirsen Süper Bir Hediye Kazanacaksın. ") if game.get_event_flag("oxevent_status") == 0 then wait() say_title(" Uriel: ") say(" Şu anda OX-Yarışması Yok ") elseif game.get_event_flag("oxevent_status") == 1 then wait() say_title("Uriel:") pc.setqf("ox_engel",get_time()+10) say(" Yarışmaya Katılmak İstiyormusun? ") local s = select(" Evet ", " Hayır ", " İzlemek İstiyorum ") if s == 1 then if get_time() > pc.getqf("ox_engel") then say("Bug girişiminde bulunmayın !") return end say_title(" Uriel: ") say(" Tamam Şimdi Seni Işınlıyorum. ") wait() pc.warp(896500, 24600) elseif s == 3 then say_title(" Uriel: ") say(" İzleyici Olarakmı Katılmak İstiyorsun? ") say(" Tamam, ışınlıyorum Seni. ") wait() pc.warp(896300, 28900) end elseif game.get_event_flag("oxevent_status") == 2 then say_title(" Uriel: ") say(" Yarışma Başladı, Giremezsiniz! ") say(" Ancak İzleyici Olarak Katılabilirsin. ") local s = select(" Katıl ", " Katılma ") if s == 1 then say_title(" Uriel: ") say(" Tamam,Işınlıyorum Seni. ") wait() pc.warp(896300, 28900) end end end when 20011.chat."GM: Ox Ayar" begin say_title("Auto Ox Event") local s = select("Ödül ayarla", "Saat ayarla") if s == 2 then say("Saat yazınız:") local saat = tonumber(input()) -- int game.set_event_flag("oxeventsaat",saat) end if s == 1 then say("Ödül kodu giriniz") local odulkod = tonumber(input()) say("Ödül adeti giriniz") local oduladet = tonumber(input()) game.set_event_flag("oxodulkod",odulkod) game.set_event_flag("oxoduladet",oduladet) chat("Ox event ödülü ayarlanmıştır.") end when login begin local saat = tonumber(os.date("%H")) local gun = tostring(os.date("%A")) if saat == game.get_event_flag("oxeventsaat") and gun == "Saturday" then -- days settings if pc.get_map_index() == 113 then if game.get_event_flag("oto_ox") == 0 then if game.get_event_flag("oxevent_maintenance5_status") == 0 then local stat = oxevent.get_status() if stat == 1 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then local stat = oxevent.get_status() if stat == 1 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then game.set_event_flag("oxevent_running_status", 1) game.set_event_flag("oxevent_status",1) game.set_event_flag("oxevent_maintenance1_time", 5) game.set_event_flag("oxevent_maintenance3_status", 1) notice_all(" <Otomatik OX Sistemi> Acele et ve yerini al! ") server_timer('oxevent4', 0, get_server_timer_arg()) server_timer('oxevent1', 60, get_server_timer_arg()) game.set_event_flag("oto_ox",1) end end end end else game.set_event_flag("oxevent_status",1) if game.get_event_flag("ox_ac_1") == 0 then notice_all(" <Otomatik OX Sistemi> OX Eventi Başlamıştır ") game.set_event_flag("ox_ac_1",1) end end else if game.get_event_flag("oxevent_running_status") == 1 then oxevent.end_event() notice_all(" <Otomatik OX Sistemi> OX Kapatıldı ") game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("ox_ac_1",0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) end game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) game.set_event_flag("ox_ac_1",0) end end when oxevent1.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent1', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 1 then local stat = oxevent.get_status() if stat == 1 then local min_user_number = 2 if game.get_event_flag("oxevent_maintenance1_time") == 0 and oxevent.get_attender() > 1 then game.set_event_flag("oxevent_maintenance1_time", 0) oxevent.close() game.set_event_flag("oxevent_status",2) local user_number = oxevent.get_attender() notice_all(" <Otomatik OX Sistemi> OX Eventi "..user_number.." kişiyle başlamıştır ") server_timer('oxevent2', 5, get_server_timer_arg()) else local close_time = game.get_event_flag("oxevent_maintenance1_time") local close_time_typ = 2 local close_time_typ_text = {"Saniye", "Dakika", "Saat", "Gün", "Ay", "Yıl"} if close_time == 0 then min_user_number = 2 elseif close_time == 1 then close_time_typ_text = {"Saniye", "Dakika", "Saat", "Gün", "Ay", "Yıl"} end if close_time != 0 then game.set_event_flag("oxevent_maintenance1_time", close_time-1) notice_all(" <Otomatik OX Sistemi> OX Girişleri "..close_time.." "..close_time_typ_text[close_time_typ].." sonra kapanacaktır. ") else notice_all(" <Otomatik OX Sistemi> OX Eventi "..oxevent.get_attender().." kişi ile başlatılamıyor. ") notice_all(" <Otomatik OX Sistemi> Yeni bir oyuncu gelene kadar OX Eventi bekletiliyor. ") end server_timer('oxevent1', 60, get_server_timer_arg()) end end end end end when oxevent2.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent2', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 1 then local stat = oxevent.get_status() if stat == 2 then if oxevent.get_attender() > 1 then local v = oxevent.quiz(1, 30) if v == 0 then game.set_event_flag("oxevent_maintenance1_time", 0) server_timer('oxevent1', 5, get_server_timer_arg()) elseif v == 1 then server_timer('oxevent2', 40, get_server_timer_arg()) else server_timer('oxevent2', 40, get_server_timer_arg()) end elseif oxevent.get_attender() == 1 then oxevent.give_item(40001, 1) notice_all(" <Otomatik OX Sistemi> 5 Saniye Sonra OX Eventi Sona Erecektir. ") notice_all(" <Otomatik OX Sistemi> Kazanan birazdan açıklanacak. ") server_timer('oxevent3', 5, get_server_timer_arg()) elseif oxevent.get_attender() == 0 then notice_all(" <Otomatik OX Sistemi> OX Eventi Kazanan Olmadığı İçin Tekrarlanıcaktır. ") oxevent.end_event() clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_maintenance2_status", 1) server_timer('oxevent3', 30, get_server_timer_arg()) end elseif stat == 3 then server_timer('oxevent2', 5, get_server_timer_arg()) else notice_all(" <Otomatik OX Sistemi> OX Eventinde Bir Hata Oluştu! ") end end end end when oxevent3.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent3', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 0 then if oxevent.open() == 1 then game.set_event_flag("oxevent_running_status", 1) game.set_event_flag("oxevent_maintenance1_time", 5) ---- OX Açıldıktan Sonra Girişlerin Kaç Dakika Açık Tutulacağı Örn: 5 Dakika game.set_event_flag("oxevent_maintenance2_status", 0) notice_all(" <Otomatik OX Sistemi> OX Yarışması Başladı ") server_timer('oxevent1', 30, get_server_timer_arg()) else notice_all(" <Otomatik OX Sistemi> OX Eventinde Bir Hata Oluştu! ") end elseif game.get_event_flag("oxevent_running_status") == 1 then oxevent.end_event() game.set_event_flag("oxevent_running_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) notice_all(" <Otomatik OX Sistemi> OX Yarışması Sona Erdiı ") if game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 and game.get_event_flag("oxevent_maintenance6_status") == 0 then game.set_event_flag("oxevent_maintenance2_status", 1) else game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) end end end end when oxevent4.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent4', get_server_timer_arg()) if game.get_event_flag("oxevent_maintenance3_status") == 1 then if game.get_event_flag("oxevent_website_status") == 1 then server_timer('oxevent3', 0, get_server_timer_arg()) game.set_event_flag("oxevent_website_status", 0) end server_timer('oxevent4', 1, get_server_timer_arg()) end end end when login with pc.count_item("40001") > 0 begin if game.get_event_flag("oto_ox") == 1 then timer("oxevent_price", 0) pc.remove_item(40001,999999) pc.give_item2(game.get_event_flag("oxodulkod"), game.get_event_flag("oxoduladet")) end end when oxevent_price.timer begin if game.get_event_flag("oto_ox") == 1 then say_title(item_name(40001)..":") pc.remove_item(40001,200) ----- OX İtemi Sadece Karakterin Üstünde Bir Kereliğine Bulunan Bir İtem notice_all(" <Otomatik OX Sistemi> OX Eventini "..pc.get_name().." kazandı. ") -- pc.give_item2(71129,1) -- pc.give_item2(71123,1) -- pc.give_item2(50513,10) -- chat("5 EP Kazandın.") game.set_event_flag("oxevent_status",0) end end when 20358.chat."GM: OX Sıfırla" with pc.is_gm() begin ---- OX Eventi Aktifken OX'u Kapatmak (Yarışma Anında) say_title(" "..mob_name(20358)..": ") say(" Kapatmak İstiyor Musun? [ENTER] ") local s = select(locale.yes, locale.no) if s == 1 then oxevent.end_event_force() game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) game.set_event_flag("ox_ac_1",0) say_title(" "..mob_name(20358)..": ") say(" OX Kapatıldı ") notice_all(" <Otomatik OX Sistemi> Otomatik OX Eventi Kapatıldı. ") end end end end
  13. Open char_item.cpp Search: INVENTORY_MAX_NUM / 2 Replace all : INVENTORY_MAX_NUM / 5 BYTE bPage = bCell / (INVENTORY_MAX_NUM / 5); do { BYTE p = bCell + (5 * j); if (p >= INVENTORY_MAX_NUM) return false; if (p / (INVENTORY_MAX_NUM / 5) != bPage) return false; if (m_pointsInstant.bItemGrid[p]) if (m_pointsInstant.bItemGrid[p] != iExceptionCell) return false; } while (++j < bSize); It is all set to write Hello people, I have two minor bugs belt inventory. Could someone advise a solution? Thanks for any help [Hidden Content] Open char_item.cpp Search: INVENTORY_MAX_NUM / 2 Replace all : INVENTORY_MAX_NUM / 5 BYTE bPage = bCell / (INVENTORY_MAX_NUM / 5); do { BYTE p = bCell + (5 * j); if (p >= INVENTORY_MAX_NUM) return false; if (p / (INVENTORY_MAX_NUM / 5) != bPage) return false; if (m_pointsInstant.bItemGrid[p]) if (m_pointsInstant.bItemGrid[p] != iExceptionCell) return false; } while (++j < bSize); It is all set to write Yeah Open char_item.cpp Search: INVENTORY_MAX_NUM / 2 Replace all : INVENTORY_MAX_NUM / 5 BYTE bPage = bCell / (INVENTORY_MAX_NUM / 5); do { BYTE p = bCell + (5 * j); if (p >= INVENTORY_MAX_NUM) return false; if (p / (INVENTORY_MAX_NUM / 5) != bPage) return false; if (m_pointsInstant.bItemGrid[p]) if (m_pointsInstant.bItemGrid[p] != iExceptionCell) return false; } while (++j < bSize); It is all set to write Yeah
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.