⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datasql_db.pas

📁 乐都SQL版传奇全套代码,绝对可编译
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        begin
          HumanRcd.Magic[i].wMagIdx :=
            ADOStoredProc_Magic_Get.FieldByName('magicid').AsInteger;
          HumanRcd.Magic[i].btLevel :=
            ADOStoredProc_Magic_Get.FieldByName('btlevel').AsInteger;
          HumanRcd.Magic[i].btKey :=
            ADOStoredProc_Magic_Get.FieldByName('btkey').AsInteger;
          HumanRcd.Magic[i].nTranPoint :=
            ADOStoredProc_Magic_Get.FieldByName('Tranpoint').AsInteger;
         ADOStoredProc_Magic_Get.Next;
        end;
       Result:=1;
       ADOStoredProc_Magic_Get.Active:=FAlse;


        ADOStoredProc_Get.Active := False;
    except
       Result:=6;
    ENd;
  end;
 
end;
 }
{function TDataModule_DB.UpdateHumData(HumData: THumData): Boolean;
var
   b4:Array of byte;
   ok:Integer;
begin
   Result:=False;
  try
   if ADOConnectionDB.Connected then
   Begin
      ADOStoredProc_HUM_Update.Close;
      ADOStoredProc_HUM_Update.Params.ParamByName('@ACCOUNT').Value:=HumData.sAccount;
      ADOStoredProc_HUM_Update.Params.ParamByName('@NAME').Value:=HumData.sChrName;
      ADOStoredProc_HUM_Update.Params.ParamByName('@CurMap').Value:=HumData.sCurMap;
      ADOStoredProc_HUM_Update.Params.ParamByName('@wCurx').Value:=HumData.wCurX;
      ADOStoredProc_HUM_Update.Params.ParamByName('@wCury').Value:=HumData.wCurY;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Dir').Value:=HumData.btDir;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Hair').Value:=HumData.btHair;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Sex').Value:=HumData.btSex;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Job').Value:=HumData.btJob;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Gold').Value:=HumData.nGold;
      ADOStoredProc_HUM_Update.Params.ParamByName('@nLevel').Value:=HumData.Abil.Level;
      ADOStoredProc_HUM_Update.Params.ParamByName('@AC').Value:=HumData.Abil.AC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MAC').Value:=HumData.Abil.MAC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@DC').Value:=HumData.Abil.DC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MC').Value:=HumData.Abil.MC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@SC').Value:=HumData.Abil.SC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@HP').Value:=HumData.Abil.HP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MP').Value:=HumData.Abil.MP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MAXHP').Value:=HumData.Abil.MaxHP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MAXMP').Value:=HumData.Abil.MaxMP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@EXP').Value:=HumData.Abil.Exp;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MAXExp').Value:=HumData.Abil.MaxExp;

      ADOStoredProc_HUM_Update.Params.ParamByName('@Weight').Value:=HumData.Abil.Weight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MAxWeight').Value:=HumData.Abil.MaxWeight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@WearWeight').Value:=HumData.Abil.WearWeight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MaxWearWeight').Value:=HumData.Abil.MaxWearWeight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@HANDWEIGHT').Value:=HumData.Abil.HandWeight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MaXHandWeight').Value:=HumData.Abil.MaxHandWeight;
      ADOStoredProc_HUM_Update.Params.ParamByName('@HomeMap').Value:=HumData.sHomeMap;
      ADOStoredProc_HUM_Update.Params.ParamByName('@HomeX').Value:=HumData.wHomeX;
      ADOStoredProc_HUM_Update.Params.ParamByName('@HomeY').Value:=HumData.wHomeY;
      ADOStoredProc_HUM_Update.Params.ParamByName('@DearName').Value:=HumData.sDearName;
      ADOStoredProc_HUM_Update.Params.ParamByName('@MasterName').Value:=HumData.sMasterName;
      ADOStoredProc_HUM_Update.Params.ParamByName('@boMaster').Value:=HumData.boMaster;
      ADOStoredProc_HUM_Update.Params.ParamByName('@CreditPoint').Value:=HumData.btCreditPoint;
      ADOStoredProc_HUM_Update.Params.ParamByName('@StroragePwd').Value:=HumData.sStoragePwd;
      ADOStoredProc_HUM_Update.Params.ParamByName('@ReLevel').Value:=HumData.btReLevel;
      ADOStoredProc_HUM_Update.Params.ParamByName('@LockLogon').Value:=HumData.boLockLogon;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_DC').Value:=HumData.BonusAbil.DC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MC').Value:=HumData.BonusAbil.MC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_SC').Value:=HumData.BonusAbil.SC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_AC').Value:=HumData.BonusAbil.AC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MAC').Value:=HumData.BonusAbil.MAC;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_HP').Value:=HumData.BonusAbil.HP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_MP').Value:=HumData.BonusAbil.MP;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_Hit').Value:=HumData.BonusAbil.Hit ;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_Speed').Value:=HumData.BonusAbil.Speed;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Naked_X2').Value:=HumData.BonusAbil.X2;
      ADOStoredProc_HUM_Update.Params.ParamByName('@BonusPoint').Value:=HumData.nBonusPoint;
      ADOStoredProc_HUM_Update.Params.ParamByName('@GameGold').Value:=HumData.nGameGold;
      ADOStoredProc_HUM_Update.Params.ParamByName('@PayMentPoint').Value:=HumData.nPayMentPoint;
      ADOStoredProc_HUM_Update.Params.ParamByName('@Contribution').Value:=HumData.wContribution;
      ADOStoredProc_HUM_Update.Params.ParamByName('@IncHealth').Value:=HumData.btIncHealth;
      ADOStoredProc_HUM_Update.Params.ParamByName('@PKPoint').Value:=HumData.nPKPOINT;
      ADOStoredProc_HUM_Update.Params.ParamByName('@AllowGroup').Value:=HumData.btAllowGroup;
      ADOStoredProc_HUM_Update.Params.ParamByName('@AttatckMode').Value:=HumData.btAttatckMode;
      ADOStoredProc_HUM_Update.Params.ParamByName('@IncHealing').Value:=HumData.btIncHealing;
      ADOStoredProc_HUM_Update.Params.ParamByName('@FightZoneDieCount').Value:=HumData.btFightZoneDieCount;
      ADOStoredProc_HUM_Update.Params.ParamByName('@GamePoint').Value:=HumData.nGamePoint;
      ADOStoredProc_HUM_Update.Params.ParamByName('@IncSpell').Value:=HumData.btIncSpell;
      ADOStoredProc_HUM_Update.Params.ParamByName('@StorageCount').Value:=HumData.NewStoragesize;

      SetLength(b4,213);
      CopyMemory(@b4[0],@HumData.memo1 , 213);
      ADOStoredProc_HUM_Update.Params.ParamByName('@Memo1').Value:=b4;

       SetLength(b4,320);
      CopyMemory(@b4[0],@HumData.Newvar.VarDate[0], 320);
      ADOStoredProc_HUM_Update.Params.ParamByName('@newvardate').Value:=b4;

      SetLength(b4,20);
      CopyMemory(@b4[0],@HumData.Newvar.VarDate[0], 20);
      ADOStoredProc_HUM_Update.Params.ParamByName('@newvar').Value:=b4;
   


      ADOStoredProc_HUM_Update.Prepared:=True;
      ADOStoredProc_HUM_Update.ExecProc;

        ok:=ADOStoredProc_HUM_Update.Params.ParamByName('@RETURN_VALUE').Value;

        Result:=ok=0;
        Result:=SaveHumItem(HumData);


   End;
  finally
    ADOStoredProc_HUM_Update.Close;
  End;
end;
 }
function TDataModule_DB.LoadVar(charname,VarName: String; var Value: string;
  var ValueInt: Integer): Boolean;
begin
  Result:=False;
  if ADOConnectionDB.Connected then
  begin
    try
       ADOQuery.Active:=False;
       Adoquery.SQL.Text:='Select * from D_Val where (charname='+''''+charname+''''+')and(varname='+''''+varname+''''+')';
       ADOQuery.Active:=True;
       if ADOQuery.RecordCount>0 then
       begin
         Value:=ADOQuery.fieldByName('VarValue_str').AsString;
         ValueInt:=ADOQuery.fieldByName('VarValue_int').AsInteger;
         Result:=True;
       end;
    Except
       Result:=False;
    End;
  End;
end;

function TDataModule_DB.SaveVar(charname, VarName, Value: string;
  var ValueInt: Integer): Boolean;
begin
   Result:=False;
  if ADOConnectionDB.Connected then
  begin
    try
       ADOQuery.Active:=False;
       ADOQuery.SQL.Clear;
       Adoquery.SQL.Add(' Select * from D_Val  where (CharName=+'+''''+charname+''''+')and(VarName='+''''+varname+''''+')');
       ADOQuery.Active:=True;
       if ADOQuery.RecordCount=0 then
          ADOQuery.Append
       else
          ADOQuery.Edit;
       ADOQuery.FieldByName('VarValue_int').AsInteger:=ValueInt;
       ADOQuery.FieldByName('VarValue_Str').AsString:=Value;
       ADOQuery.FieldByName('VarName').AsString:=varName;
       ADOQuery.FieldByName('CharName').AsString:=charname;
       ADOQuery.Post;

       Result:=True;

    Except
       Result:=False;
    End;
  End;
end;

function TDataModule_DB.UpdateBy(Name,ACCOUNT: String; boSelect,
  boDelete: Byte): Boolean;
begin
   Result:=False;
  if ADOConnectionDB.Connected then
  begin
    try
        ADOStoredProc_Del.Close;
        ADOStoredProc_Del.Params.ParamByName('@Name').Value := Name;
        ADOStoredProc_Del.Params.ParamByName('@Account').Value := ACCOUNT;
        ADOStoredProc_Del.Params.ParamByName('@boSelect').Value := boSelect;
        ADOStoredProc_Del.Params.ParamByName('@boDelete').Value := boDelete;
        ADOStoredProc_Del.Prepared := True;
        ADOStoredProc_Del.ExecProc;
        Result:=ADOStoredProc_Del.Params.ParamByName('@RETURN_VALUE').Value= 0;
        ADOStoredProc_Del.Close;
    Except
    End;
  End;
end;


{
function TDataModule_DB.SaveHumItem(HumData:THumData): Boolean;
var
  OK,i,count:Integer;

  Item:TUserItem;
  Str:String;
  Magic: TMagic1;
begin


        try
          ADOQuery1.Active:=false;
          ADOQuery1.SQL.Clear;

          str:='Delete from D_HUM_ITEM  where pos<0'+#13#10;
          str:=str+'Update D_HUM_ITEM Set pos=pos-250 where charid='+''''+HumData.sChrName+''''+#13#10;
          str:=str+'Delete from D_HUM_MAGIC  where charid='+''''+HumData.sChrName+'''';
          ADOQuery1.SQL.Add(str);
         // ADOQuery1.Params[0].Value:=HumData.sChrName;
         // ADOQuery1.Params[1].Value:=HumData.sChrName;
         ok:= ADOQuery1.ExecSQL;
          for i:=0 to 19 do
          begin
             Magic:=HumData.Magic[i];
             UpdataMagic(Magic,HumData.sChrName);
          end;
          for i:=0 to 204 do
          begin
            Item:=HumData.UserITems[i];
            if (Item.MakeIndex>0)and(Item.wIndex>0) then
               SaveItem(Item,HumData.sChrName,-1);
          End;
          
         except
            OutMainMessage('存盘出错!'+HumData.sChrName);
            ADOQuery1.Active:=false;
            ADOQuery1.SQL.Clear;
            str:=str+'Update D_HUM_ITEM Set pos=pos+250 where charid='+''''+HumData.sChrName+''''+#13#10;
            ADOQuery1.SQL.Add(str);
            ADOQuery1.ExecSQL;
         end;
        finally
          Result:=true;
        End;
end;


function TDataModule_DB.SaveItem(Item: TUserItem;Name:String;Pos:Integer): Boolean;
var
    btValue:Array of byte;
begin
  Result:=True;
 if ADOConnectionDB.Connected then
 Begin
    ADOStoredProc_ITEM.Close;
    SetLength(btValue,78);
    CopyMemory(@btValue[0],@Item.btvalue[0],78);
    ADOStoredProc_ITEM.Params.ParamByName('@MakeIndex').Value:=Item.MakeIndex;
    ADOStoredProc_ITEM.Params.ParamByName('@charID').Value:=Name;
    ADOStoredProc_ITEM.Params.ParamByName('@windex').Value:=Item.wIndex;
    ADOStoredProc_ITEM.Params.ParamByName('@Dura').Value:=Item.Dura;
    ADOStoredProc_ITEM.Params.ParamByName('@DuraMax').Value:=Item.DuraMax;
    ADOStoredProc_ITEM.Params.ParamByName('@pos').Value:=Pos;
    ADOStoredProc_ITEM.Params.ParamByName('@btvalue').Value:=btValue;

    ADOStoredProc_ITEM.Prepared:=True;
    ADOStoredProc_ITEM.ExecProc;
 End;
end;


function TDataModule_DB.UpdataMagic(Magic: TMagic1; Name: String): BOOLean;

begin
  Result:=True;
 if ADOConnectionDB.Connected then
 Begin
    ADOStoredProc_MAGIC_Update.Close;

    ADOStoredProc_MAGIC_Update.Params.ParamByName('@magicid').Value:=Magic.wMagIdx;
    ADOStoredProc_MAGIC_Update.Params.ParamByName('@charID').Value:=Name;
    ADOStoredProc_MAGIC_Update.Params.ParamByName('@btlevel').Value:=Magic.btLevel;
    ADOStoredProc_MAGIC_Update.Params.ParamByName('@btkey').Value:=Magic.btKey;
    ADOStoredProc_MAGIC_Update.Params.ParamByName('@Tranpoint').Value:=Magic.nTranPoint;


    ADOStoredProc_MAGIC_Update.Prepared:=True;
    ADOStoredProc_MAGIC_Update.ExecProc;
 End;
end;
 }
end.

⌨️ 快捷键说明

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