There:
Code
DB_DialogCheckRemoveMoney(1,"fron_master_tracker",100,"fron_master_tracker_100");
DB_DialogCheckRemoveMoney(1,"fron_master_tracker",1000,"fron_master_tracker_1000");
DB_DialogCheckRemoveMoney(1,"fron_master_tracker",5000,"fron_master_tracker_5000");

DB_DialogCheckRemoveMoney(1,"fron_master_survivalist",50,"fron_master_survivalist_50");
DB_DialogCheckRemoveMoney(1,"fron_master_survivalist",500,"fron_master_survivalist_500");
DB_DialogCheckRemoveMoney(1,"fron_master_survivalist",2000,"fron_master_survivalist_2000");


DB_TransfertPayment("transfert_payment_50",-50);
DB_TransfertPayment("transfert_payment_100",-100);
DB_TransfertPayment("transfert_payment_500",-500);
DB_TransfertPayment("transfert_payment_1000",-1000);
DB_TransfertPayment("transfert_payment_2000",-2000);
DB_TransfertPayment("transfert_payment_5000",-5000);

IF
DB_DialogCheckRemoveMoney(_num,_dialog,_goldvalue,_flagtocheck)
AND
ObjectFlagSet(_flagtocheck,_Player,_dialogueID)
AND
CharacterGetGold((CHARACTERGUID)_Player,_count)
AND
_count>=_goldvalue
THEN
ObjectSetFlag((CHARACTERGUID)_Player,"node_authorized");



IF
DB_TransfertPayment(_Flag,_Amount)
AND
ObjectFlagSet(_Flag,_Player,_dialogueID)
THEN
CharacterAddGold((CHARACTERGUID)_Player,_Amount);
//ObjectClearFlag(_Player,"node_authorized");


I checked the dialogue, an issue was that, indeed, I wasn't waiting for a frame.
But then I got lost with all the flags I need to check and set and remove and stuff, the questions, answers, and stuff, just to have a 3 choice dialogue node appear.
GODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD this is so unbelievable. And I am sure that when we got an explanation or whatever, it will be so simple...

I have other things to work on. My butchering and skinning scripts, for example:
This is how the butchering script looks like:
Code
INIT
	CHARACTER:__Me
	EXTERN ITEMTEMPLATE:%item_1=null
	EXTERN INT:%chance_item_1=-1.0
	EXTERN ITEMTEMPLATE:%item_2=null
	EXTERN INT:%chance_item_2=-1.0
	EXTERN ITEMTEMPLATE:%item_3=null
	EXTERN INT:%chance_item_3=-1.0
	EXTERN ITEMTEMPLATE:%item_4=null
	EXTERN INT:%chance_item_4=-1.0
	EXTERN ITEMTEMPLATE:%item_5=null
	EXTERN INT:%chance_item_5=-1.0
	EXTERN ITEMTEMPLATE:%item_6=null
	EXTERN INT:%chance_item_6=-1.0
	EXTERN ITEMTEMPLATE:%item_7=null
	EXTERN INT:%chance_item_7=-1.0
	EXTERN ITEMTEMPLATE:%item_8=null
	EXTERN INT:%chance_item_8=-1.0
	EXTERN ITEMTEMPLATE:%item_9=null
	EXTERN INT:%chance_item_9=-1.0
	EXTERN ITEMTEMPLATE:%item_10=null
	EXTERN INT:%chance_item_10=-1.0


	EXTERN STRING:%novice_skill=null
	EXTERN STRING:%companion_skill=null
	EXTERN STRING:%master_skill=null
	

	
EVENTS
EVENT InitCheckButchering
VARS 
	FLOAT:_ButcheringSkillMod

ON
	OnDie(__Me,_Dam,_Killer,_ItemFrom)
ACTIONS

	IF "c1"
	CharacterIsPlayer(_Killer)
	THEN
		Set(_ButcheringSkillMod,0.0)
		IF "c1"
		HasUserFlag(_Killer,%novice_skill)
		THEN
		Set(_ButcheringSkillMod,0.15)
		ELIF "c1"
		HasUserFlag(_Killer,%companion_skill)
		THEN
		Set(_ButcheringSkillMod,0.35)
		ELIF "c1"
		HasUserFlag(_Killer,%master_skill)
		THEN
		Set(_ButcheringSkillMod,0.70)
		ENDIF

		Add(%chance_item_1,_ButcheringSkillMod)
		Add(%chance_item_2,_ButcheringSkillMod)
		Add(%chance_item_3,_ButcheringSkillMod)
		Add(%chance_item_4,_ButcheringSkillMod)
		Add(%chance_item_5,_ButcheringSkillMod)
		Add(%chance_item_6,_ButcheringSkillMod)
		Add(%chance_item_7,_ButcheringSkillMod)
		Add(%chance_item_8,_ButcheringSkillMod)
		Add(%chance_item_9,_ButcheringSkillMod)
		Add(%chance_item_10,_ButcheringSkillMod)

		IF "c1"
		IsRandom(%chance_item_1)
		THEN
		CharacterAddToInventory(__Me,%item_1,1,0)
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_2)
		THEN 
		CharacterAddToInventory(__Me,%item_2,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_3)
		THEN 
		CharacterAddToInventory(__Me,%item_3,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_4)
		THEN 
		CharacterAddToInventory(__Me,%item_4,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_5)
		THEN 
		CharacterAddToInventory(__Me,%item_5,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_6)
		THEN 
		CharacterAddToInventory(__Me,%item_6,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_7)
		THEN 
		CharacterAddToInventory(__Me,%item_7,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_8)
		THEN 
		CharacterAddToInventory(__Me,%item_8,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_9)
		THEN 
		CharacterAddToInventory(__Me,%item_9,1,0) 
		ENDIF
		
		IF "c1"
		IsRandom(%chance_item_10)
		THEN 
		CharacterAddToInventory(__Me,%item_10,1,0) 
		ENDIF
ENDIF

I still need to validate it.
As you can see, I need to learn how to use lists, because right now, this is such a pain. Anyways, I am in a learning process, but I have to admit, it is really painful so far, with lots of setbacks...



Last edited by Cromcrom; 09/10/17 02:22 PM.

Un chemin de 1000 lieues commence par un premier pas.

Project:
Steam workshop Frontiere