Difference between revisions of "Script: Find"
From Ultima Online: The Second Age
Line 135: | Line 135: | ||
<span style="color:#0000FF">return</span> (0x00); | <span style="color:#0000FF">return</span> (0x00); | ||
} | } | ||
− | <span style="color:#0000FF">if</span> (text == <span style="color:#800000">" | + | <span style="color:#0000FF">if</span> (text == <span style="color:#800000">"scan"</span>) |
{ | { | ||
− | [[ | + | [[Script Function:_scan|<span style="color:#2B91AF">scan</span>]](); |
[[Engine Function:_systemMessage|<span style="color:#FF0000;font-weight:bold">systemMessage</span>]](sender, <span style="color:#800000">""</span> + Q5E0 + <span style="color:#800000">" matching mobiles were found."</span>); | [[Engine Function:_systemMessage|<span style="color:#FF0000;font-weight:bold">systemMessage</span>]](sender, <span style="color:#800000">""</span> + Q5E0 + <span style="color:#800000">" matching mobiles were found."</span>); | ||
<span style="color:#0000FF">return</span> (0x00); | <span style="color:#0000FF">return</span> (0x00); |
Latest revision as of 16:54, 19 October 2018
member list Q4QN; member int Q5E0;
function int Q4P7(list Q57R) { int Q5T8 = numInList(Q57R); if (hasObjVar(this, "findScript")) { int Q5VU = Q5T8; Q5T8 = 0x00; string Q5OM = getObjVar(this, "findScript"); for(int i = 0x00; i < Q5VU; i++) { obj Q57Q = Q57R[0x00]; removeItem(Q57R, 0x00); if (hasScript(Q57Q, Q5OM)) { Q5T8++; append(Q57R, Q57Q); } } } if (hasObjVar(this, "findTemplate")) { Q5VU = Q5T8; Q5T8 = 0x00; int Q5ZB = getObjVar(this, "findTemplate"); for(i = 0x00; i < Q5VU; i++) { Q57Q = Q57R[0x00]; removeItem(Q57R, 0x00); if (getTemplate(Q57Q) == Q5ZB) { Q5T8++; append(Q57R, Q57Q); } } } if (hasObjVar(this, "findObjVarInt")) { Q5VU = Q5T8; Q5T8 = 0x00; string Q5FA = getObjVar(this, "findObjVarInt"); int Q578 = getObjVar(this, "minValue"); int Q568 = getObjVar(this, "maxValue"); for(i = 0x00; i < Q5VU; i++) { Q57Q = Q57R[0x00]; removeItem(Q57R, 0x00); if (hasObjVar(Q57Q, Q5FA)) { int val = getObjVar(Q57Q, Q5FA); if ((val >= Q578) && (val <= Q568)) { Q5T8++; append(Q57R, Q57Q); } } } } if (hasObjVar(this, "findObjVarObj")) { Q5VU = Q5T8; Q5T8 = 0x00; Q5FA = getObjVar(this, "findObjVarObj"); obj Q5F9 = getObjVar(this, "objValue"); for(i = 0x00; i < Q5VU; i++) { Q57Q = Q57R[0x00]; removeItem(Q57R, 0x00); if (hasObjVar(Q57Q, Q5FA)) { if (Q5F9 == getObjVar(Q57Q, Q5FA)) { Q5T8++; append(Q57R, Q57Q); } } } } if (hasObjVar(this, "findFame")) { Q5VU = Q5T8; Q5T8 = 0x00; int Q4OW = getObjVar(this, "findFame"); for(i = 0x00; i < Q5VU; i++) { Q57Q = Q57R[0x00]; removeItem(Q57R, 0x00); if (getFame(Q57Q) >= Q4OW) { Q5T8++; append(Q57R, Q57Q); } } } return (Q5T8); }
function void scan() { clearList(Q4QN); if (hasObjVar(this, "findMobiles")) { getMobsInRange(Q4QN, getLocation(this), 0x1388); } else { if (hasObjVar(this, "findPlayers")) { getPlayersInRange(Q4QN, getLocation(this), 0x1388); } } Q5E0 = Q4P7(Q4QN); return (); }
trigger use { if (!isEditing(user)) { systemMessage(user, "This is a GM only tool."); return (0x01); } systemMessage(user, "Enter a search command:"); textEntry(this, user, 0x029A, 0x00, "Enter a search command:"); return (0x01); }
trigger textentry(0x029A) { if (!isEditing(sender)) { systemMessage(sender, "This is a GM only tool."); return (0x00); } if (text == "scan") { scan(); systemMessage(sender, "" + Q5E0 + " matching mobiles were found."); return (0x00); } int Q5FR = text; if ((Q5FR < 0x00) || (Q5FR >= Q5E0)) { systemMessage(sender, "Invalid mobile"); return (0x00); } int Q4Q1 = teleport(sender, getLocation(Q4QN[Q5FR])); return (0x00); }