这篇教程C++ trade_tradecancel函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中trade_tradecancel函数的典型用法代码示例。如果您正苦于以下问题:C++ trade_tradecancel函数的具体用法?C++ trade_tradecancel怎么用?C++ trade_tradecancel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了trade_tradecancel函数的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: trade_tradeok/*========================================== * アイテム追加完了(ok押し) *------------------------------------------ */void trade_tradeok(struct map_session_data *sd) { struct map_session_data *target_sd; int trade_i; nullpo_retv(sd); // check items for(trade_i = 0; trade_i < 10; trade_i++) { if ((((sd->deal.item[trade_i].index) >= 0) && (sd->deal.item[trade_i].amount > sd->status.inventory[sd->deal.item[trade_i].index].amount)) || (sd->deal.item[trade_i].amount < 0)) { trade_tradecancel(sd); return; } } // check exploit (trade more items that you have) if (impossible_trade_check(sd)) { trade_tradecancel(sd); return; } // check zeny if (sd->deal.zeny < 0 || sd->deal.zeny > MAX_ZENY || sd->deal.zeny > sd->status.zeny) { // check amount trade_tradecancel(sd); return; } if ((target_sd = map_id2sd(sd->trade_partner)) != NULL) { sd->state.deal_locked = 1; clif_tradeitemok(sd, 0, 0); clif_tradedeal_lock(sd, 0); clif_tradedeal_lock(target_sd, 1); }}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:39,
示例2: trade_tradeok/*========================================== * アイテム追加完了(ok押し) *------------------------------------------ */void trade_tradeok(dumb_ptr<map_session_data> sd){ dumb_ptr<map_session_data> target_sd; int trade_i; nullpo_retv(sd); for (trade_i = 0; trade_i < 10; trade_i++) { if (sd->deal_item_amount[trade_i] > sd->status.inventory[sd->deal_item_index[trade_i] - 2].amount || sd->deal_item_amount[trade_i] < 0) { trade_tradecancel(sd); return; } } if ((target_sd = map_id2sd(sd->trade_partner)) != NULL) { sd->deal_locked = 1; clif_tradeitemok(sd, 0, 0, 0); clif_tradedeal_lock(sd, 0); clif_tradedeal_lock(target_sd, 1); }}
开发者ID:cinderweb,项目名称:tmwa,代码行数:31,
示例3: trade_tradeok/*========================================== * アイテム追加完了(ok押し) *------------------------------------------ */void trade_tradeok(dumb_ptr<map_session_data> sd){ dumb_ptr<map_session_data> target_sd; int trade_i; nullpo_retv(sd); for (trade_i = 0; trade_i < TRADE_MAX; trade_i++) { IOff2 index = sd->deal_item_index[trade_i]; if (!index.ok()) continue; if (sd->deal_item_amount[trade_i] > sd->status.inventory[index.unshift()].amount || sd->deal_item_amount[trade_i] < 0) { trade_tradecancel(sd); return; } } if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { sd->deal_locked = 1; clif_tradeitemok(sd, IOff2::from(0), 0, 0); clif_tradedeal_lock(sd, 0); clif_tradedeal_lock(target_sd, 1); }}
开发者ID:mrktj,项目名称:tmwa,代码行数:34,
示例4: trade_traderequest/*========================================== * Initiates a trade request. *------------------------------------------ */void trade_traderequest(struct map_session_data *sd, struct map_session_data *target_sd) { int level; nullpo_retv(sd); if (map[sd->bl.m].flag.notrade) { clif_displaymessage (sd->fd, msg_txt(272)); return; //Can't trade in notrade mapflag maps. } if (target_sd == NULL || sd == target_sd) { clif_tradestart(sd, 1); // character does not exist return; } if (!battle_config.invite_request_check) { if (target_sd->guild_invite > 0 || target_sd->party_invite > 0) { clif_tradestart(sd, 2); return; } } if ((target_sd->trade_partner != 0) || (sd->trade_partner != 0)) { trade_tradecancel(sd); // person is in another trade return; } level = pc_isGM(sd); if ( pc_can_give_items(level) || pc_can_give_items(pc_isGM(target_sd)) ) //check if both GMs are allowed to trade { clif_displaymessage(sd->fd, msg_txt(246)); trade_tradecancel(sd); // GM is not allowed to trade return; } //Fixed. Only real GMs can request trade from far away! [Lupus] if (level < lowest_gm_level && (sd->bl.m != target_sd->bl.m || !check_distance_bl(&sd->bl, &target_sd->bl, TRADE_DISTANCE) )) { clif_tradestart(sd, 0); // too far return ; } target_sd->trade_partner = sd->status.account_id; sd->trade_partner = target_sd->status.account_id; clif_traderequest(target_sd, sd->status.name);}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:51,
示例5: party_trade_bound_cancel/** * Close trade window if party member is kicked when trade a party bound item * @param sd **/static void party_trade_bound_cancel(struct map_session_data *sd) {#ifdef BOUND_ITEMS nullpo_retv(sd); if (sd->state.isBoundTrading&(1<<BOUND_PARTY)) trade_tradecancel(sd);#else ;#endif}
开发者ID:julius5,项目名称:rathena,代码行数:13,
|