lehdarkangel 0 #1 Posted July 9, 2009 (edited) Em CREATURE.H «~~ Após: int access; //access level int maglevel; // magic level int level; // level int speed; Adicione: int resets; Em GAME.CPP «~~ Após a função inteira de: else if (text == "alana sio") // kick me Adicione: else if(player && text == "!resetar"){ if(player->getResets() <= 100) { if(player->getLevel() >= 500){ player->level = 8; player->resets += 1; player->experience = 4200; player->sendTextMessage(MSG_ADVANCE, "RESETO!"); return; } if(player->getLevel() <= 499){ player->sendCancel("You need to be at least lvl 500 to reset!"); player->sendMagicEffect(player->pos, NM_ME_PUFF); return; } } else { player->sendTextMessage(MSG_ADVANCE, "You cant reset more! You already have 100 resets!"); player->sendMagicEffect(player->pos, NM_ME_PUFF); return; } } Em IOPLAYERXML.CPP «~~ Após: else isLoaded = false; nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "voc"); if(nodeValue) { player->vocation = (playervoc_t)atoi(nodeValue); xmlFreeOTSERV(nodeValue); } Adicione: else isLoaded = false; nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "resets"); if(nodeValue) { player->resets=atoi(nodeValue); xmlFreeOTSERV(nodeValue); } após: sb << player->level; xmlSetProp(root, (const xmlChar*) "level", (const xmlChar*)sb.str().c_str()); sb.str(""); adicione: sb << player->resets; xmlSetProp(root, (const xmlChar*) "resets", (const xmlChar*)sb.str().c_str()); sb.str(""); Em PLAYER.H «~~ Após: int getLevel() const {return level;} adicione: int getResets() const {return resets;} Em PLAYER.CPP «~~ Troque: s << name << " (Level " << level <<")."; Por: s << name << " (Level " << level <<") (" << resets << " reset(s))."; Em ACTION.CPP «~~ Após: lua_register(luaState, "getPlayerLevel", ActionScript::luaActionGetPlayerLevel); Adicione: lua_register(luaState, "getPlayerResets", ActionScript::luaActionGetPlayerResets); Após: case PlayerInfoLevel: value = player->level; break; Adicione: case PlayerInfoResets: value = player->resets; break; Após: int ActionScript::luaActionGetPlayerLevel(lua_State *L){ return internalGetPlayerInfo(L,PlayerInfoLevel);} Adicione: int ActionScript::luaActionGetPlayerResets(lua_State *L){ return internalGetPlayerInfo(L,PlayerInfoResets);} Em ACTIONS.H «~~ Após: PlayerInfoFood, PlayerInfoAccess, PlayerInfoLevel, Adicione: PlayerInfoResets, Depois de: static int luaActionGetPlayerLevel(lua_State *L); Adicione: static int luaActionGetPlayerResets(lua_State *L); Em SPELLS.CPP «~~ Após: lua_register(luaState, "getPosition", SpellScript::luaActionGetPos); Adicione: lua_register(luaState, "getResets", SpellScript::luaActionGetResets); Após: int SpellScript::luaActionGetSpeed(lua_State *L){ Spell* spell = getSpell(L); Creature* creature = spell->game->getCreatureByID((unsigned long)lua_tonumber(L, -1)); lua_pop(L,1); lua_pushnumber(L, creature->getNormalSpeed()); return 1; } Adicione: int SpellScript::luaActionGetResets(lua_State *L){ Spell* spell = getSpell(L); Player* player = spell->game->getPlayerByID((unsigned long)lua_tonumber(L, -1)); lua_pop(L,1); lua_pushnumber(L, player->getResets()); return 1; } Em SPELLS.H «~~ Após: static int luaActionGetSpeed(lua_State *L); Adicione: static int luaActionGetResets(lua_State *L); REBUILD ALL "RECOMPILE TUDO" e em todas as spells aumente o dano pelos numeros de resete com o "getResets (cid)" exemplo na sudden death.lua qe é a sd... resets = getResets(cid) SuddenDeathObject.minDmg = (level * 2 + maglv *3) * 1.2 - 30 + (resets * 100) SuddenDeathObject.maxDmg = (level * 2 + maglv *3) * 1.6 + (resets * 150) Tutorial muito longo desculpa.. maiis muito util pra qem gosta de um server diferente ~ Agradeço se comentarem... Edited July 9, 2009 by lehdarkangel Share this post Link to post
lucas123 0 #2 Posted August 1, 2009 roxx vou usa no serv do meu amigo (tamo montanu um..vai ser mt manero..e inovador =D) obrigado. Share this post Link to post
Rafael20x 0 #3 Posted August 16, 2009 que trablho meu..... vou usar no meu, to aprendendo a mexer nisso Share this post Link to post