void update_save_players(void) { uint32 i = 0; if(total_players_online()){ printf("Saving all online players.\n"); admin_msg("Saving all online players.",1); //pink save_online_players(); } }
void destroy_server(void) { uint32 i = 0; printf("Saving online players.\n"); for(i = 0; i < total_players_online(); i++) left_game(player_online(i)); printf("Clearing Data.\n"); unload_shops(); unload_spells(); unload_items(); unload_npcs(); unload_players(); unload_maps(); unload_socket(); path_destroy(); strings_destroy(); }
void update_player_vitals(void) { uint32 i = 0; for(i = 0; i < total_players_online(); i++){ if(player(player_online(i))->vitals[VITAL_HP] != get_player_max_vital(player_online(i),VITAL_HP)){ player(player_online(i))->vitals[VITAL_HP] += get_player_vital_regen(player_online(i),VITAL_HP); send_vital(player_online(i),VITAL_HP); } if(player(player_online(i))->vitals[VITAL_MP] != get_player_max_vital(player_online(i),VITAL_MP)){ player(player_online(i))->vitals[VITAL_MP] += get_player_vital_regen(player_online(i),VITAL_MP); send_vital(player_online(i),VITAL_MP); } if(player(player_online(i))->vitals[VITAL_SP] != get_player_max_vital(player_online(i),VITAL_SP)){ player(player_online(i))->vitals[VITAL_HP] += get_player_vital_regen(player_online(i),VITAL_SP); send_vital(player_online(i),VITAL_SP); } } }
void ai_attack_on_sight(uint8 mapnpcnum, uint16 target, uint32 mapnum) { uint16 i = 0; uint16 n; int8 dx; int8 dy; char *string = NULL; if(npc(map(mapnum)->npc[mapnpcnum].num)->behavior == BEHAVIOR_ATTACKONSIGHT || npc(map(mapnum)->npc[mapnpcnum].num)->behavior == BEHAVIOR_GUARD){ if(map(mapnum)->npc[mapnpcnum].targettype == TARGET_NONE){ for(i = 0; i < total_players_online(); i++){ if(player(player_online(i))->map == mapnum && player(player_online(i))->group <= GROUP_MONITOR){ n = npc(map(mapnum)->npc[mapnpcnum].num)->range; dx = map(mapnum)->npc[mapnpcnum].x - player(player_online(i))->x; dy = map(mapnum)->npc[mapnpcnum].y - player(player_online(i))->y; if(dx < 0) dx *= -1; if(dy < 0) dy *= -1; if(dx <= n && dy <= n){ if(npc(map(mapnum)->npc[mapnpcnum].num)->behavior == BEHAVIOR_ATTACKONSIGHT || player(player_online(i))->pk){ if(strlen(npc(map(mapnum)->npc[mapnpcnum].num)->say)){ string = comb_5str("A ", npc(map(mapnum)->npc[mapnpcnum].num)->name," says, '",npc(map(mapnum)->npc[mapnpcnum].num)->say,"' to you."); player_msg(player_online(i),string, 1); //grey } map(mapnum)->npc[mapnpcnum].target = player_online(i); map(mapnum)->npc[mapnpcnum].targettype = TARGET_PLAYER; } } } } } } }