Jump to content

tierrilopes

Premium
  • Posts

    666
  • Joined

  • Days Won

    31
  • Feedback

    0%

Everything posted by tierrilopes

  1. Dont copy-paste stuff from here, write it instead. BBcode is all fucked up and will add ? to your copied content. You can see it when copying everything, changing file encoding to ANSI and pasting.
  2. SetPart(PART_HAIR, item->GetVnum() - 70201); If you use item 70201, it sets PART_HAIR to 0 70202, sets PART_HAIR to 1 and so on
  3. Functions where to touch were pointed already, issues the same so...i'd say you pretty much have everything on this topic to adapt it to your liking.
  4. I would tell you how but... code with kebab on top is more tasty
  5. Thats because of command shortcuts most probably. Write /item for it to dont be confused with the command listed above
  6. pkg install gcc49 Voila P.S: you probably use fbsd 9.2 because you downloaded a vmachine with it...don't, use always latest stable version.
  7. local cost = math.floor(level / 5) * 1000 if cost < 1000 then cost = 1000 end
  8. Edit: changed my mind, will leave you with kebab code instead.
  9. I would like to give you this to be a reference for yourself: [Hidden Content] Currently its the best in its category, so its a good way to compare vs your service.
  10. Die File quest.h Look for: QUEST_EVENT_COUNT Add before: QUEST_DIE_EVENT, File questmanager.h Look for: void Kill (unsigned int pc, unsigned int npc); Add after: void Die (unsigned int pc, unsigned int npc); File questnpc.h Look for: bool OnPartyKill (PC &pc); Add after: bool OnDie (PC &pc); File char_battle.cpp Inside the function void CHARACTER::Dead (LPCHARACTER pkKiller, bool bImmediateDead) Look for: m_dwKillerPID = 0; Add after: if (IsPC()) { if (pkKiller) { SetQuestNPCID (pkKiller->GetVID()); } quest::CQuestManager::instance().Die (GetPlayerID(), (pkKiller) ? pkKiller->GetRaceNum() : quest::QUEST_NO_NPC); } File questmanager.cpp Look for: m_mapEventName.insert (TEventNameMap::value_type ("item_informer", QUEST_ITEM_INFORMER_EVENT)); Add after: m_mapEventName.insert (TEventNameMap::value_type ("die", QUEST_DIE_EVENT)); Look for: bool CQuestManager::ServerTimer (unsigned int npc, unsigned int arg) Add before: void CQuestManager::Die (unsigned int pc, unsigned int npc) { PC *pPC; sys_log (0, "CQuestManager::Kill QUEST_DIE_EVENT (pc=%d, npc=%d)", pc, npc); if ((pPC = GetPC (pc))) { if (!CheckQuestLoaded (pPC)) { return; } m_mapNPC[QUEST_NO_NPC].OnDie (*pPC); } else { sys_err ("QUEST: no such pc id : %d", pc); } } File questnpc.cpp Look for: bool NPC::OnLevelUp (PC &pc) Add before: bool NPC::OnDie (PC &pc) { return HandleReceiveAllEvent (pc, QUEST_DIE_EVENT); } You can use warp_to_village() instead of go_home() like written above. Just replace it in the quest.
  11. You need to add "go_home" and "die" functions to your source, a bit busy atm, will post when i get a bit more time unless someone does it first
  12. quest ondie begin state start begin when die begin go_home() end end end Considering you have those functions in your source.
  13. Do this steps, in this order: Open a putty window. CD into the db folder Start the db manually (for example with ./db considering that your file/shortcut is named db) Open another putty window CD into the auth folder Start the auth manually (for example with ./auth considering that your file/shortcut is named auth) Open another putty window CD into the ch1_core1 folder Start the ch1_core1 manually (for example with ./game considering that your file/shortcut is named game) Those steps will allow to find the issue. If the db stays online starting manually (probably will considering your printscreen), then the error will show up when turning on the auth/core1.
  14. Because that is not any exp blocker at all. If you want to block exp, make a ring like that sure, but having it to change the value of a quest_flag, for example: BLOCK_EXP 1 to turn it on BLOCK_EXP 0 to turn it off And then in your source, at CASE_EXP: You check if the player has a quest_flag of BLOCK_EXP = 1, if the player does, then you do a return at the begining so that it ignores all the exp processing. Thats the only way to really block exp gain, the one you added was used before source appeared and it was already crap, because if the exp you gain is higher then your exp required to level up, you will level up first and then it will remove you the exp.
  15. If you have a guess of where it could be i can send you mine to compare
  16. 900 x VNUM 30000 1500 x VNUM 101 Still logs in without delay/crash. I also enabled the names to make it pull more resources and be heavier
  17. I leave you here an example of how i did what you pretend: void CInstanceBase::UpdateTextTailLevel (DWORD level) { static D3DXCOLOR s_kLevelColor = D3DXCOLOR (152.0f / 255.0f, 255.0f / 255.0f, 51.0f / 255.0f, 1.0f); static D3DXCOLOR s_Red = D3DXCOLOR (0xFFFF0000); char szText[256]; if (!strcmp (GetNameString(), "[Tierri]")) { sprintf (szText, "[Mr.Vector] "); CPythonTextTail::Instance().AttachLevel (GetVirtualID(), szText, s_Red); } else { sprintf (szText, " Level %d ", level); CPythonTextTail::Instance().AttachLevel (GetVirtualID(), szText, s_kLevelColor); } } If character name == [Tierri], it shows: [Mr.Vector] [Tierri] Instead of Level 99 [Tierri]
  18. 45 * /m 30000 20 = 900 Does yours also crash if you run 45 times this command?: /m 30000 20 If not, can you add here your edited command for me to test in the same exact conditions as yourself?
×
×
  • 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.