Litro Endemic Posted September 9, 2018 Posted September 9, 2018 (edited) setting mob size with setunitdata isn't working or I have make mistake in this script? prontera,150,150,0 script Mob Control 112,{ mes "input mob id"; input .@mob_id; if (getmonsterinfo(.@mob_id,MOB_NAME) == "null") { mes "monster didn't exist"; close; } monster(strnpcinfo(4),152,148,"Controlled Mob",.@mob_id,1,strnpcinfo(0)+"::OnMobKilled"); copyarray .gid[0], $@mobid[0], getarraysize($@mobid); .@size = getarraysize(.gid); //dispbottom ""+.@size; getunitdata(.gid[0],.@data); setunitdata .gid[0],UMOB_MODE, .@data[UMOB_MODE]|MD_NORANDOM_WALK; setarray .@size2, Size_Small, Size_Medium, Size_Large; .@rand = rand(getarraysize(.@size2)); setunitdata .gid[0], UMOB_SIZE, 0; //for (.@i = 0; .@i < .@size; .@i++) // dispbottom "Mob "+.@i+" ~ GID: "+.gid[.@i]; initnpctimer; end; OnTimer10000: if(unitexists(.gid[0])) { getunitdata(.gid[0],.@data); setarray .@size2, Size_Small, Size_Medium, Size_Large; .@rand = rand(getarraysize(.@size2)); setunitdata .gid[0], UMOB_SIZE, .@size2[.@rand]; setunitdata .gid[0], UMOB_LEVEL, .level++; unittalk .gid[0],"Size: "+.@size2[.@rand]+" ~ Level: "+.level; } initnpctimer; end; } Edited September 10, 2018 by Litro Endemic Quote
0 Start_ Posted September 10, 2018 Posted September 10, 2018 (edited) Your scripts is working fine. I've added OnMobKilled Event to prevent error from killing it. prontera,150,150,0 script Mob Control 112,{ mes "input mob id"; input .@mob_id; if (getmonsterinfo(.@mob_id,MOB_NAME)=="null"){ mes "monster didn't exist"; close; } close2; monster(strnpcinfo(4),152,148,"Controlled Mob",.@mob_id,1,strnpcinfo(0)+"::OnMobKilled"); copyarray .gid[0],$@mobid[0],getarraysize($@mobid); .@size=getarraysize(.gid); //dispbottom "Size: "+.@size; getunitdata(.gid[0],.@data); setunitdata .gid[0],UMOB_MODE,.@data[UMOB_MODE]|MD_NORANDOM_WALK; setarray .@size2,Size_Small,Size_Medium,Size_Large; .@rand=rand(getarraysize(.@size2)); setunitdata .gid[0],UMOB_SIZE,0; //for(.@i=0;.@i<.@size;.@i++) //dispbottom "Mob: "+.@i+" ~ GID: "+.gid[.@i]; initnpctimer; end; OnTimer1000: if(unitexists(.gid[0])){ getunitdata(.gid[0],.@data); setarray .@size2,Size_Small,Size_Medium,Size_Large; .@rand = rand(getarraysize(.@size2)); setunitdata .gid[0],UMOB_SIZE,.@size2[.@rand]; setunitdata .gid[0],UMOB_LEVEL,.level++; unittalk .gid[0],"Size: "+.@size2[.@rand]+" ~ Level: "+.level; } initnpctimer; end; OnMobKilled: end; } Edited September 10, 2018 by TARTs 1 Quote
0 Litro Endemic Posted September 10, 2018 Author Posted September 10, 2018 is monster spawned changed his level or size display? in my case it didn't Quote
0 Start_ Posted September 10, 2018 Posted September 10, 2018 prontera,152,150,0 script M2 112,{ monster "prontera",150,154,"Test",1002,10,strnpcinfo(0)+"::OnMobKilled",Size_Large; end; OnMobKilled: end; } Size display you need to use another command. Size in db is variable. Quote
Question
Litro Endemic
setting mob size with setunitdata isn't working or I have make mistake in this script?
prontera,150,150,0 script Mob Control 112,{ mes "input mob id"; input .@mob_id; if (getmonsterinfo(.@mob_id,MOB_NAME) == "null") { mes "monster didn't exist"; close; } monster(strnpcinfo(4),152,148,"Controlled Mob",.@mob_id,1,strnpcinfo(0)+"::OnMobKilled"); copyarray .gid[0], $@mobid[0], getarraysize($@mobid); .@size = getarraysize(.gid); //dispbottom ""+.@size; getunitdata(.gid[0],.@data); setunitdata .gid[0],UMOB_MODE, .@data[UMOB_MODE]|MD_NORANDOM_WALK; setarray .@size2, Size_Small, Size_Medium, Size_Large; .@rand = rand(getarraysize(.@size2)); setunitdata .gid[0], UMOB_SIZE, 0; //for (.@i = 0; .@i < .@size; .@i++) // dispbottom "Mob "+.@i+" ~ GID: "+.gid[.@i]; initnpctimer; end; OnTimer10000: if(unitexists(.gid[0])) { getunitdata(.gid[0],.@data); setarray .@size2, Size_Small, Size_Medium, Size_Large; .@rand = rand(getarraysize(.@size2)); setunitdata .gid[0], UMOB_SIZE, .@size2[.@rand]; setunitdata .gid[0], UMOB_LEVEL, .level++; unittalk .gid[0],"Size: "+.@size2[.@rand]+" ~ Level: "+.level; } initnpctimer; end; }
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.