dudeim
New Member
- Reaction score
- 22
Hey,
I got a little problem with initializing the struct I have
Here is the script:
So how can I link each array value to a specific player as I also have a few methods in a module linked to this.
So I want to be able to do something like:
this is the giveGold method:
So how would I do this?
Thanks!
I got a little problem with initializing the struct I have
Here is the script:
JASS:
library PlayerData
struct Playor extends array //using Playor as player is a var type and Player is a function
player ThisPlayer
implement PlayerInfo
static method operator [] takes player p returns thistype
return GetPlayerId(p)
endmethod
static method operator []= takes player p, thistype this returns nothing
set Playor[p] = this
endmethod
static method get takes player p returns thistype
return Playor[p]
endmethod
method onCreate takes nothing returns nothing
// I think I need to input something here to link an array value to a specific player but don't know what<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite7" alt=":p" title="Stick Out Tongue :p" loading="lazy" data-shortname=":p" />
endmethod
endstruct
endlibrary
So how can I link each array value to a specific player as I also have a few methods in a module linked to this.
So I want to be able to do something like:
JASS:
function a takes nothing returns nothing
local Playor p = Playor[GetTriggerPlayer()]
call p.giveGold(500) //this would give the triggering player 500 gold
endfunction
this is the giveGold method:
JASS:
method giveGold takes integer gold returns nothing
call SetPlayerState(.ThisPlayer, PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(.ThisPlayer, PLAYER_STATE_RESOURCE_GOLD) + gold)
endmethod
So how would I do this?
Thanks!