사이트 로그인
2016.06.29 10:20
1케릭 아덴주기하면 사람들이 케릭 딱고 아덴받고 딱고 아덴받고 하더라구요~~
머 놀자는 상관없겟찌만 하자쪽에 가까운서버에서는 지원금 안준다면 안준다 머라카고
주면 케릭 지우고 다시 만들어서 저렇게 작업이나 하고... 하다보니!!! 엿먹어 봐라 하고 한번 만들어 보앗심니다 ㅋㅋ
본론으로
템플릿폴더 Accounts.java
public class Accounts{ <<검색
int helpitem; //추가
public String get_ip(){ <<검색
return ip;
}public void set_ip(String ip){
this.ip = ip;
}
public int get_helpitem(){ //추가
return helpitem;
}public void set_helpitem(int helpitem){
this.helpitem = helpitem;
}
다음 어카운트스테이블.자바
while (Data.next()){
accounts = new Accounts();
accounts.set_login(Data.getString(2));
accounts.set_password(Data.getString(3));
accounts.set_access_level(Data.getInt(4));
accounts.set_name1(Data.getString(5));
accounts.set_name2(Data.getString(6));
accounts.set_name3(Data.getString(7));
accounts.set_name4(Data.getString(8));
accounts.set_time(Data.getInt(9));
accounts.set_ip(Data.getString(10)); //검색
accounts.set_helpitem(Data.getInt(11)); //추가
setTemplate(accounts);
다음 패킷핸들.자바
itemUpdate(newChar, template); // 초반 아템 세팅
newChar.set_quest(0); //퀘스트 0로 초기화
newChar.set_elicseo(0); //퀘스트 0로 초기화
newChar.set_itemMr(0);
newChar.set_itemMPTic(0);
ChaNameListTable.getInstance().setTemplate(newChar.get_name());
ChaInfoListTable.getInstance().newTemplate(newChar);
boolean rs = SaveDB(newChar); //검색
Accounts NewAccount = AccountsTable.getInstance().getTemplate(_client.get_loginName());
if(NewAccount.get_helpitem() == 0){
cbitemUpdate(newChar); // 아이템 지급
} //추가
private boolean AllUpdata(boolean Tel){ //섬색하셔서 바로 위에 아래꺼 추가하세요그냥 적당한데 추가하셔도 됩니다
public boolean cbitemUpdate(L1PcInstance newChar){
try{
Accounts NewAccount = AccountsTable.getInstance().getTemplate(_client.get_loginName());
L1ItemInstance l1item;
l1item = new L1ItemInstance(ItemTable.getInstance().getTemplate(1, 0)); // 아데나 : 번호 1 타입0
l1item.set_itemobjectId(IdFactory.getInstance().getNextId());
l1item.setEquipped(false); // 착용 여부
l1item.setEnchantLevel(0); // 인첸 레벨
l1item.set_isid(false); // 확인 여부
l1item.set_bress(1); // 축보통저주 여부
l1item.set_durability(0); // 내구도
l1item.setCount(GameServerSetting.getInstance().Aden); // 갯수
newChar.get_cil().addItems(l1item);
NewAccount.set_helpitem(1);
Connection con = null;
PreparedStatement statement = null;
con = L1DatabaseFactory.getInstance().getConnection();
statement = con.prepareStatement("UPDATE accounts SET 초반지원=1 WHERE 아이디=?");
statement.setString(1, _client.get_loginName());
statement.execute();
statement.close();
con.close();
}catch (SQLException e){
System.out.println("[큐티서버] : 초반무기지원 에러 발생");
}
return false;
}
에스텔 접속기 쓰시는분들은
psjump.java
for(int i=0 ; i<OldAccounts.length ; ++i){
try{
statement = con.prepareStatement("INSERT INTO accounts SET 순번=?,아이디=?,패스워드=?,계정레벨=?,"+
"케릭1=?,케릭2=?,케릭3=?,케릭4=?,남은시간=?,아이피=?,초반지원=?"); // 뒤에 추가
statement.setInt(1, (i+1));
statement.setString(2, OldAccounts[i].get_login());
statement.setString(3, OldAccounts[i].get_password());
statement.setInt(4, OldAccounts[i].get_access_level());
statement.setString(5, OldAccounts[i].get_name1());
statement.setString(6, OldAccounts[i].get_name2());
statement.setString(7, OldAccounts[i].get_name3());
statement.setString(8, OldAccounts[i].get_name4());
statement.setInt(9, OldAccounts[i].get_time());
statement.setString(10, OldAccounts[i].get_ip());
statement.setInt(11, OldAccounts[i].get_helpitem()); //추가
이거 추가 안되면 나비켓에 저장된정보가 게임정료할때 다시 다 초기화됨.!!
어카운트스 테이블 설계하셔서 마지막에 아이피 다음으로 초반지원이라고 만드시고 타입은 int로 주세요
(0이나 null일땐 아덴주고 1일땐 안줍니다 여기에 그정보를 저장해용)
마지막 나비켓 게임서버세팅
테이블 설계하셔서 배율_무게 다음에 아데나 항복 추가 하시고 타입은 int해주세요
설계해주시면 배율_무게 다음으로 아데나라는테이블이 하나 생기겟죵
거기에 원하시는 아덴수량을 적어주시면 됩니다
필히 기존 char_templates에서 아덴주는부분은 다른걸로 교체 하셔야 중복으로 안들어 갑니다
허접한건데 졸 길종 ㅡ.ㅡ;; 오랫만에 돌아왔다가 요런 삽질만 하고 잇습니다 ㅎㅎㅎㅎ
필요하신분은 가따 쓰세용~~ 이상!! 깐따삐아 도우너 였습니다 (큐티서버만세!!)
게임서버세팅
public int Rate_Weight; //캐릭터 무게제한 배율<--DB연동 무게 추가 <<검색
public int Aden; // 초기자금 연동 <<추가
Rate_En = rset.getInt(11);
Rate_Weight = rset.getInt(12);//<----DB연동 무게 추가 <<검색
Aden = rset.getInt(13);// <--- 초기아데나셋팅 <<추가
[출처] 도우너
|
[출처] 한계정당 한번만 아덴주기 (비공개 카페)