void IChatHandler::_sCmd_Stat(IWorldPlayer *_player, const char *_message) { FDASSERT(_player); FDASSERT(_message); s32 t_amount = 0; sscanf(_message, "%s %d", m_buffer, &t_amount); E_STAT t_stat = DST_NONE; if (xstricmp("STR", m_buffer) == 0) { t_stat = DST_STR; } else if (xstricmp("STA", m_buffer) == 0) { t_stat = DST_STA; } else if (xstricmp("DEX", m_buffer) == 0) { t_stat = DST_DEX; } else if (xstricmp("INT", m_buffer) == 0) { t_stat = DST_INT; } else { t_stat = stat(xtoi(m_buffer)); } switch (t_stat) { case DST_STR: _player->getCharacter()->addStr(t_amount); break; case DST_STA: _player->getCharacter()->addSta(t_amount); break; case DST_DEX: _player->getCharacter()->addDex(t_amount); break; case DST_INT: _player->getCharacter()->addInt(t_amount); break; default: _player->greenText("Invalid stat type"); return; } _player->getObject()->onBaseStatChanged(); _player->getObject()->sendToLocalArea(IPacketCreator::statInfos(_player->getObject())); }
int cvfs_cmp_file_name(char *pat, char *str) { char pat_file[_MAX_FNAME]; char pat_ext[_MAX_EXT]; char str_file[_MAX_FNAME]; char str_ext[_MAX_EXT]; _splitpath(pat,NULL, NULL, pat_file, pat_ext); _splitpath(str,NULL, NULL, str_file, str_ext); if (!*pat_ext) strcpy(pat_ext, "."); if (!*str_ext) strcpy(str_ext, "."); return (xstricmp(pat_file, str_file) && xstricmp(pat_ext, str_ext)); }
static int CheckExt(char *filename) { int i; char *ext = GetExt(filename); for (i = 0; nez_extlist[i]; i++) if (!xstricmp(ext, nez_extlist[i])) return 1; return 0; }
bool CFileReader::readBool() { readNext(m_buffer_2, BUF_2_SIZE); if (xtoi(m_buffer_2) || xstricmp("true", m_buffer_2) == 0) { return true; } else { return false; } }
bool IPacketReceiver::_login(IWorldPlayer *_player) { static const u32 T_BUF_SIZE = 256; static char ts_buf_charname[T_BUF_SIZE]; static char ts_buf_accname[T_BUF_SIZE]; static char ts_buf_password[T_BUF_SIZE]; FDASSERT(_player); CByteArray &t_packet = _player->getClient()->incoming(); //not used t_packet.getInt(); t_packet.getInt(); t_packet.getInt(); t_packet.getInt(); t_packet.getInt(); t_packet.getInt(); t_packet.getInt(); t_packet.getByte(); //char name if (!t_packet.getString(ts_buf_charname, T_BUF_SIZE)) return false; //account name if (!t_packet.getString(ts_buf_accname, T_BUF_SIZE)) return false; //pw if (!t_packet.getString(ts_buf_password, T_BUF_SIZE)) return false; //check account AccountPtr t_account = m_server->getAccountManager()->getAccount_W(ts_buf_accname); if (t_account && xstricmp(t_account->getPassword(), ts_buf_password) == 0) { _player->setAccount(t_account); //check character CharacterPtr t_char = m_server->getCharacterManager()->getCharacter_W(ts_buf_charname); //char exists? if (t_char) { _player->setCharacter(t_char); _player->getCharacter()->setOnline(true); m_server->getCharacterManager()->saveCharacter_onlineStatus_W(_player->getCharacter()); } //wrong char name else { return false; } } //wrong id or wrong password else { return false; } t_packet.getInt(); t_packet.getInt(); Log::write(LOG_GAME, "Nouveau Joueur"); m_server->enterWorld(_player); return !t_packet.end(); }
void IChatHandler::chat(IWorldPlayer *_player, const char *_message) { FDASSERT(m_pserver); FDASSERT(_player); FDASSERT(_message); if (!*_message) return; switch (*_message++) { case '/': //Flyff commands { sscanf(_message, "%s%n", m_command, &m_command_size); _message += m_command_size; //Shout if (xstricmp("s", m_command) == 0) { _fCmd_Shout(_player, _message); } //Say else if (xstricmp("say", m_command) == 0) { _fCmd_Say(_player, _message); } //Whisper else if (xstricmp("w", m_command) == 0) { _fCmd_Whisper(_player, _message); } //PartyInvite else if (xstricmp("partyinvite", m_command) == 0) { _fCmd_PartyInvite(_player, _message); } //Teleport else if (xstricmp("teleport", m_command) == 0) { _fCmd_Teleport(_player, _message); } return; } case '#': //blackorion commands { sscanf(_message, "%s%n", m_command, &m_command_size); _message += m_command_size; bool t_usable = true; for (u32 i = 0; i < m_cmdHandles.size(); ++i) { if (_command(*m_cmdHandles[i].Command, m_command, _player, t_usable) && t_usable) { (this->*m_cmdHandles[i].Function)(_player, _message); return; } } _player->greenText("Unknown command"); /*IWorldCommandSettings &t_sett = m_pserver->m_settings.Commands; bool t_canUse = false; //Info if (_command(t_sett.Info, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_info(_player, _message); } } //Coin else if (_command(t_sett.Coin, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_coin(_player, _message); } } //Dice else if (_command(t_sett.Dice, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_dice(_player, _message); } } //Penya else if (_command(t_sett.Penya, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_penya(_player, _message); } } //Level else if (_command(t_sett.Level, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_level(_player, _message); } } //AccessLevel else if (_command(t_sett.AccessLevel, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_accessLevel(_player, _message); } } //ClearInv else if (_command(t_sett.ClearInv, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_clearInv(_player, _message); } } //DropInv else if (_command(t_sett.DropInv, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_dropInv(_player, _message); } } //Shout else if (_command(t_sett.Shout, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_shout(_player, _message); } } //Item else if (_command(t_sett.Item, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_item(_player, _message); } } //Stat else if (_command(t_sett.Stat, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_stat(_player, _message); } } //Notice else if (_command(t_sett.Notice, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_notice(_player, _message); } } //Pos else if (_command(t_sett.Pos, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_pos(_player, _message); } } //Name else if (_command(t_sett.Name, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_name(_player, _message); } } //Exp else if (_command(t_sett.Exp, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_exp(_player, _message); } } //AddExp else if (_command(t_sett.AddExp, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_addExp(_player, _message); } } //Kill else if (_command(t_sett.Kill, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_kill(_player, _message); } } //Job else if (_command(t_sett.Job, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_job(_player, _message); } } //Points else if (_command(t_sett.Points, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_points(_player, _message); } } //GetPoints else if (_command(t_sett.GetPoints, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_getPoints(_player, _message); } } //PlayerInfo else if (_command(t_sett.PlayerInfo, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_playerInfo(_player, _message); } } //Immortal else if (_command(t_sett.Immortal, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_immortal(_player, _message); } } //OneHit else if (_command(t_sett.OneHit, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_oneHit(_player, _message); } } //God else if (_command(t_sett.God, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_god(_player, _message); } } //SetAccessLevel else if (_command(t_sett.SetAccessLevel, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_setAccessLevel(_player, _message); } } //Mob else if (_command(t_sett.Mob, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_mob(_player, _message); } } //CreateSpawn else if (_command(t_sett.CreateSpawn, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_createSpawn(_player, _message); } } //CreateItemList else if (_command(t_sett.CreateItemList, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_createItemList(_player, _message); } } //Place else if (_command(t_sett.Place, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_place(_player, _message); } } //Ban else if (_command(t_sett.Ban, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_ban(_player, _message); } } //PvpPoints else if (_command(t_sett.PvpPoints, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_pvpPoints(_player, _message); } } //PkPoints else if (_command(t_sett.PkPoints, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_pkPoints(_player, _message); } } //Disposition else if (_command(t_sett.Disposition, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_disposition(_player, _message); } } //Weather else if (_command(t_sett.Weather, m_command, _player, t_canUse)) { if (t_canUse) { _sCmd_weather(_player, _message); } } else { _player->greenText("Unknown command")); }*/ return; } case '.': //Custom commands { ICommandScriptEnv::instance()->command(_player->getObject(), _message); return; } }; //... normal chat *_message--; _player->getObject()->getWorld()->sendToLocalArea(_player->getObject(), IPacketCreator::chat(_player->getObject()->getId(), _message)); }
void IChatHandler::_sCmd_Place(IWorldPlayer *_player, const char *_message) { FDASSERT(_player); FDASSERT(_message); sscanf(_message, "%s", m_buffer); CPoint t_pos; IWorld *t_world = 0; /* Charerstellung = 6973 100 3328 CW = 3889.79 59 3926.37 Arena (Glaub Welt 204) = 540 138.51 485 Flaris(Aus der Arena) = 6935.36 100.06 3247.69 Flaris (Blink) = 7161 100 3264 Flaris (TownBlink) = 6968.38 100 3328.86 Saint Morning = 8321 100 3720 SM Town = 8470.57 100 3635.78 SM Arena( Aus der Arena) = 8441.85 100 3622.26 Arena (Tod) = 538.78 138.23 474.75 Darkon = 3896 59 4378 DarkonTown = 3808.40 59 4455.15 Darkon(Aus der Arena) = 3808.40 59 4455.15 */ if (xstricmp("flaris", m_buffer) == 0 || xstricmp("fl", m_buffer) == 0) { t_pos.X = 6960; t_pos.Y = 100; t_pos.Z = 3221; t_world = m_pserver->getWorld(1); } else if (xstricmp("creation", m_buffer) == 0) { t_pos.X = 6973; t_pos.Y = 100; t_pos.Z = 3328; t_world = m_pserver->getWorld(1); } else if (xstricmp("flbw", m_buffer) == 0) { t_pos.X = 6968.38f; t_pos.Y = 100; t_pos.Z = 3328.86f; t_world = m_pserver->getWorld(1); } else if (xstricmp("madren", m_buffer) == 0) { t_pos.X = 7338; t_pos.Y = 116; t_pos.Z = 3656; t_world = m_pserver->getWorld(1); } else if (xstricmp("mas", m_buffer) == 0) { t_pos.X = 7618; t_pos.Y = 155; t_pos.Z = 4275; t_world = m_pserver->getWorld(1); } else if ( xstricmp("sm", m_buffer) == 0 || xstricmp("saint", m_buffer) == 0) { t_pos.X = 8321; t_pos.Y = 100; t_pos.Z = 3720; t_world = m_pserver->getWorld(1); } else if ( xstricmp("darken", m_buffer) == 0 || xstricmp("darkon", m_buffer) == 0) { t_pos.X = 3808.40f; t_pos.Y = 59; t_pos.Z = 4455.15f; t_world = m_pserver->getWorld(1); } else if ( xstricmp("mine", m_buffer) == 0 || xstricmp("dekane", m_buffer) == 0) { t_pos.X = 5072; t_pos.Y = 55; t_pos.Z = 3964; t_world = m_pserver->getWorld(1); } else if (xstricmp("cw", m_buffer) == 0) { t_pos.X = 3890; t_pos.Y = 59; t_pos.Z = 3925; t_world = m_pserver->getWorld(1); } else if ( xstricmp("desert", m_buffer) == 0 || xstricmp("gm", m_buffer) == 0) { t_pos.X = 8217; t_pos.Y = 100; t_pos.Z = 5656; t_world = m_pserver->getWorld(1); } else if (xstricmp("chaner", m_buffer) == 0) { t_pos.X = 7295; t_pos.Y = 124; t_pos.Z = 3693; t_world = m_pserver->getWorld(1); } else if (xstricmp("babari", m_buffer) == 0) { t_pos.X = 6965; t_pos.Y = 100; t_pos.Z = 3170; t_world = m_pserver->getWorld(1); } else if (xstricmp("glaphan", m_buffer) == 0) { t_pos.X = 3345; t_pos.Y = 94; t_pos.Z = 2550; t_world = m_pserver->getWorld(1); } else if (xstricmp("azria", m_buffer) == 0) { t_pos.X = 1271; t_pos.Y = 113; t_pos.Z = 1324; t_world = m_pserver->getWorld(2); } else if (xstricmp("volcano", m_buffer) == 0) { t_pos.X = 1413; t_pos.Y = 86; t_pos.Z = 528; t_world = m_pserver->getWorld(203); } else { _player->greenText("Unknown position"); return; } _player->getObject()->teleport(t_pos, t_world); }