Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 13-11-2023 in todas as áreas

  1. //TMSrv 7.57 004F45E0 void CQuest::ProcessNPCClicFunction(int conn, int npcId) //Função Ok { int questId = pMob[npcId].QuestIndex; int condSuccessCount = 0; int isLog = FALSE; if (questId <= 0 || questId >= MAX_QUEST) { sprintf_s(temp, "err, wrong quest number npcId:%d quest:%d", npcId, questId); Log(temp, "-sys", 0); return; } if (pMob[conn].TargetX < (g_pQuest[questId].PosX - 6) || pMob[conn].TargetX > (g_pQuest[questId].PosX + 6) || pMob[conn].TargetY < (g_pQuest[questId].PosY - 6) || pMob[conn].TargetY > (g_pQuest[questId].PosY + 6)) return; for (int i = 0; i < 10; i++) { int rewardId = g_pQuest[questId].Reward[i].Index; if (rewardId != 2 && rewardId != 7) //ITEM - QITEM continue; int countSlotEmpty = 0; for (int j = 0; j < MAX_VISIBLE_INVENTORY; j++) { if (pMob[conn].MOB.Inventory[j].Index) continue; countSlotEmpty++; } if (!countSlotEmpty) { SendClientMessage(conn, FALSE, _NN_You_Have_No_Space_To_Trade); return; } } for (int i = 0; i < 10; i++) { int conditionOk = FALSE; if (g_pQuest[questId].Condition[i].Index <= 1) //SPEECH { condSuccessCount++; continue; } if (g_pQuest[questId].Condition[i].Index == 2) //LEVEL { int curLvl = pMob[conn].MOB.CurrentScore.Level + 1; if (curLvl >= g_pQuest[questId].Condition[i].Value[0] && curLvl <= g_pQuest[questId].Condition[i].Value[1]) //minLvl - maxLvl conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 3) //ITEM { int reqItemCount = 0; for (int j = 0; j < MAX_VISIBLE_INVENTORY; j++) { int itemId = pMob[conn].MOB.Inventory[j].Index; if (g_pQuest[questId].Condition[i].Value[0] != itemId) continue; reqItemCount++; } if (reqItemCount >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 4) //ITEMSANC { int sancCount = 0; for (int j = 0; j < MAX_VISIBLE_INVENTORY; j++) { int itemId = pMob[conn].MOB.Inventory[j].Index; if (g_pQuest[questId].Condition[i].Value[0] != itemId) continue; if (g_pQuest[questId].Condition[i].Value[2] != 0) { STRUCT_ITEM* item = &pMob[conn].MOB.Inventory[j]; int itemSanc = BASE_GetItemSanc(item); if (itemSanc >= g_pQuest[questId].Condition[i].Value[2]) sancCount++; } else { sancCount++; } } if (sancCount >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 5) //CONNAME { if (!strncmp(g_pQuest[questId].Condition[i].MobName, pMob[conn].MOB.MobName, NAME_LENGTH)) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 6) //GOLDCHECK { if(g_pQuest[questId].Condition[i].Value[0] <= pMob[conn].MOB.Coin) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 7) //ISTRANS { int evolution = pMob[conn].CheckEvolution(); //ebp-0e0 if(g_pQuest[questId].Condition[i].Value[0] == evolution || (g_pQuest[questId].Condition[i].Value[1] && g_pQuest[questId].Condition[i].Value[1] == evolution)) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 8) //ISLOG { isLog = g_pQuest[questId].Condition[i].Value[0]; conditionOk = TRUE; condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 9) //TIMECHECK { int initTime1 = g_pQuest[questId].Condition[i].Value[0]; int initTime2 = g_pQuest[questId].Condition[i].Value[1]; int initTime3 = g_pQuest[questId].Condition[i].Value[2]; int finalTime = g_pQuest[questId].Condition[i].Value[3]; if (initTime1 <= CurrentMinute && initTime1 + finalTime > CurrentMinute) conditionOk = TRUE; else if (initTime2 > 0 && initTime2 <= CurrentMinute && initTime2 + finalTime > CurrentMinute) conditionOk = TRUE; else if (initTime3 > 0 && initTime3 <= CurrentMinute && initTime3 + finalTime > CurrentMinute) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 10) //EQITEM { if (g_pQuest[questId].Condition[i].Value[0] > 1) { if (pMob[conn].MOB.Equip[g_pQuest[questId].Condition[i].Value[0] - 1].Index == g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; } if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } //CheckBit Modificada!! if (g_pQuest[questId].Condition[i].Index == 11) //CHECKBIT { if (g_pQuest[questId].Condition[i].Value[0] == 1 && !BASE_GetQuestState(pMob[conn].CristalQuest, g_pQuest[questId].Condition[i].Value[1])) conditionOk = TRUE; else if (g_pQuest[questId].Condition[i].Value[0] == 2 && !BASE_GetQuestState(pMob[conn].isArchBlockedLvl, g_pQuest[questId].Condition[i].Value[1])) conditionOk = TRUE; else if (g_pQuest[questId].Condition[i].Value[0] == 3 && !BASE_GetQuestState(pMob[conn].ArchLvlandFuryStone, g_pQuest[questId].Condition[i].Value[1])) conditionOk = TRUE; else if (g_pQuest[questId].Condition[i].Value[0] == 4 && !BASE_GetQuestState(pMob[conn].isBlockedLvl, g_pQuest[questId].Condition[i].Value[1])) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 12) //CHECKCLASS { if(pMob[conn].MOB.Class == g_pQuest[questId].Condition[i].Value[0]) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 13) //CHECKSTAT { int detail = g_pQuest[questId].Condition[i].Value[0]; if (detail <= 3) { if (detail == 0 && pMob[conn].MOB.BaseScore.Str >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; else if (detail == 1 && pMob[conn].MOB.BaseScore.Int >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; else if (detail == 2 && pMob[conn].MOB.BaseScore.Dex >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; else if (detail == 3 && pMob[conn].MOB.BaseScore.Con >= g_pQuest[questId].Condition[i].Value[1]) conditionOk = TRUE; } if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } if (g_pQuest[questId].Condition[i].Index == 14) //NOTEQUIP { int equipSlot = g_pQuest[questId].Condition[i].Value[0]; if (equipSlot >= 1 && equipSlot <= 16) { if (pMob[conn].MOB.Equip[equipSlot - 1].Index == g_pQuest[questId].Condition[i].Value[1]) { conditionOk = TRUE; condSuccessCount++; } } if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } } if (g_pQuest[questId].Condition[i].Index == 15) //EMPTYITEMSLOT { int emptySlotCount = 0; for (int j = 0; j < MAX_VISIBLE_INVENTORY; j++) { if (!BASE_CanCarry(pMob[conn].MOB.Inventory, j)) continue; if (!pMob[conn].MOB.Inventory[j].Index) emptySlotCount++; } if (emptySlotCount >= g_pQuest[questId].Condition[i].Value[0]) conditionOk = TRUE; if (!conditionOk) { SendSay(npcId, g_pQuest[questId].Condition[i].Speech); return; } condSuccessCount++; } } int sort = rand() % 100; if (isLog) { sprintf(temp, "que, quest:%d char:%s x:%d y:%d rnd:%d", questId, pMob[conn].MOB.MobName, pMob[conn].TargetX, pMob[conn].TargetY, sort); Log(temp, pUser[conn].AccountName, pUser[conn].IP); } for (int i = 0; i < 10; i++) { int rewardId = g_pQuest[questId].Reward[i].Index; if (!rewardId) continue; if (sort < g_pQuest[questId].Reward[i].RateMin || sort > g_pQuest[questId].Reward[i].RateMax) continue; if (rewardId == 1) //SPEECH { SendSay(npcId, g_pQuest[questId].RewardSpeech); } else if (rewardId == 2) //ITEM { if (PutItem(conn, &g_pQuest[questId].Reward[i].Item)) SendClientMessage(conn, FALSE, _SN_Item_Arrived, g_pItemList[g_pQuest[questId].Reward[i].Item.Index].Name); } else if (rewardId == 3) //LEVEL { if (pMob[conn].CheckEvolution() == CELESTIAL) return; int newLvl = pMob[conn].MOB.CurrentScore.Level + g_pQuest[questId].Reward[i].Value[0]; if (newLvl < 0) newLvl = 0; if (newLvl > 399) newLvl = 399; pMob[conn].MOB.Exp = g_pNextLevel[newLvl]; if (pMob[conn].CheckGetLevel()) { SendClientMessage(conn, FALSE, _NN_Level_Up); SendScore(conn); SendItemByLevel(conn); } SendEtc(conn); } else if (rewardId == 4) //DELETEITEM { int maxDeleteItem = g_pQuest[questId].Reward[i].Value[1]; int deleteItemCount = 0; if (maxDeleteItem <= 0) maxDeleteItem = 1; for (int j = 0; j < MAX_VISIBLE_INVENTORY; j++) { if (pMob[conn].MOB.Inventory[j].Index == g_pQuest[questId].Reward[i].Value[0]) { if (g_pQuest[questId].Reward[i].Value[2]) { int itemSanc = BASE_GetItemSanc(&pMob[conn].MOB.Inventory[j]); if (itemSanc >= g_pQuest[questId].Reward[i].Value[2]) { memset(&pMob[conn].MOB.Inventory[j], 0, sizeof STRUCT_ITEM); SendItem(conn, EQUIP_TYPE, j, &pMob[conn].MOB.Inventory[j]); deleteItemCount++; } } else { memset(&pMob[conn].MOB.Inventory[j], 0, sizeof STRUCT_ITEM); SendItem(conn, EQUIP_TYPE, j, &pMob[conn].MOB.Inventory[j]); deleteItemCount++; } if (deleteItemCount >= maxDeleteItem) break; } } } else if (rewardId == 5) //EQUIP { int slotId = g_pQuest[questId].Reward[i].Value[0]; if (slotId >= 1 && slotId <= 16) { memset(&pMob[conn].MOB.Equip[slotId - 1], 0, sizeof STRUCT_ITEM); memcpy(&pMob[conn].MOB.Equip[slotId - 1], &g_pQuest[questId].Reward[i].Item, sizeof STRUCT_ITEM); } SendEquip(conn, conn); pMob[conn].GetCurrentScore(conn); SendScore(conn); SendEtc(conn); for (int j = 0; j < MAX_EQUIP; j++) //ebp-1e0 SendItem(conn, EQUIP_TYPE, j, &pMob[conn].MOB.Equip[j]); } else if (rewardId == 6) //SKILL { int skillId = g_pQuest[questId].Reward[i].Value[0]; int skillTime = g_pQuest[questId].Reward[i].Value[1]; if(skillId >= 0 && skillId <= 96) { SetTick(conn, skillId, skillTime, 200); SendScore(conn); } } else if (rewardId == 7) //QITEM { PutItem(conn, &g_pQuest[questId].Reward[i].Item); SendCarry(conn); } else if (rewardId == 8) //GIVEGOLD { if (pMob[conn].MOB.Coin + g_pQuest[questId].Reward[i].Value[0] > 2000000000) pMob[conn].MOB.Coin = 2000000000; else pMob[conn].MOB.Coin += g_pQuest[questId].Reward[i].Value[0]; if (pMob[conn].MOB.Coin <= 0) pMob[conn].MOB.Coin = 0; SendUpdateCoin(conn); } else if (rewardId == 9) //GIVEEXP { if (pMob[conn].CheckEvolution() == CELESTIAL) return; long long newExp = pMob[conn].MOB.Exp + g_pQuest[questId].Reward[i].Value[0]; if (newExp <= 4000000000) pMob[conn].MOB.Exp = newExp; else pMob[conn].MOB.Exp = 4000000000; SendEtc(conn); if (pMob[conn].CheckGetLevel()) { SendClientMessage(conn, FALSE, _NN_Level_Up); SendScore(conn); SendItemByLevel(conn); } } else if (rewardId == 10) //TELEPORT { DoTeleport(conn, g_pQuest[questId].Reward[i].Value[0], g_pQuest[questId].Reward[i].Value[1], FALSE); pUser[conn].IsWallX = pMob[conn].TargetX; pUser[conn].IsWallY = pMob[conn].TargetY; } else if (rewardId == 11) //EQDELETE { if (g_pQuest[questId].Reward[i].Value[0] < 1 || g_pQuest[questId].Reward[i].Value[0] > 16) continue; memset(&pMob[conn].MOB.Equip[g_pQuest[questId].Reward[i].Value[0] - 1], 0, sizeof STRUCT_ITEM); SendItem(conn, EQUIP_TYPE, g_pQuest[questId].Reward[i].Value[0] - 1, &pMob[conn].MOB.Equip[g_pQuest[questId].Reward[i].Value[0] - 1]); } //SetBit foi modificada!! else if (rewardId == 12) //SETBIT { int setBit = g_pQuest[questId].Reward[i].Value[0]; if (setBit >= 0 && setBit < 12) { if (setBit == 0) BASE_SetQuestState(&pMob[conn].isChatBlock, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 1) BASE_SetQuestState(&pMob[conn].CristalQuest, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 2) BASE_SetQuestState(&pMob[conn].isArchBlockedLvl, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 3) BASE_SetQuestState(&pMob[conn].ArchLvlandFuryStone, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 5) BASE_SetQuestState(&pMob[conn].isBlockedLvl, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 6) BASE_SetQuestState(&pMob[conn].randomQuizFlag, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 9) BASE_SetQuestState(&pMob[conn].isHardCore, g_pQuest[questId].Reward[i].Value[1]); else if (setBit == 11) BASE_SetQuestState(&pMob[conn].isGodOrSub, g_pQuest[questId].Reward[i].Value[1]); else { sprintf(temp, "que, setbit not imple - bit:%d quest:%d", setBit, questId); Log(temp, "-system", 0); } } else { sprintf(temp, "que, Quest Bit Error quest:%d reward:%d bit:%d", questId, i, setBit); Log(temp, pUser[conn].AccountName, pUser[conn].IP); } } else if (rewardId == 13) //RESTAT { unsigned short stats = g_pQuest[questId].Reward[i].Value[1]; int calcStatus = 0; int detail = g_pQuest[questId].Reward[i].Value[0]; int mobClass = pMob[conn].MOB.Class; if (mobClass < TRANSKNIGHT || mobClass > HUNTRESS) return; if (detail == 0) //STR { if (stats == 0) { calcStatus = pMob[conn].MOB.BaseScore.Str - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Str = BaseSIDCHM[mobClass][detail]; } else if (pMob[conn].MOB.BaseScore.Str - stats >= BaseSIDCHM[mobClass][detail]) { calcStatus = stats; pMob[conn].MOB.BaseScore.Str -= stats; } else { calcStatus = pMob[conn].MOB.BaseScore.Str - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Str = BaseSIDCHM[mobClass][detail]; } } else if (detail == 1) //INT { if (stats == 0) { calcStatus = pMob[conn].MOB.BaseScore.Int - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Int = BaseSIDCHM[mobClass][detail]; } else if (pMob[conn].MOB.BaseScore.Int - stats >= BaseSIDCHM[mobClass][detail]) { calcStatus = stats; pMob[conn].MOB.BaseScore.Int -= stats; } else { calcStatus = pMob[conn].MOB.BaseScore.Int - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Int = BaseSIDCHM[mobClass][detail]; } } else if (detail == 2) //DEX { if (stats == 0) { calcStatus = pMob[conn].MOB.BaseScore.Dex - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Dex = BaseSIDCHM[mobClass][detail]; } //004F62AE else if (pMob[conn].MOB.BaseScore.Dex - stats >= BaseSIDCHM[mobClass][detail]) { calcStatus = stats; pMob[conn].MOB.BaseScore.Dex -= stats; } else { calcStatus = pMob[conn].MOB.BaseScore.Dex - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Dex = BaseSIDCHM[mobClass][detail]; } } else if (detail == 3) //CON { if (stats == 0) { calcStatus = pMob[conn].MOB.BaseScore.Con - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Con = BaseSIDCHM[mobClass][detail]; } else if (pMob[conn].MOB.BaseScore.Con - stats >= BaseSIDCHM[mobClass][detail]) { calcStatus = stats; pMob[conn].MOB.BaseScore.Con -= stats; } else { calcStatus = pMob[conn].MOB.BaseScore.Con - BaseSIDCHM[mobClass][detail]; pMob[conn].MOB.BaseScore.Con = BaseSIDCHM[mobClass][detail]; } } else if (detail == 4) //ALL { int tmpStats = 0; if (stats == 0) { calcStatus = pMob[conn].MOB.BaseScore.Str - BaseSIDCHM[mobClass][0]; pMob[conn].MOB.BaseScore.Str = BaseSIDCHM[mobClass][0]; calcStatus += pMob[conn].MOB.BaseScore.Int - BaseSIDCHM[mobClass][1]; pMob[conn].MOB.BaseScore.Int = BaseSIDCHM[mobClass][1]; calcStatus += pMob[conn].MOB.BaseScore.Dex - BaseSIDCHM[mobClass][2]; pMob[conn].MOB.BaseScore.Dex = BaseSIDCHM[mobClass][2]; calcStatus += pMob[conn].MOB.BaseScore.Con - BaseSIDCHM[mobClass][3]; pMob[conn].MOB.BaseScore.Con = BaseSIDCHM[mobClass][3]; } else { tmpStats = pMob[conn].MOB.BaseScore.Str - stats; if (tmpStats < 0) { tmpStats = pMob[conn].MOB.BaseScore.Str - BaseSIDCHM[mobClass][0]; pMob[conn].MOB.BaseScore.Str = BaseSIDCHM[mobClass][0]; } else { pMob[conn].MOB.BaseScore.Str -= stats; } } calcStatus += tmpStats; tmpStats = pMob[conn].MOB.BaseScore.Int - stats; if (tmpStats < 0) { tmpStats = pMob[conn].MOB.BaseScore.Int - BaseSIDCHM[mobClass][1]; pMob[conn].MOB.BaseScore.Int = BaseSIDCHM[mobClass][1]; } else { pMob[conn].MOB.BaseScore.Int -= stats; } calcStatus += tmpStats; tmpStats = pMob[conn].MOB.BaseScore.Dex - stats; if (tmpStats < 0) { tmpStats = pMob[conn].MOB.BaseScore.Dex - BaseSIDCHM[mobClass][2]; pMob[conn].MOB.BaseScore.Dex = BaseSIDCHM[mobClass][2]; } else { pMob[conn].MOB.BaseScore.Dex -= stats; } calcStatus += tmpStats; tmpStats = pMob[conn].MOB.BaseScore.Con - stats; if (tmpStats < 0) { tmpStats = pMob[conn].MOB.BaseScore.Con - BaseSIDCHM[mobClass][3]; pMob[conn].MOB.BaseScore.Con = BaseSIDCHM[mobClass][3]; } else { pMob[conn].MOB.BaseScore.Con -= stats; } calcStatus += tmpStats; pMob[conn].MOB.ScoreBonus = calcStatus; pMob[conn].GetCurrentScore(conn); SendScore(conn); SendEtc(conn); } } else if (rewardId == 14) //RESTATALL { int mobClass = pMob[conn].MOB.Class; if (mobClass < TRANSKNIGHT || mobClass > HUNTRESS) return; int Stats = g_pQuest[questId].Reward[i].Value[0]; int curScoreBonus = pMob[conn].MOB.ScoreBonus; int Str = pMob[conn].MOB.BaseScore.Str - BaseSIDCHM[mobClass][0]; int Int = pMob[conn].MOB.BaseScore.Int - BaseSIDCHM[mobClass][1]; int Dex = pMob[conn].MOB.BaseScore.Dex - BaseSIDCHM[mobClass][2]; int Con = pMob[conn].MOB.BaseScore.Con - BaseSIDCHM[mobClass][3]; if (Str > Stats) { pMob[conn].MOB.BaseScore.Str -= Stats; curScoreBonus += Stats; } else { pMob[conn].MOB.BaseScore.Str -= Str; curScoreBonus += Str; } if (Int > Stats) { pMob[conn].MOB.BaseScore.Int -= Stats; curScoreBonus += Stats; } else { pMob[conn].MOB.BaseScore.Int -= Int; curScoreBonus += Int; } if (Dex > Stats) { pMob[conn].MOB.BaseScore.Dex -= Stats; curScoreBonus += Stats; } else { pMob[conn].MOB.BaseScore.Dex -= Dex; curScoreBonus += Dex; } if (Con > Stats) { pMob[conn].MOB.BaseScore.Con -= Stats; curScoreBonus += Stats; } else { pMob[conn].MOB.BaseScore.Con -= Con; curScoreBonus += Con; } pMob[conn].GetCurrentScore(conn); BASE_GetBonusScorePoint(&pMob[conn].MOB, pMob[conn].MobFace, pMob[conn].CristalQuest, pMob[conn].ArchLvlandFuryStone); BASE_GetHpMp(&pMob[conn].MOB, pMob[conn].MobFace); SetTick(conn, 44, 20, 20); SendScore(conn); SendEtc(conn); } } }
    7 pontos
  2. Eu me lembro que há muitos anos atrás, alguns jogadores usavam a habilidade "Charm" em BeasterMasters e iam para as Masmorras, Desertos ou Campos de Neve, e traziam Mobs de outras partes do mapa para a cidade de Armia, e os jogadores novatos ficavam maravilhados com isso. Essa é a memória que me inspirou a criar este código. Assim como eu queria dar mais importância à quantidade de Moeda de Ouro que um personagem acumulou. Eu quero que a quantidade de Ouro de um personagem signifique algo além da simples capacidade de gastá-lo. Então, para incorporar um maior senso de valor aos jogadores que são ricos em ouro e não apenas em nível, eu apresento este código à comunidade. Este código é extenso e tem referências a códigos que eu lancei anteriormente. Se precisar de ajuda para implementar este código, por favor, sinta-se à vontade para pedir ajuda e eu te guiarei à luz da questão. Aproveite. Code : Server.cpp ~ [Hidden Content]
    6 pontos
  3. Atualização sazonal do EpicGlobal! [v30.1]. Patch notes: Atualizado para versão 4.2 do jogo; Download & Scan: [Hidden Content]
    6 pontos
  4. Prova de Funcionamento Tutorial em video Tutorial de redação Execute o Loader como administrador ele vai perguntar em qual disco o seu CrossFire está instalado, você coloca C ou D depois vai perguntar se você deseja executar o Cheat, você coloca S e da ENTER Depois vai abrir uma mensagem dizendo "Aguardando o CrossFire" e você abre o CrossFire F12 abre e FECHA o Menu bom jogo Download:[Hidden Content] [Hidden Content]
    5 pontos
  5. Aqui estão alguns endereços att CABR Offsets att By IDA Pro
    5 pontos
  6. Onlyfans Galeira VSCO [Hidden Content]
    5 pontos
  7. Demonstração Tutorial 1. Abra o CS2 2. depois de aberto, execute o Loader da FRCHEATS e logue em sua conta do fórum 3. Selecione a area de CS2 4.Escolha o Counter Strike 2 Legit Clique em Injetar Bom jogo :) ATENÇÃO: EU NÃO CRIEI ESSE CHEAT POR COMPLETO, OS CRÉDITOS VAI AO CRIADOR "CLIV", MANTEREI AS ATUALIZAÇÕES DIARIAS. DOWNLOAD SENDSPACE: [Hidden Content] Scann: [Hidden Content]
    4 pontos
  8. WEBCHEATS A P R E S E N T A ASSISTA A QUALQUER VÍDEO NOS SITES OFICIAIS DE VÍDEOS AULTOS +18 SEM PRECISAR PAGAR NADA! A plataforma a seguir consegue liberar todo e qualquer tipo de vídeos/filmes adultos restritos exclusivamente para assinantes. Você consegue assistir os conteúdos exclusivos sem precisa pagar nada mensalmente! COMO USAR A PLATAFORMA: A plataforma é bem autoexplicativa, não há muito segredo. Acesse o site do Mineiro (link no final do tópico); Vai aparecer diversos sites pornográficos, selecione o site que deseja assistir (Por exemplo, o site da Brad Montana); Em seguida você será redirecionado para adicionar o link do vídeo restrito; Pois bem, o próximo passo é acessar o site oficial da Brad Montana; Agora escolha um vídeo/filme premium, restrito somente para assinantes; Após escolher, copie o link do vídeo no campo de URL e retorne a plataforma do Mineiro; Retornando ao site do Mineiro, cole o link do vídeo no campo em que está sendo pedido; Depois, clique no botão "Quero assistir esse vídeo/filme". Caso queria entender melhor a explicação em vídeo, assista: 𝗢𝗯𝘀.: Quando você clicar no botão "Quero assistir esse vídeo/filme", vai aparecer alguns anúncios pedindo para você permitir a notificação. Basta você ficar recusando/bloqueando. A solicitação dessa notificação vai aparecer umas 6x depois que você recusar, basta ficar recusando que logo você será direcionado para assistir o vídeo em FULL HD. 𝗢𝗯𝘀.: Se você clicar em permitir, os anúncios vão deixar de aparecer. Lembre-se de remover a notificação depois, pois é muito chato. LINK DO SITE [Hidden Content] ESTE MATERIAL ERA EXCLUSIVAMENTE PARA MEMBROS VIP! USE COM MODERAÇÃO!
    4 pontos
  9. Estou aqui para ensinar vocês a como pedir seu acesso gratuito! +3.700 Filmes de Porno Legendado em Português do Brasil - Maior site de conteúdo legendado da internet! [Hidden Content] CURTA O TÓPICO PARA RECEBER O TUTORIAL DE COMO CONSEGUIR SEU ACESSO [hide]Siga o que se pede no tópico no fórum para garantir seu acesso ou adquira. Criar uma conta no site: [Hidden Content]/signup Você deve esperar 5 minutos para sua conta ser sincronizada no fórum, só assim você vai conseguir sua conta no fórum, caso você tenha criado a conta usando login pela google, você deve redefinir sua senha e aguardar ate 5 minutos para conseguir entrar no fórum usando a mesma senha que você criou. Mais informações sobre isso: [Hidden Content]/page/nova-conta-redefinir-senha Após você ter feito sua conta, logado no fórum, para garantir seu primeiro dia de acesso, basta ler o que se pede ou adquirir. [Hidden Content]]
    4 pontos
  10. Minty 1.40 | Download & VirusScan: [Hidden Content] Notas de correções: Atualizado para a versão 4.2 (Global e Chinesa); Adicionada a Visão Elemental Permanente; Correção de bug com DumbEmenies (servos da Furina).
    4 pontos
  11. UPDATE MARÇO/2024 INTRODUÇÃO Iniciamos o fórum para controlar as vendas dos cheats, todas as noticiais e novidades são postadas lá. Fórum exclusivo para VIP, então se tem interesse em adquirir entre: Forums - Fox Cheats FUNÇÕES AUTO KILL (FUNCIONAL EM EVENTOS E PORTAL) 1 HIT KILL HP HACK (VIDA FICA 500K E NÃO DIMINUI) MP HACK (JÁ INICIA PARTIDA CHEIO, SEM NECESSIDADE DE HIT) TIME FREEZE (COLOCA O TEMPO DA PARTIDA EM 12'59) RANK SS ITEM VAC (TODOS OS ITENS DROPAM NO MESMO LUGAR) MONSTER VAC (TODOS OS MOBS SPAWNAM NO MESMO LUGAR) FLY HACK (AO SEGURAR A TECLA CTRL E PULAR, VOCÊ CONSEGUE VOAR) NO CD (REMOVE O COOL DOWN DAS SKILLS STEALTH (OS MONSTROS NÃO TEM ATACAM) ITEM SPAWN (TODOS OS ITENS DO MAPA SPAWNAM) T. JULGAMENTO (AUMENTA TODOS SEUS ATRIBUTOS) CRITICAL (TODO DANO QUE VOCÊ FIZER SERÁ CRITICO) CONTINENTE HACK - PERMITE VOCÊ ACESSAR QUALQUER CONTINENTE (MESMO QUE NÃO O TENHA LIBERADO) ROOM HACK - PERMITE VOCÊ ACESSAR QUALQUER MISSÃO (MESMO QUE NÃO CUMPRA OS REQUISITOS) TIME FREEZE PROFECIA - DEIXA O TEMPO EM 22 MINUTOS SPEED HACK - AUMENTA A VELOCIDADE DO JOGO EXP HACK UP DO 1 AO 90 EM 5 MINUTOS AUTO BOSS - TE LEVA DIRETO AO BOSS DA MISSÃO BERKAS SOLO - PERMITE JOGAR BERKAS SOLO DEMONSTRAÇÃO SCREEN SHOTS PREÇOS 30 Dias -> R$30,00 90 Dias -> R$70,00 ONDE COMPRAR ? Nosso Site -> Forums - Fox Cheats Link da Loja -> Loja - FoxCheats Nosso Discord : Fox Cheats (discord.com) COMO USAR Abra seu Grand Chase Na tela de Servidores abra o FREE GCH.exe Clique em Injetar Pronto, o menu estará aberto dentro do jogo! QUALQUER PROBLEMA NO DOWNLOAD, DESATIVE SEU ANTI-VÍRUS OBS : PARA USAR O MP HACK, BASTA ATIVAR ANTES DE ENTRAR NA MISSÃO FREE VERSION [hide][Hidden Content]] [Hidden Content]==
    3 pontos
  12. • Belle DelphinePack Grátis - Belle Delphine • • Download Pack: [Hidden Content]
    3 pontos
  13. WEBCHEATS A P R E S E N T A VALORANT MACRO NO RECOIL O PRODUTO A SEGUIR É DESENVOLVIDO EM AHK, PORTANTO, PRECISA TER INSTALADO O AUTO HOT KEY NA SUA MÁQUINA ANTES DE USAR. MACROS EM AHK É APENAS UMA AUXILIADOR, NÃO É CHEAT PARA RETIRAR O RECOIL (Imagem ilustrativa) DOWNLOAD & SCAN a) DOWNLOAD [Hidden Content] b) SCANNER [Hidden Content] CRÉDITOS Até o momento não conseguir identificar o autor responsável pelo desenvolvimento do AHK.
    3 pontos
  14. MACROS PREMIUM CROSSFIRE TIPOS DE MACROS: No Recoil; No Spread; Qs Sniper; Rapid Fire; BunnyHop; Ghost Walk; etc. OBRIGATÓRIO ter instalado na sua maquina o programa AutoHotKey. Após ter baixado, basta entrar no jogo primeiramente, e depois executar o macro como administrador. DOWNLOAD & SCAN: [Hidden Content] Scan: [Hidden Content]
    3 pontos
  15. Scan 1: [Hidden Content]== Scan 2: [Hidden Content]== Scan 3: [Hidden Content]== Scan 4: [Hidden Content] REMOVIDO
    3 pontos
  16. Salve meu reii.. consegue fazer um pro Ultimate PT [Hidden Content] .. foi lançado recentemente porem esta com bastante players
    3 pontos
  17. CHEAT PARA VALORANT TRIGGERBOT INFORMAÇÕES O Fell trigger é um tools/cheat externo para Valorant; Posso ser banido? Sim, porém o cheat é externo, não detectável pelo Vanguard e não injeta nada dentro do jogo.; O fell trigger só funcionará em todas as resoluções do Valorant. TUTORIAL Abra o jogo e deixe na tela inicial Abra o Fell Triggerbot com admin Selecione a cor que voce usa no jogo ligue o Toggle para on ajuste o FOV (área que o triggerbot vai atirar) Clique em BIND e selecione a tecla desejada para o trigger E pronto só jogar RECURSOS DO CHEAT FOV: área que o triggerbot vai atirar DELAY: tempo de resposta do trigger Fire Delay: Tempo de resposta que ele irá atirar Draw FOV: Vai mostrar a area que você escolheu pro fov Toggle On: Quando ativo você pode escolher uma tecla para ligar/desligar Bind: Tecla que você irá ativar, basta clicar em Bind e depois pressionar a tecla Color (Canto inferior direito): Recomendado é usar roxo, você precisa alterar a cor do inimigo no jogo Gui color: Apenas a cor da interface do hack isso é cosmético DOWNLOAD & SCAN Download: [Hidden Content] Scan: [Hidden Content] Créditos ao Raposão Mito (EU MESMO)
    2 pontos
  18. TÓPICO REABERTO Um aviso: eu não vendo o Korepi em nenhum site por aí, como GGMax, Desapego ou DFG. Se você caiu nesse tópico através de uma compra num desses anúncios ou sites: SINTO LHE INFORMAR, MAS VOCÊ FOI VÍTIMA DE SCAM E ESSE VENDEDOR TE ENGANOU! KOREPI É GRATUITO! TRATE DE PEDIR REEMBOLSO E DENUNCIAR O VENDEDOR! O Korepi, atual cheat de Genshin baseado no projeto do Callow, posteriormente manutenciado pelo Taiga e outros, é um projeto gratuito, funcionando através de licenças. Essas por sua vez são adquiridas fazendo um check-in diário num período de 7 dias, a única coisa paga é caso queira diminuir o tempo de espera e ter alguns privilégios a mais, entretando, essa função de doador/contruibuidor é feita no próprio servidor do Korepi, o Kitten Buds. Fim! Deixarei o tópico aberto pra tratamento de dúvidas. Quem quiser colar no servidor que me chame aqui do fórum através de mensagem privada para eu convidá-los. Quem já está no servidor sinta-se á vontade de entrar em contato comigo também, eu sou um dos moderadores de lá. Meu discord é Sabala também.
    2 pontos
  19. Pack Grátis - Aline Faria & Bunniemai1591 Aline Faria Spoiler Download Pack: [Hidden Content] Bunniemai1591 Spoiler Download Pack: [Hidden Content]
    2 pontos
  20. [Hidden Content] Tenho várias contas , mande mensagem no privado .
    2 pontos
  21. Abrir o Hack e Abrir o PT (Novas funções) Img do Hack Scan! [Hidden Content] Não será mais atualizado
    2 pontos
  22. Olá, tudo bem? Patched quer dizer que o conteúdo está desatualizado ou offline.
    2 pontos
  23. Pack com fotos/vídeos da Veronica Perasso. Basta curtir o tópico para revelar o conteúdo. [hide][Hidden Content] [Hidden Content]] senha para acessar ao link terabox: u2p8
    2 pontos
  24. Código de cupom: WebCheatsTeste URL Para usar: [Hidden Content] Você deve estar registrado para usar o CUPOM promocional da WebCheats. O cupom esta limitado a 5 usos, dependendo dos pedidos abaixo posso liberar muitos cupons para vocês! ATUALMENTE TEMOS 3588 FILMES COMPLETOS DE PORNO LEGENDADO
    2 pontos
  25. Minty 1.39.2 | Download & VirusScan: [Hidden Content] Notas de correções: Atualizado para versão 4.1; Correção da maioria dos bugs conhecidos.
    2 pontos
  26. void ProcessIceQueenMobKilled(int killer, int target) //Função Ok { int targetGenIndex = pMob[target].GenerateIndex; if (IceQueenState == 1 && targetGenIndex == 155) //IceQueenMirror { int ptLeaderId = CheckIceQueenParty(killer); IceQueenCurAttackerId = ptLeaderId; if (IceQueenCurAttackerId <= MOB_EMPTY || IceQueenCurAttackerId >= MAX_USER) return; for (int i = 0; i < 29; i++) GenerateMob(5454 + i, 0, 0); IceQueenQuestTime = 1800; IceQueenState = 2; } else if (IceQueenState == 2 && targetGenIndex >= 5454 && targetGenIndex <= 5482) { int haveMob = CheckIceQueenCurNumMob(); if (!haveMob) return; GenerateMob(149, 0, 0); //DarkShadow SendMessageChatId(IceQueenCurAttackerId, FALSE, _ND_GenDarkShadow); for (int i = 0; i < MAX_PARTY; i++) { int ptMember = pMob[IceQueenCurAttackerId].PartyList[i]; if (ptMember <= MOB_EMPTY || ptMember >= MAX_USER) continue; SendMessageChatId(ptMember, FALSE, _ND_GenDarkShadow); } IceQueenState = 3; } else if (IceQueenState == 3 && targetGenIndex == 149) //DarkShadow { int ptLeaderId = CheckIceQueenParty(killer); if (ptLeaderId != IceQueenCurAttackerId) { IceQueenState = 1; ResetIceQueenQuest(); return; } QuestInitTeleportGroup(IceQueenCurAttackerId, 3859, 2882); GenerateMob(154, 0, 0); IceQueenState = 4; } else if (IceQueenState == 4 && targetGenIndex == 154) //IceQueenVerid { if (rand() % 2 == 1) IceQueenQuestExp = 173400; else IceQueenQuestExp = 72200; IceQueenState = 5; sprintf(temp, "etc, IceQueen killer %s", pMob[killer].MOB.MobName); Log(temp, "system", 0); ResetIceQueenQuest(); } }
    2 pontos
  27. Instagram Onlyfans Privacy [Hidden Content]
    2 pontos
  28. 100% ATUALIZADO(JUNHO 2024) INTRODUÇÃO A Fox com muito orgulho apresenta seu produto para Grand Chase Classic (Steam/Nexus/Megaxus/Epic Games/etc) Acesse nosso site e tenha acesso à mais produtos exclusivos: Forums - Fox Cheats FUNÇÕES AutoKill - mata todos os monstros da fase Item Vac - puxa todos os itens dropados para o seu personagem STATUS SS - deixa o Status do seu personagem SS permitindo adentrar em missões que ele não atenda os requisitos [ EX : Berkas, VOID/Vazio,etc] Skip Dialog - pula todos os diálogos automaticamente Item Hide - oculta todos os drops para não encher seu inventário de itens fracos/inuteis Level Hack [VOID] - permite que seu personagem entre na missão VAZIO/VOID mesmo que ele não tenha o level necessário Auto Kill Delay - mata todos os monstros da fase mais lentamente Monster VAC - Puxa todos os mobs para um determinado local do mapa. Auto Boss - Ao entrar na missão você vai direto para o BOSS. Item Spawn - Dropa todos os itens que seriam dropados naquela dungeon INTEIRA. Damage Mob - Com essa função você consegue escolher quanto de dano o mob irá lhe causar. Stage Hack - Completa a fase sozinho, de acordo com os delays que você programar. Speed Hack - Aumenta a velocidade do jogo de acordo com o multiplicador desejado. Rank Select - Define qual é o seu rank naquela dungeon (vocÊ pode escolher a pontuação para ir de F até SS) Time Count - O tempo da missão irá começar contar de 10'43 Time Freeze - O Tempo da missão irá ficar parado em 00:00 Hits Count - Falsifica os logs da partida, com você selecionando quantos hits causou na partida Combo Count - Você seleciona qual foi o combo mais alto que deu na partida, além de falsificar os logs da partida também completa AUTOMATICAMENTE as missões de combo ATK Back Count - Você seleciona quantos ataques por trás realizou na missão, além de falsificar os logs da partida também completa AUTOMATICAMENTE as missões de ataque por trás Hits Taken Count - Falsifica os logs da partida com você selecionando quantos hits sofreu na partida Damage Count - Falsifica os logs da partida com você selecionando quanto de dano causou na partida HP Infinity - Deixa seu HP Infinito MP FULL - Deixa seu MP sempre cheio CRITICAL 100% - Seus ataques sempre serão criticos Furia Infinita - Os personagens que possuem furia terão ela infinita Potion CD - Remove o cooldown das poções Fly Hack - Permite seu personagem voar NO PVP - deixa o dano do inimigo no PVP em 1. CoolDown - Cooldown das skills é 0. Pet MP - Deixa o MP do pet sempre cheio Predict Drop - Permite saber o'que irá dropar na missão só de entrar nela, decidindo assim se a recompensa vale o esforço ou se vale a pena quitar pra trocar o drop Speed Farm - Permite carregar uma missão bem mais fácil no lugar da que você esta jogando, permitindo coletar titulos/abrir todos os mapas muito mais rapido! Auto Title - Starta e completa automaticamente as missões BYPASS ANTICHEAT EMBUTIDO - VOCÊ CONSEGUE JOGAR COM MACROS, COM CHEAT ENGINE ABERTO, WPE PRO E MUITO MAIS QUE O JOGO BLOQUEIA MULTI CLIENT EMBUTIDO - VOCÊ CONSEGUE ABRIR QUANTOS GRANDCHASES O SEU COMPUTADOR AGUENTAR SEM MAQUINAS VIRTUAIS OU COISA DO TIPO! SCREEN SHOTS PREÇOS 30 Dias -> R$33,00 ONDE COMPRAR ? Nosso Site -> Forums - Fox Cheats Nosso Discord : [Hidden Content] COMO USAR Abra o cheat Abra o jogo Seja feliz! DOWNLOAD/SCAN CASO QUEIRA SUPORTE DEDICADO, COM MEMBRO DA EQUIPE INDO EM ANYDESK E TUDO MAIS; AI VOCÊ COMPRA O PRODUTO VIP. [hide][Hidden Content]] SCAN : VirusTotal - File - 6ddb4a159c634bc79841a30a3a1238804e2d20e6624e55651705d37dee1e83f6
    1 ponto
  29. Tópico bem simples para mostrar um novo cheat sem detect para o jogo Battlefield 1 está disponível para download gratuito. Aimbot, Wallhack, ESP, AutoShoot, AutoAim, sistema de configuração e muitos outros recursos. Use o cheat para se divertir ou para punir outros cheaters. O hack no BF1 é muito simples, fácil de controlar por meio de uma GUI prática, muitos recursos diferentes. Instruções: Extraia o conteúdo numa pasta; Abra o BF1 e minimize; Execute o inject.bat (se não capturar o processo imediatamente, então verifique se não está executando bf1trial.exe ou invés de bf1.exe como padrão). Faça antes de entrar numa partida. Peculiaridades para execução perfeita do cheat: o jogo precisa estar na resolução 1920x1080 e desativar a entrada bruta do mouse nas configurações do jogo. Ás vezes o jogo crasha misteriosamente sem dar sequer algum aviso. Download: [hide][Hidden Content]] Scan: [Hidden Content] Vídeo Tutorial (em russo):
    1 ponto
  30. WYD SUPREME | Realms and Kingdoms is now officially Online! SERVER STATUS: Version 7.79 Medium/Easy Wars Online Event Online OBJECTIVE: Aiming to make a great, fun, and long lasting Game Server where everyone in the WYD Community will enjoy. More information will be posted here very soon Have your early access today and start your journey throughout the Realms and Kingdoms of WYD Supreme! Come and Play now! Website: [Hidden Content] (Might be Updated in 48h) Alternative Website: - [Hidden Content] Register: [Hidden Content]register/index.php Download: [Hidden Content]... Scan.exe: [Hidden Content]
    1 ponto
  31. Muito bom Hayato, apenas continue, vc é o maior!!! aprovado!
    1 ponto
  32. Está funcionando normalmente na última versão do jogo. Se você está no servidor do Discord da equipe que desenvolve (que não sou eu, no caso, só repasso informações), deveria ter acesso aos updates, se não tem acesso, vai ter que esperar reabrirem o servidor, pois no momento, ele se encontra pausado até novas ordens. Epa! Tópico Movido! Seu tópico não foi postado na área correta e, devido a isso, foi movido para o local adequado. Por favor, preste mais atenção da próxima vez. Atenciosamente, Web Cheats
    1 ponto
  33. 1 ponto
  34. Se voce procura Free não irá achar tão fácil o ultimo que vi estava 600$ mes.
    1 ponto
  35. 1 ponto
Esta tabela de classificação está definida para São Paulo/GMT-03:00
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.