Ну тут тебе надо сделать просто функцию в которой будут заложены определенные действия в зависимости от ситуации.

Type Player
Field Id;Хз зачем, так для прикола создал.
Field Bag[10];Сумка игрока.
Field Bank[10];Банк игрока.
End Type
Global Players[1]; это для примера, тут будет хэндл игрока.
For CrP%=1 To 2;Создаем 2-х игроков, еще не придумал зачем 2-рой,
; наверное для компании :)
p.Player=New Player
p\Id=CrP%;Так же для прикола заполнил...
Players[CrP%-1]=Handle(p);Запишем хендл игрока чтобы не перебирать
; всех игроков при работе с инвентарем.
p\Bag[1]=5;Положим предмет под ИД-шкой 5 в первый слот сумки.
p\Bag[3]=546;Положим предмет под ИД-шкой 546 в третий слот сумки.
p\Bank[3]=3;Положим предмет под ИД-шкой 3 в третий слот банка.
Next
Print "До"
p.Player=Object.Player(Players[0])
Print "Сумка слот - 1: "+p\Bag[1]
Print "Сумка слот - 3: "+p\Bag[3]
Print "Банк слот - 3: "+p\Bank[3]
;Про функцию юзаемую ниже, первое значение - хэндл игрока в типе
; игроков, 2-е откуда будем брать предмет (1- из сумки, 2 из банка),
; 3-е слот из какого возьмем,
; 4-е куда будем ложить (0-выкинем, 1- в сумку, 2 - в банк).
; 5-е в какую ячейку (при выкидывании роли не играет).
MoveItem(Players[0],1,1,2,3);Перекинем предмет из 1-го слота сумки в 3-й слот банка.
MoveItem(Players[0],1,3,0,0);Выкинем предмет из 3-го слота сумки.
Print "После"
p.Player=Object.Player(Players[0]);Выберем первого игрока через хендл которыйзаписывали
;при его создании(можно было и позже).
Print "Сумка слот - 1: "+p\Bag[1]
Print "Сумка слот - 3: "+p\Bag[3]
Print "Банк слот - 3: "+p\Bank[3]
MoveItem(Players[0],1,1,1,3);Переместим предмет из 1-го слота в 3-й.
Print "После 2"
p.Player=Object.Player(Players[0])
Print "Сумка слот - 1: "+p\Bag[1]
Print "Сумка слот - 3: "+p\Bag[3]
Print "Банк слот - 3: "+p\Bank[3]
WaitKey
Function MoveItem(PlayerID%,ID_BagOut%,SlotNumOut%,ID_BagIn%,SlotNumIn%)
p.Player=Object.Player(PlayerID%)
Local TempItem%
Select ID_BagOut%
Case 1;Перекладуем из сумки.
Select ID_BagIn%
Case 0;В никуда.
p\Bag[SlotNumOut%]=0
Case 1;В другой слот.
TempItem%=p\Bag[SlotNumIn%]
p\Bag[SlotNumIn%]=p\Bag[SlotNumOut%]
p\Bag[SlotNumOut%]=TempItem%
Case 2;В слот банка.
TempItem%=p\Bank[SlotNumIn%]
p\Bank[SlotNumIn%]=p\Bag[SlotNumOut%]
p\Bag[SlotNumOut%]=TempItem%
End Select
Case 2;Перекладуем из банка.
Select ID_BagIn%
Case 0;В никуда.
p\Bank[SlotNumOut%]=0
Case 1;В сумку.
TempItem%=p\Bag[SlotNumIn%]
p\Bag[SlotNumIn%]=p\Bank[SlotNumOut%]
p\Bank[SlotNumOut%]=TempItem%
Case 2;В другой или в тот же слот банка.
TempItem%=p\Bank[SlotNumIn%]
p\Bank[SlotNumIn%]=p\Bank[SlotNumOut%]
p\Bank[SlotNumOut%]=TempItem%
End Select
End Select
End Function
П.с. И пусть только какаянить тварь скажет что это говнокод...

П.сс. Если помогло - клацни спасибо)))
П.ссс. Помогаю только потому что сам щас МОРПГ шаманю по чучуть(ну как мморпг, человек 100 потянет стабильно, покачто, пока возможностей мало и игровой мир не приукрашен), вот только мну не удовлетворяет DX7, а Ксорс дорогой, илиже SPE бажный...