Litro Endemic Posted September 9, 2018 Group: Members Topic Count: 25 Topics Per Day: 0.01 Content Count: 283 Reputation: 79 Joined: 06/13/13 Last Seen: June 7, 2023 Share 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 Link to comment Share on other sites More sharing options...
0 Start_ Posted September 10, 2018 Group: Members Topic Count: 26 Topics Per Day: 0.01 Content Count: 950 Reputation: 180 Joined: 04/05/13 Last Seen: Yesterday at 02:57 AM Share 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 Link to comment Share on other sites More sharing options...
0 Litro Endemic Posted September 10, 2018 Group: Members Topic Count: 25 Topics Per Day: 0.01 Content Count: 283 Reputation: 79 Joined: 06/13/13 Last Seen: June 7, 2023 Author Share Posted September 10, 2018 is monster spawned changed his level or size display? in my case it didn't Quote Link to comment Share on other sites More sharing options...
0 Start_ Posted September 10, 2018 Group: Members Topic Count: 26 Topics Per Day: 0.01 Content Count: 950 Reputation: 180 Joined: 04/05/13 Last Seen: Yesterday at 02:57 AM Share 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 Link to comment Share on other sites More sharing options...
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; }
Link to comment
Share on other sites
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.