int rfc_incantation(t_server *serv, const int fd) { t_player *tmp; int ret; int result; char *str_pie; if (!(tmp = get_player_by_id(fd, g_players))) return (-1); if (tmp && fd) { result = elevation(serv, tmp); if (result == -1) { asprintf(&str_pie, "pie %d %d 0", tmp->pos->x, tmp->pos->y); if (str_pie && (ret = return_fdgraphic(serv)) > -1) { serv->timer[ret] = add_list_timer(serv->timer[ret], 0, serv, str_pie); free(str_pie); } } if (result != -1) write_inc_elev(serv, tmp, fd); } return (1); }
void display_pin(char **tab, const int fd) { char *tmp; t_player *player; if (fd && tab && g_players) { if (!(player = get_player_by_id(atoi(tab[1]), g_players))) return ; if (player) { asprintf(&tmp, "%s %d %d %d %d %d %d %d %d %d %d\n", tab[0], atoi(tab[1]), player->pos->x, player->pos->y, player->inventory->nb_food, player->inventory->nb_linemate, player->inventory->nb_deraumere, player->inventory->nb_sibur, player->inventory->nb_mendiane, player->inventory->nb_phiras, player->inventory->nb_thystame); if (tmp) { write(fd, tmp, strlen(tmp)); free(tmp); } } } }
int visu_plv(t_fds *pooler, t_cmd *cmd, t_visu *visu) { t_player *p; (void)pooler; if (!(p = get_player_by_id(visu, atoi(cmd->argv[1])))) return (0); p->level = atoi(cmd->argv[2]); return (1); }
/** * Envoi du gagnant a tous les participants * @param the_players Liste des joueurs * @param uid Identifiant du gagnant */ void send_win(Players the_players, uint16_t uid) { Player winner = get_player_by_id(uid, the_players); Frame win_frame = create_win(uid); send_broadcast(the_players, win_frame); /* Changement de statut du gagnant */ winner->is_winner = 1; /* Desinscription du gagnant */ remove_player_by_id(uid, the_players, 0); }
int plv(char **av, t_client *cl, t_kernel *kernel) { int nb_player; t_player *tempory_player; char buff[BUFFER_SIZE]; if (av_length(av) != 2) return (sbp(cl->fd)); nb_player = atoi(av[1]); if (!(tempory_player = get_player_by_id(nb_player, kernel->game.players))) return (sbp(cl->fd)); sprintf(buff, "plv %d %d\n", nb_player, tempory_player->level); if (write_socket(cl->fd, buff) <= 0) return (1); return (0); }
int rfc_inventory(t_server *serv, const int fd) { t_player *tmp; char *str; if (!(tmp = get_player_by_id(fd, g_players))) return (-1); if (tmp && fd) { inventory(serv, tmp, serv->str[fd]); asprintf(&str, "%s", tmp->retour); if (str) { serv->timer[fd] = add_list_timer(serv->timer[fd], 7, serv, str); if (tmp->retour) free(tmp->retour); free(str); } } return (1); }
int rfc_get(t_server *serv, const int fd) { t_player *tmp; int stone; char *str; if (!(tmp = get_player_by_id(fd, g_players))) return (-1); if (tmp && fd) { stone = get_stone(serv, tmp, serv->str[fd]); asprintf(&str, "%s", stone == -1 ? "ko" : "ok"); if (str) { serv->timer[fd] = add_list_timer(serv->timer[fd], 7, serv, str); free(str); } if (stone > -1) set_get_asprintf(serv, tmp, stone); } return (1); }
Character *player_lookup(const char *arg) { if (is_number(arg)) { return get_player_by_id(atoi(arg)); } else { for (Character *nch = first_player; nch != 0; nch = nch->next_player) { if (is_name(arg, nch->name)) { return nch; } } return 0; } }
int plv(t_server *server, t_client *graphic) { char *parameter; int id; t_player *player; char buffer[40]; if (!server || !graphic || !server->params || !(parameter = strtok(server->params, " \t"))) return (sbp(graphic)); id = atoi(parameter); if ((player = get_player_by_id(server, id)) == NULL) return (sbp(graphic)); if (memset(buffer, 0, 40) == NULL || snprintf(buffer, 40, PLV, player->id, player->level) == -1) return (fprintf(stderr, ERR_MEMSET), -1); if (store_answer_c(graphic, strdup(buffer), 0) == -1) { fprintf(stderr, ERR_PRINTF); return (-1); } return (0); }