HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Recruitment for Singleplayer RPG

05-03-2008, 02:47 AM#1
BOFH
@Vexorian
(Sorry I copy/pasted that one my fault.)
Translation in progress........Done


Why didnt you send me a pm to translate it?
please delete the other thread written in german.

PS:You are that HandleVars guy aint ya?
Nice to meet you.
Read a lot about you in the Jass-Tutorial section.

Coding directly in WE is great with the Syntax Highlighter and the
implemented Function Referenz.


Hy Folks

Im working on a Naruto-RPG map since a couple of weeks.While Im realy good at writing Skripts and
Jass stuff at all I suck at terraining and graphiks.
Also the huge amount of work that is needed to finish the map makes it impossible to do it
on my own.

Here is a little History about what Ive allready done:

-I wrote my own Equipmentsystem in vJass with Itemslots, 14 Equipslots and 4 Quickslots.

-Substatsystem with five imaginary values wich effekt the three main stats and attached dummyabilitys like dodging,regen,or critical.

-Rearltime refreshing Multiboard, displays substats, mainstats with progress bar and Dodge or critical chance..

3.rd Peson Camerasystem, Walking via Arrowkeys

A couple of other, small Skripts like Creepspawn or a few abilities all in VJass.
Right now I wrote over 1500 Lines of Code.


Why do I tell you all this?
Because Im looking for an EXPERIENCED Terainer, who allready made a few maps.
The map is 480*480 (JassNewGenPack required!)
Because of the huge size I want to make it a singleplayer RPG I can tell from my own experience that I never finished playing an large RPG in BNET or LAN.

If you are Interested in teaming up with me,send a mail [email protected]
or answer the post.


I defineatly want to bild up a team for this project, and I also want to finish the map.There is nothing I hate more than all those unfinished maps out there which have great potential but did never exeed beta status.

I attached a couple of Screenshots, first is the InventorySytem rest is some example of the CamSystem and how the map should look like.

Thanks for reading I hope for some help

mfg. BOFH
Attached Images
File type: jpgInventory.jpg (147.7 KB)
File type: jpgscreenflower.jpg (167.7 KB)
File type: jpgscreentown.jpg (151.6 KB)
File type: jpgscreentown2.jpg (155.5 KB)
05-11-2008, 09:26 PM#2
TEC_Ghost
Lmao.

1st mistake... you're making a Naruto map.
2nd mistake you took Toadcops Item system and the stat system from TKoK.
05-11-2008, 10:24 PM#3
darkwulfv
Quote:
-I wrote my own Equipmentsystem in vJass with Itemslots, 14 Equipslots and 4 Quickslots.
That looks almost exactly like ToadCop's item system. Unless you can prove you coded the entire thing yourself, don't claim it as your own; that's stealing.
05-11-2008, 10:50 PM#4
TDR
NARUTO SPELLP4X??!!!????????!11!!/?
05-11-2008, 11:51 PM#5
Rising_Dusk
Quote:
Originally Posted by TDR
NARUTO SPELLP4X??!!!????????!11!!/?
I don't see how that is funny at all.
05-12-2008, 04:04 AM#6
Av3n
It does exactly look like it... By any chance did you rip the systems of the unprotected Trigger map that VexenX uploaded? They look so familiar that it ain't funny

-Av3n
05-12-2008, 06:11 AM#7
TDR
Quote:
Originally Posted by Rising_Dusk
I don't see how that is funny at all.
ha! Sorry, couldn't hold myself. I guess I'm just tired of seeing "my naruto map" so many times.
05-12-2008, 11:59 AM#8
BOFH
Quote:
Originally Posted by darkwulfv
That looks almost exactly like ToadCop's item system. Unless you can prove you coded the entire thing yourself, don't claim it as your own; that's stealing.


1.) Its right that the Layout is from TKOK.
I took their Inventorysymbols and Statsymbols but the entire Jasscode is written by myself.

How should I steal theyr Triggercode? the map is protected and reading trough 3000 Lines of Jasscode from the war3map.j, then figuring out what is the Inventorysystem where are the Statsystem function....

Realy man you are kidding arent you?

As I sayd I took a few Ideas from theyr map, when releasing first beta it was my intention from the beginning to say that Crimsons awesome map inspired me a lot.
But people like you who think everyone is stealing from everybody makes me sick..
Want proof?
Heres the Init Trigger:

Code:
//==================================================================================
//Handles clicking a Trackable
function ClickHandler takes nothing returns nothing
    local trackable tk = GetTriggeringTrackable()
    local integer selected = GetIntegerData(Player(0),"ClickCache") 
    local slotdata data = GetIntegerData(tk,"StructLink")
    local slotdata cachedata = GetIntegerData(I2TK(selected),"StructLink")
    local itemdata idata = GetIntegerData(Player(0),I2S(cachedata.itemid))
    
    if data.ocupied then
        call CreateEffekt(tk)
    elseif selected != 0 and selected != H2I(tk) and data.equipmentslot != "Drop" and data.equipmentslot != "Exit" and data.equipmentslot != "Quickslot" and not data.equipment and not cachedata.equipment and not data.ocupied then
        call ExchangeItems(tk)
    elseif selected != 0 and selected != H2I(tk) and data.equipmentslot != "Drop" and data.equipmentslot != "Exit"  and data.equipmentslot != "Quickslot" and data.equipment and cachedata.equipable and data.equipmentslot == idata.equipmenttyp and not data.ocupied then
        call EquipItem(tk,idata)
    elseif selected != 0 and selected != H2I(tk) and data.equipmentslot != "Drop"  and data.equipmentslot != "Exit" and data.equipmentslot != "Quickslot" and not data.equipment and cachedata.equipment and not data.ocupied and cachedata.inequipmentslot then
        call UnequipItem(tk)
     
     
    elseif selected != 0 and selected != H2I(tk) and data.equipmentslot != "Drop" and data.equipmentslot == "Quickslot" then
        call QuickslotFill(tk)
        
        
    elseif selected != 0 and selected != H2I(tk) and data.equipmentslot == "Drop" and not cachedata.inequipmentslot then
        call DropItem(tk)
    elseif data.equipmentslot == "Exit" then
        call ExitInventory()
    endif
    set tk = null
endfunction
//============================================================================
//Handles hovering a Trackable
function HoverHandler takes nothing returns nothing
    local trackable tk = GetTriggeringTrackable()
    local slotdata data = (GetIntegerData(tk,"StructLink"))
    local itemboard boardold = GetIntegerData(Player(0),"HoverCache")
    local itemboard board 
    
    call SetIntegerData(Player(0),"HoverCache",0)
    if boardold != 0 then 
        call boardold.destroy()
    endif
    if data.itemid != 0 then
        set board = itemboard.create("TestBoard",15)
        call SetIntegerData(Player(0),"HoverCache",board)
    elseif data.equipment then
        set board = itemboard.create("     "+data.equipmentslot+"     ",1)
        call SetIntegerData(Player(0),"HoverCache",board)
    elseif data.equipmentslot == "Drop" then
        set board = itemboard.create("     DROP ITEM     ",1)
        call SetIntegerData(Player(0),"HoverCache",board)
    elseif data.equipmentslot == "Exit" then
        set board = itemboard.create("     EXIT     ",1)
        call SetIntegerData(Player(0),"HoverCache",board)    
    endif
    set tk = null
endfunction
//============================================================================
//EquipmentSlots erzeugen
function CreateEquipment takes nothing returns nothing
    local slotdata data
    local trackable tk
    local destructable d
    local trigger t 
    local real x = GetCameraBoundMinX() 
    local real y = GetCameraBoundMinY()
    local integer index = 0  
    local integer index2 = 0
    local integer xraiser = 0
    local integer slot = 0
    
    //Dummyarrays
    local integer array dummyid
    local string array dummynames
    
    set dummyid[1] = 'B00P'
    set dummyid[2] = 'B00C'
    set dummyid[3] = 'B00D'
    set dummyid[4] = 'B00E'
    set dummyid[5] = 'B00F'
    set dummyid[6] = 'B00G'
    set dummyid[7] = 'B00H'
    set dummyid[8] = 'B00I'
    set dummyid[9] = 'B00J'
    set dummyid[10] = 'B00K'
    set dummyid[11] = 'B00L'
    set dummyid[12] = 'B00M'
    set dummyid[13] = 'B00N'
    set dummyid[14] = 'B00O'
    
    set dummynames[1] = "Head"
    set dummynames[2] = "ShoulderR"
    set dummynames[3] = "HandR"
    set dummynames[4] = "Chest"
    set dummynames[5] = "Belt"
    set dummynames[6] = "Pants"
    set dummynames[7] = "Ring"
    set dummynames[8] = "Neck"
    set dummynames[9] = "ShoulderL"
    set dummynames[10] = "HandL"
    set dummynames[11] = "Gloves"
    set dummynames[12] = "Bracers"
    set dummynames[13] = "Boots"
    set dummynames[14] = "Ring"
    
    loop
        exitwhen index2>13
        set index2 = index2 + 1
        
        set d = CreateDestructable(dummyid[index2],x + xraiser + 140,y + 983 - 148*index,0,1.20,1)
        set tk = CreateTrackable("square.mdx",x + xraiser + 140,y + 983 - 148*index,0)
        call CreateDestructable('B005', x + xraiser + 140,y + 983 - 148*index,0,1.10,1)
       
        //Corner_UR
        call CreateDestructable('B006',x + 155,y + 985 - 148*index,0,1.0,1)
        //Corner_DR
        call CreateDestructable('B00A',x + 155,y + 985 - 148*index,0,1.0,1)
        //Corner_UL
        call CreateDestructable('B009',x + 135,y + 985 - 148*index,0,1.0,1)     
        //Corner_DL
        call CreateDestructable('B00B',x + 135,y + 985 - 148*index,0,1.0,1)
        
        set t = CreateTrigger()
        call TriggerRegisterTrackableHitEvent(t, tk)
        call TriggerAddAction(t,function ClickHandler)
   
        set t = CreateTrigger()
        call TriggerRegisterTrackableTrackEvent(t,tk)
        call TriggerAddAction(t,function HoverHandler)
        
        set data = slotdata.create()
    
        set data.slotlink = d
        set data.slotid = dummyid[index2]
        set data.equipmentslot = dummynames[index2]
        set data.ocupied = false
        set data.equipment = true
        
        call SetIntegerData(tk,"StructLink",data)
        
        set index = index + 1
        
        if index>6 then
            set x = x + 820
            set index = 0
            set xraiser = 5
        endif
    endloop
    set tk = null
    set d = null
    set t = null 
endfunction
//============================================================================
//Inventar erzeugen
function CreateInventory takes nothing returns nothing
    local slotdata data 
    local trackable tk
    local destructable d
    local trigger t     
    local real x = GetCameraBoundMinX()
    local real y = GetCameraBoundMinY() 
    local integer index1 = 0
    local integer index2 = 0
    local integer slot = 1
    
    loop
        exitwhen index1>=10
        set index2 = 0 
        loop
            exitwhen index2>=6
            set d = CreateDestructable(udg_gui_emptyinv,x + 300 + 100 * index2,y + 50 + 935 -100 * index1,0,1.0,1)
            set tk = CreateTrackable("square.mdx",x + 300 + 100 * index2,y + 50 + 935 - 100 * index1, 0)
            
            //Central
            call CreateDestructable('B005',x + 300 + 100 * index2,y + 50 + 935 - 100 * index1,0,1.0,1)
            //Border_L
            //call CreateDestructable('B001',x + 300,y + 1018 - 100 * index1,0,1.0,1)
            //Border_R
            //call CreateDestructable('B002',x + 810,y + 1018 - 100 * index1,0,1.0,1)
            //Border_D
            call CreateDestructable('B004',x + 100 * (index2+3),y + 885 - (100*8),0,1.0,1)
            //Border_U
            call CreateDestructable('B003',x + 100 * (index2+3),y + 985 ,0,1.0,1)
                        
            set t = CreateTrigger()
            call TriggerRegisterTrackableHitEvent(t, tk)
            call TriggerAddAction(t,function ClickHandler)
   
            set t = CreateTrigger()
            call TriggerRegisterTrackableTrackEvent(t,tk)
            call TriggerAddAction(t,function HoverHandler)
            
            set data = slotdata.create()
            
            set data.slotlink = d
            set data.slotid = udg_gui_emptyinv
            set data.slotindex = slot
            set data.equipment = false
            set data.ocupied = false
            
            call SetIntegerData(Player(0),"Slot"+I2S(slot),H2I(tk))
            call SetIntegerData(tk,"StructLink",data)
                        
            set slot = slot+1
            set index2 = index2+1 
        endloop
        set index1 = index1+1
    endloop
    
    //Corner_DL
    call CreateDestructable('B00B',x + 300,y + 985 - 100 * (index1-1),0,1.0,1)
    //Corner_UL
    call CreateDestructable('B009',x + 300,y + 985 ,0,1.0,1)
    //Corner_DR
    call CreateDestructable('B00A',x + 810,y + 985 - 100 * (index1-1),0,1.0,1)
    //Corner_UR
    call CreateDestructable('B006',x + 810,y + 985 ,0,1.0,1)
    
    //Background
    set index1 = 1
    loop
        exitwhen index1>4
        set index2 = 0
        set index1 = index1+1
        loop 
            exitwhen index2>3
            call CreateDestructable('B008',x-512+512*index1,y+200+256*index2,0,2.0,1)
            set index2 = index2+1
        endloop
    endloop
    //==========================================================================
    //Create Quickslots
    set index1 = 0
    set index2 = 0
    set slot = 0
    loop
        exitwhen index1 == 2
            set index2 = 0
            loop
                exitwhen index2 == 2
                if index1 == 0 then
                    set d = CreateDestructable('B00S',x + 1200,y +100 + 145*index2,0,1.2,1)
                    set tk = CreateTrackable("square.mdx",x + 1200,y + 95 + 145*index2, 0)
                    //Central
                    call CreateDestructable('B00S',x + 1200,y +95 + 145*index2,0,1.2,1)
                elseif index1 >0 then
                    set d = CreateDestructable('B00S',x + 1400,y +90 + 145*index2,0,1.2,1)
                    set tk = CreateTrackable("square.mdx",x + 1400 ,y + 85 + 145*index2, 0)
                    //Central
                    call CreateDestructable('B00S',x + 1400,y +85 + 145*index2,0,1.2,1)
                endif
                
                set slot = slot + 1
                set data = slotdata.create()
            
                set data.slotlink = d
                set data.slotid = 'B00S'
                set data.slotindex = slot
                set data.equipmentslot = "Quickslot"
                set data.ocupied = false
                
                call SetIntegerData(Player(0),"Quickslot"+I2S(slot),H2I(tk))
                call SetIntegerData(tk,"StructLink",data)
                
                set t = CreateTrigger()
                call TriggerRegisterTrackableHitEvent(t, tk)
                call TriggerAddAction(t,function ClickHandler)
   
                set t = CreateTrigger()
                call TriggerRegisterTrackableTrackEvent(t,tk)
                call TriggerAddAction(t,function HoverHandler)
                
                //Corner_DL
                call CreateDestructable('B00B',x + 1200 + 190*index1,y + 95 + 155*index2,0,1.0,1)
                //Corner_UL
                call CreateDestructable('B009',x + 1200 + 190*index1,y + 90 + 150*index2,0,1.0,1)
                //Corner_DR
                call CreateDestructable('B00A',x + 1200 + 190*index1,y + 95 + 155*index2,0,1.0,1)
                //Corner_UR
                call CreateDestructable('B006',x + 1200 + 190*index1,y + 90 + 150*index2,0,1.0,1)
                set index2 = index2 + 1
            endloop
        set index1 = index1 + 1
    endloop
    
    
    //========================================================================
    //Create Drop Button
    set d = CreateDestructable('B00R',x + 1200,y + 600,0,1.0,1)
    set tk = CreateTrackable("square.mdx",x + 1200,y + 600,0)
    
    set data = slotdata.create()
    
    set data.slotlink = d
    set data.equipmentslot = "Drop"
    call SetIntegerData(tk,"StructLink",data)
    
    set t = CreateTrigger()
    call TriggerRegisterTrackableHitEvent(t, tk)
    call TriggerAddAction(t,function ClickHandler)
   
    set t = CreateTrigger()
    call TriggerRegisterTrackableTrackEvent(t,tk)
    call TriggerAddAction(t,function HoverHandler)
    
    //========================================================================
    //Create Exit Button
    set d = CreateDestructable('B00Q',x + 1200,y + 500,0,1.0,1)
    set tk = CreateTrackable("square.mdx",x + 1200,y + 500,0)
    
    set data = slotdata.create()
    
    set data.slotlink = d
    set data.equipmentslot = "Exit"
    call SetIntegerData(tk,"StructLink",data)
    
    set t = CreateTrigger()
    call TriggerRegisterTrackableHitEvent(t, tk)
    call TriggerAddAction(t,function ClickHandler)
   
    set t = CreateTrigger()
    call TriggerRegisterTrackableTrackEvent(t,tk)
    call TriggerAddAction(t,function HoverHandler)
    
    set tk = null
    set d = null
    set t = null
endfunction


//============================================================================
function Trig_InventorySystem_Actions takes nothing returns nothing    
    call CreateInventory()
    call CreateEquipment()
endfunction
//============================================================================
//============================================================================
function InitTrig_InventorySystem takes nothing returns nothing

    set udg_pickuptrigger = CreateTrigger()
    call TriggerRegisterPlayerUnitEvent(udg_pickuptrigger,Player(0),EVENT_PLAYER_UNIT_PICKUP_ITEM,null)
    call TriggerAddAction(udg_pickuptrigger,function PickUpItem)
    
    set gg_trg_InventorySystem = CreateTrigger()
    call TriggerAddAction(gg_trg_InventorySystem,function Trig_InventorySystem_Actions)
endfunction


and heres the Function library
Code:
library INVFUNCTIONS requires MAPINIT
//=============================================================================================
//Selected Effekt
function CreateEffekt takes trackable tk returns nothing
    local destructable selector
    local slotdata data = GetIntegerData(tk,"StructLink")
    local slotdata dataold = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    //Nothing Selected
    if GetIntegerData(Player(0),"EffectAktive") == 0 then
        set selector = CreateDestructable('B000',GetDestructableX(data.slotlink),GetDestructableY(data.slotlink),0,1.0,1)
        call SetIntegerData(Player(0),"EffectAktive",1)
        call SetIntegerData(Player(0),"ClickCache",H2I(tk))
        set data.effectlink = selector 
    //Same Object Selected again(deselect)    
    elseif GetIntegerData(Player(0),"EffectAktive") == 1 and H2I(tk) == GetIntegerData(Player(0),"ClickCache")then
        call RemoveDestructable(data.effectlink)
        call SetIntegerData(Player(0),"EffectAktive",0)
        call SetIntegerData(Player(0),"ClickCache",0)
        set data.effectlink = null
    //Something Selected and New Selected Object!= Selected Object in Cache    
    elseif GetIntegerData(Player(0),"EffectAktive") == 1 and H2I(tk) != GetIntegerData(Player(0),"ClickCache") then
        set selector = CreateDestructable('B000',GetDestructableX(data.slotlink),GetDestructableY(data.slotlink),0,1.0,1)
        call RemoveDestructable(dataold.effectlink)
        call SetIntegerData(Player(0),"ClickCache",H2I(tk))
        set dataold.effectlink = null
        set data.effectlink = selector 
    endif    
    set selector = null
endfunction




function IsItemInInventory takes integer searching returns integer
    local slotdata data
    local trackable tk   
    local integer index = 1
    local integer amount = 0
    
    loop
        exitwhen index > udg_gui_inventarsize
        set tk = I2TK(GetIntegerData(Player(0),"Slot"+I2S(index)))        
        set data = GetIntegerData(tk,"StructLink")
        
        if data.itemid == searching then
            set amount = amount +1
        endif
        set index = index +1
    endloop
    set tk = null
    return amount
endfunction



//=============================================================================================
//Exchanging Items
function ExchangeItems takes trackable tk returns nothing
    local slotdata datanew = GetIntegerData(tk,"StructLink")
    local slotdata dataold = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    local destructable dnew = datanew.slotlink
    local destructable dold = dataold.slotlink
      
    //Exchange Destrutables
    set datanew.slotlink = CreateDestructable(dataold.slotid,GetDestructableX(dnew),GetDestructableY(dnew),0,1.0,1)
    set dataold.slotlink = CreateDestructable(datanew.slotid,GetDestructableX(dold),GetDestructableY(dold),0,1.0,1)
    call RemoveDestructable(dnew)
    call RemoveDestructable(dold)
    
    //Exchange Trackable Database
    set datanew.ocupied = true
    set dataold.ocupied = false
    set datanew.slotid = dataold.slotid
    set dataold.slotid = udg_gui_emptyinv
    set datanew.itemid = dataold.itemid
    set dataold.itemid = 0
    set datanew.equipable = dataold.equipable
    set dataold.equipable = false
    
    //Remove Effect
    call RemoveDestructable(dataold.effectlink)
    set dataold.effectlink = null
    call SetIntegerData(Player(0),"EffectAktive",0)
    call SetIntegerData(Player(0),"ClickCache",0)
    
    set dnew = null
    set dold = null
endfunction


//============================================================================
//Equip Item
function EquipItem takes trackable tk,itemdata idata  returns nothing
    local slotdata datanew = GetIntegerData(tk,"StructLink")
    local slotdata dataold = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    local destructable dnew = datanew.slotlink
    local destructable dold = dataold.slotlink
    
    set datanew.slotlink = CreateDestructable(dataold.slotid,GetDestructableX(dnew),GetDestructableY(dnew),0,1.2,1)
    set dataold.slotlink = CreateDestructable(udg_gui_emptyinv,GetDestructableX(dold),GetDestructableY(dold),0,1.0,1)
    call RemoveDestructable(dnew)
    call RemoveDestructable(dold)
    
    //Exchange Trackable Database
    set datanew.ocupied = true
    set dataold.ocupied = false
    set dataold.slotid = udg_gui_emptyinv
    set datanew.itemid = dataold.itemid
    set datanew.inequipmentslot = true
    set dataold.itemid = 0
    set dataold.equipable = false
    
    
    //Remove Effect
    call RemoveDestructable(dataold.effectlink)
    set dataold.effectlink = null
    call SetIntegerData(Player(0),"EffectAktive",0)
    call SetIntegerData(Player(0),"ClickCache",0)
    
    set dnew = null
    set dold = null
    call ExecuteFunc(idata.equipfunction)
endfunction
//============================================================================
//Unequip Item
function UnequipItem takes trackable tk returns nothing
    local slotdata datanew = GetIntegerData(tk,"StructLink")
    local slotdata dataold = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    local itemdata idata = GetIntegerData(Player(0),I2S(dataold.itemid))
    local destructable dnew = datanew.slotlink
    local destructable dold = dataold.slotlink
    
    set datanew.slotlink = CreateDestructable(idata.did,GetDestructableX(dnew),GetDestructableY(dnew),0,1.0,1)
    set dataold.slotlink = CreateDestructable(dataold.slotid,GetDestructableX(dold),GetDestructableY(dold),0,1.2,1)
    call RemoveDestructable(dnew)
    call RemoveDestructable(dold)
    
    //Exchange Trackable Database
    set datanew.ocupied = true
    set dataold.ocupied = false
    set datanew.slotid = idata.did
    set datanew.itemid = dataold.itemid
    set dataold.inequipmentslot = false
    set dataold.itemid = 0
    set datanew.equipable = true
    
    //Remove Effect
    call RemoveDestructable(dataold.effectlink)
    set dataold.effectlink = null
    call SetIntegerData(Player(0),"EffectAktive",0)
    call SetIntegerData(Player(0),"ClickCache",0)
    
    set dnew = null
    set dold = null
    call ExecuteFunc(idata.unequipfunction)
endfunction


//Quickslot Actions
function QuickslotFill takes trackable tk returns nothing
    local slotdata datanew = GetIntegerData(tk,"StructLink")
    local slotdata dataold = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    local destructable dnew = datanew.slotlink
    local destructable dold = dataold.slotlink
    
    set datanew.slotlink = CreateDestructable(dataold.slotid,GetDestructableX(dnew),GetDestructableY(dnew),0,1.2,1)
    set dataold.slotlink = CreateDestructable('B00S',GetDestructableX(dold),GetDestructableY(dold),0,1.0,1)
    call RemoveDestructable(dnew)
    call RemoveDestructable(dold)
    
    //Exchange Trackable Database
    set datanew.ocupied = true
    set dataold.ocupied = false
    set dataold.slotid = 'B00S'
    set datanew.itemid = dataold.itemid
    set dataold.itemid = 0
    
    //Remove Effect
    call RemoveDestructable(dataold.effectlink)
    set dataold.effectlink = null
    call SetIntegerData(Player(0),"EffectAktive",0)
    call SetIntegerData(Player(0),"ClickCache",0)
    
    set dnew = null
    set dold = null
endfunction


//=============================================================================
//Drop Item 
function DropItem takes trackable tk returns nothing
    local slotdata cachedata = GetIntegerData(I2TK(GetIntegerData(Player(0),"ClickCache")),"StructLink")
    local destructable d = cachedata.slotlink
    local itemdata idata = GetIntegerData(Player(0),I2S(cachedata.itemid))
    local location loc = GetUnitLoc(udg_playerhero)
    
    
    set cachedata.slotlink = CreateDestructable(udg_gui_emptyinv,GetDestructableX(d),GetDestructableY(d),0,1.0,1)
    call RemoveDestructable(d)
    
    call CreateItem(cachedata.itemid,GetLocationX(loc),GetLocationY(loc))
      
    set cachedata.ocupied = false
    set cachedata.slotid = udg_gui_emptyinv
    set cachedata.itemid = 0
    set cachedata.equipable = false
    
    //Remove Effect
    call RemoveDestructable(cachedata.effectlink)
    set cachedata.effectlink = null
    call SetIntegerData(Player(0),"EffectAktive",0)
    call SetIntegerData(Player(0),"ClickCache",0)
    
    
    call RemoveLocation(loc)
    set d = null
    set loc = null
endfunction


//==================================================================================
//Exit Inventory
function ExitInventory takes nothing returns nothing
    call SetCameraBoundsToRect(bj_mapInitialCameraBounds)
    call DisableTrigger(udg_gui_inventorycameralock)
    call EnableTrigger(udg_cam_firstperson)
    call SetCameraTargetController(udg_playerhero,0,0,false)
    call MultiboardDisplay(udg_heroboard,true)
    call MultiboardMinimize(udg_heroboard,true)
endfunction



//============================================================================
//Pick up Item Handler
function PickUpItem takes nothing returns nothing
    local slotdata data
    local itemdata idata
    local item it = GetManipulatedItem()
    local trackable tk   
    local destructable ditem
    local destructable dempty      
    local integer index = 1
    local boolean flag = false
    
    set idata = GetIntegerData(Player(0),I2S(GetItemTypeId(it)))
    
    if idata.equipmenttyp == "Quest" then
        if IsTriggerEnabled(udg_wolfquesttrigger[2]) then 
            set it = null
            set ditem = null
            set dempty = null
            set tk = null
            return
        endif
    endif
    if GetItemTypeId(it) == 'I00E' then
            set it = null
            set ditem = null
            set dempty = null
            set tk = null
            return
    endif
    
    
    if GetItemType(it) != ITEM_TYPE_POWERUP then  
    loop
        exitwhen index > udg_gui_inventarsize or flag
        set tk = I2TK(GetIntegerData(Player(0),"Slot"+I2S(index)))        
        set data = GetIntegerData(tk,"StructLink")
        
        if not data.ocupied and index <= udg_gui_inventarsize then                        
            set dempty = data.slotlink
            set ditem = CreateDestructable(idata.did,GetDestructableX(dempty),GetDestructableY(dempty),0,1.0,1)
           
            call RemoveDestructable(dempty)
            
            set data.slotlink = ditem
            set data.itemid = GetItemTypeId(it)
            set data.slotid = idata.did
            set data.ocupied = true
            
            if GetItemType(it) == ITEM_TYPE_PERMANENT then
                set data.equipable = true
            endif
            
            call RemoveItem(it)
            set flag = true
        endif
        set index = index+1
    endloop
    endif
    
    
    if index > udg_gui_inventarsize then
        call BJDebugMsg("GUI Inventory full")
    //Hier muss noch abgefangen werden, das der Held das Item trotzdem aufnimmt
    endif
    
    set it = null
    set ditem = null
    set dempty = null
    set tk = null
endfunction


//===========================================================================
function InitTrig_InventoryFunctions takes nothing returns nothing
endfunction
endlibrary

Its not perfect but works fine for me "STEAL" it if you want, I give a fuck.


PS:
Naruto theme cancelled.Comic modells removed, story changed, could someone rename the thread please to:

RECRUITMENT FOR SINGLEPLAYER RPG

I will change the InfoPost later
05-12-2008, 12:03 PM#9
darkwulfv
Dude, relax.
Quote:
Originally Posted by Me
Unless you can prove you coded the entire thing
And look at that! You did. But what are we supposed to think when we see a screenshot that looks almost precisely like a pre-made system, and then see "I coded the entire inventory system myself". We click towards "could be stolen". But you coded yours, so you're fine.
05-12-2008, 12:11 PM#10
TDR
Quote:
Originally Posted by BOFH
PS:
Naruto theme cancelled.Comic modells removed, story changed, could someone rename the thread please to:

RECRUITMENT FOR SINGLEPLAYER RPG

I will change the InfoPost later
YES! Hope is not lost after all :D. I wish you all the best with your project now (I really do).
05-12-2008, 12:46 PM#11
BOFH
I allready calmed down... and I apologize for the offensive post.

But please understand that this was a lot of work, and i got kind of upset
when you all thought I stole it.
It was my first "bigger" skript in Jass.


This layout is the best I could imagine, Inventory in the middle an the Equipmentslots on both sides.
Quickslots are half ready i would say.
Equiping, unequiping works fine.

Hope taking those Icons is not punished by its creators, but I didnt found others and I cant make some myself.


Im still looking for teammembers to help me with my project
If you want to, mail me or post here and tell me what your abilitys are.

mfg. BOFH
05-12-2008, 07:46 PM#12
darkwulfv
Just make sure you give full, proper credits and I'm sure they won't mind.
07-02-2008, 02:49 AM#13
D.V.D
Somehow this map looks very similar too TKOK. The item system is very simialr and the inventory for getting stats and talketc is exactly the same. Did you hack The Kingdom Of Kaliron?
----------------------------------------------------------------------------
Want to help make a rpg? Here' a link to one I started:http://www.thehelper.net/forums/showthread.php?t=98663
07-02-2008, 06:11 AM#14
Ahougui
Quote:
Originally Posted by D.V.D
Somehow this map looks very similar too TKOK. The item system is very simialr and the inventory for getting stats and talketc is exactly the same. Did you hack The Kingdom Of Kaliron?

Read the above posts. . ., and TKoK is using TC (Toadcop) inventory system, with his own modifications but the base was made by TC which is for download/use.

The stat system is the made by Vexen, i believe. (the one in TKoK)