skill_db.c

来自「CS反恐精英1.6的部分C源代码。」· C语言 代码 · 共 123 行

C
123
字号
//
// PvPGN YARE MOD V1.0 (Yeat Another Ragnarok Emulator) - (Server)
// Copyright (c) Project-YARE & PvPGN 2003
// www.project-yare.com
// forum.project-yare.net
// www.pvpgn.org
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// skill_db.c - Skill database

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "mmo.h"
#include "skill_db.h"
struct skill_db ret_skill;

struct skill_db skill_database(int i_skill_id)
{
	FILE *fp;
	int skill_id,skill_range,skill_sp,skill_type_hit,skill_type_inf,skill_type_num,skill_type_nk;
	int skill_type_pl;
	int fcount,i;
	char line[1024];
	fcount = 0;
	i = 0;
	//item_db.txt偺俬俢偐傜尒偨栚斣崋乮俀俆斣栚乯傪庢傝弌偡
	
	fp = fopen("config/skill_info.txt","r");
	if(fp)
	{
		while(fgets(line,1024,fp)){
			if(sscanf(line,"%d,%d,%d,%d,%d,%d,%d,%d",&skill_id,&skill_range,&skill_sp,&skill_type_hit,
				&skill_type_inf,&skill_type_num,&skill_type_pl,&skill_type_nk) != 8)
				continue;
			if(skill_id == i_skill_id)
			{
			ret_skill.id = skill_id;
			ret_skill.sp = skill_sp;
			ret_skill.range = skill_range;
			ret_skill.type_hit = skill_type_hit;
			ret_skill.type_inf = skill_type_inf;
			ret_skill.type_num = skill_type_num;
			ret_skill.type_pl = skill_type_pl;
			ret_skill.type_nk = skill_type_nk;
			fclose(fp);
			return ret_skill;
			}
		}
	}
	ret_skill.id = i_skill_id;
	ret_skill.sp = 10;
	ret_skill.range = 18;
	ret_skill.type_hit = 8;
	ret_skill.type_inf = 1;
	ret_skill.type_num = 5;
	ret_skill.type_pl = 0;
	ret_skill.type_nk = 0;
	fclose(fp);
	return ret_skill;
}

/*****************************************
堏摦宆僞僀僾僗僉儖偺僄僼僃僋僩偺庬椶偺巜掕

僗僉儖岠擻抧嶌惉
type 7e:SW 7f:壩暻 80:億僞敪摦拞 81:億僞敪摦慜 83:僒儞僋 85:僼僯儏乕儅
86:僶乕儈儕僆儞 8c:僩乕僉乕儃僢僋僗敪摦帪 8d:昘暻 8e:偔偁偖傑偄傗乕 91:偁傫偔傞偡偹偁
93:傜傫偳傑偄傫 97:?? 99:僩乕僉乕儃僢僋僗敪摦慜
懠忣曬媮傓
*****************************************/
unsigned long search_placeskill(int skill_id)
{
	switch(skill_id)
	{
		//俽倂
	case 12:
		return 0x7e;
		break;
		//僼傽僀傾乕僂僅乕儖
	case 18:
		return 0x7f;
		//僼乕僯儏乕儅
	case 25:
		return 0x85;
		//儚乕僾億乕僞儖
	case 27:
		return 0x80;
		//僙儞僠儏傾儕
	case 70:
		return 0x83;
		//僶乕儈儕僆儞
	case 86:
		return 0x86;
		//儔儞僪儅僀儞
	case 116:
		return 0x93;
		//傾儞僋儖僗僱傾
	case 117:
		return 0x91;
		//僩乕僉乕儃僢僋僗
	case 125:
		return 0x99;
	default:
		return 0;
		break;
	};
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?