Article - Fonctions liées au rustinage du GC (Gamecache)

Voilà une liste des fonctions qui seront très souvent utilisées lorsque l'on manipulera des données à l'aide du GC.

La plus importante pour commencer, elle permet de récupérer sous forme d'entier l'adresse de n'importe quel variable (sauf les types natifs: integer, real, code, string):

function H2I takes handle h returns integer
return h
return 0
endfunction

Les suivantes se construisent selon le modèle:

function H2<premieres_lettres_du_type> takes integer h returns <type_voulu>
return h
return null
endfunction

Et voilà une liste des types les plus utilisés:

function H2U takes integer h returns unit
return h
return null
endfunction

function H2E takes integer h returns effect
return h
return null
endfunction

function H2Lig takes integer h returns lightning
return h
return null
endfunction

function H2Loc takes integer h returns location
return h
return null
endfunction

function H2P takes integer h returns player
return h
return null
endfunction

function H2Tt takes integer h returns texttag
return h
return null
endfunction

function H2Tr takes integer h returns trigger
return h
return null
endfunction

function H2G takes integer h returns group
return h
return null
endfunction

Exemple de rappel:

function ExempleGC takes nothing returns nothing
	local unit Jp = Jean_Pierre
	local string m = H2I(I2S(Jp))		// On récupère l'adresse de Jean_pierre sous forme de chaîne
	local unit paul = Paul
	local integer id_paul = H2I(paul)	// On récupère l'identifiant unique de Paul
	local unit paul_le_retour = null

	call StoreInteger( udg_GC, m, "Paul", id_paul)			// On attache l'adresse de paul à Jean_Pierre
	set paul_le_retour =  H2U( GetInteger( udg_GC, m, "Paul") )	// On récupère l'adresse de paul et on le convertit en unité.
	call KillUnit(paul_le_retour)						// On tue Paul :(
endfunction