diff --git a/Export_Code/gml_Object_oClient_Alarm_11.gml b/Export_Code/gml_Object_oClient_Alarm_11.gml index 7b07c7c..7c96e84 100644 --- a/Export_Code/gml_Object_oClient_Alarm_11.gml +++ b/Export_Code/gml_Object_oClient_Alarm_11.gml @@ -1,4 +1,8 @@ -var size, type, alignment, bufferSize, result; +var size, type, alignment, bufferSize, result, playerState; +if instance_exists(oCharacter) + playerState = oCharacter.state +else + playerState = 0 buffer_delete(buffer) size = 1024 type = buffer_grow @@ -12,6 +16,7 @@ buffer_write(buffer, buffer_s16, posX) buffer_write(buffer, buffer_s16, posY) buffer_write(buffer, buffer_u8, global.sax) buffer_write(buffer, buffer_u8, global.spectator) +buffer_write(buffer, buffer_u8, playerState) bufferSize = buffer_tell(buffer) buffer_seek(buffer, buffer_seek_start, 0) buffer_write(buffer, buffer_s32, bufferSize) @@ -22,5 +27,6 @@ buffer_write(buffer, buffer_s16, posX) buffer_write(buffer, buffer_s16, posY) buffer_write(buffer, buffer_u8, global.sax) buffer_write(buffer, buffer_u8, global.spectator) +buffer_write(buffer, buffer_u8, playerState) result = network_send_packet(socket, buffer, buffer_tell(buffer)) alarm[11] = 20 diff --git a/Export_Code/gml_Object_oClient_Other_68.gml b/Export_Code/gml_Object_oClient_Other_68.gml index 6e0cafc..51575e8 100644 --- a/Export_Code/gml_Object_oClient_Other_68.gml +++ b/Export_Code/gml_Object_oClient_Other_68.gml @@ -1,4 +1,4 @@ -var type_event, _buffer, bufferSize, bufferSizePacket, clientID, findsocket, i, arrList, f, v, ban, clientX, clientY, clientSprite, clientImage, clientA1, clientA1X, clientA1Y, clientA2, clientA2X, clientA2Y, clientA2A, clientMirror, clientArmmsl, clientRoom, clientName, clientBlend, clientFXTimer, clientRoomPrev, clientState, clientSAX, clientSpeedboost, clientSJBall, clientSJDir, clientSpeedCharge, clientPlayerHealth, clientSpectator, clientInvincible, clientMosaic, clientReform, clientVisible, arr, indexValue, clientMapX, clientMapY, sax, spectator, arrPosData, find, event, playerHealth, missiles, smissiles, pbombs, playerhealth, ping, item, metdead, team, spacejump, screwattack, spiderball, speedbooster, bomb, ibeam, wbeam, pbeam, sbeam, cbeam, otherItemArr, IDCheck, tempArr, ID, checkBeam, checkMissile, checkDamage, checkFreeze, newTeam, saxmode, lobbyLocked, samCount, getGravity, receivedPasswordHash, size, type, alignment, result, _seed, monstersLeft, monstersArea, itemArr, metdeadArr, eventArr, tileCount, tileX, tileY, tileData, itemstaken, maxmissiles, maxsmissiles, maxpbombs, maxhealth, etanks, mtanks, stanks, ptanks, time, dir, sprX, sprY, charge, arrDraw, arrID, bombX, bombY, currentWeapon, missileX, missileY, velX, velY, icemissiles, pbombX, pbombY, syncDiff, str, syncELM, otherAbsorbRelativeX, otherAbsorbRelativeY, otherAbsorbSpriteHeight, mapposx, mapposy, mirror, sentRoom, playerX, playerY, resend, receivedItem, etankCount, stankCount, ptankCount, mtankCount, receivedEvent, receivedMetdead, countArea, countLeft, part, j, receiveddmap, damageMultStr, damageMult, experimental; +var type_event, _buffer, bufferSize, bufferSizePacket, clientID, findsocket, i, arrList, f, v, ban, clientX, clientY, clientSprite, clientImage, clientA1, clientA1X, clientA1Y, clientA2, clientA2X, clientA2Y, clientA2A, clientMirror, clientArmmsl, clientRoom, clientName, clientBlend, clientFXTimer, clientRoomPrev, clientState, clientSAX, clientSpeedboost, clientSJBall, clientSJDir, clientSpeedCharge, clientPlayerHealth, clientSpectator, clientInvincible, clientMosaic, clientReform, clientVisible, arr, indexValue, clientMapX, clientMapY, sax, spectator, arrPosData, find, event, playerHealth, missiles, smissiles, pbombs, playerhealth, ping, item, metdead, team, spacejump, screwattack, spiderball, speedbooster, bomb, ibeam, wbeam, pbeam, sbeam, cbeam, otherItemArr, IDCheck, tempArr, ID, checkBeam, checkMissile, checkDamage, checkFreeze, newTeam, saxmode, lobbyLocked, samCount, getGravity, receivedPasswordHash, size, type, alignment, result, _seed, monstersLeft, monstersArea, itemArr, metdeadArr, eventArr, tileCount, tileX, tileY, tileData, itemstaken, maxmissiles, maxsmissiles, maxpbombs, maxhealth, etanks, mtanks, stanks, ptanks, time, dir, sprX, sprY, charge, arrDraw, arrID, bombX, bombY, currentWeapon, missileX, missileY, velX, velY, icemissiles, pbombX, pbombY, syncDiff, str, syncELM, otherAbsorbRelativeX, otherAbsorbRelativeY, otherAbsorbSpriteHeight, mapposx, mapposy, mirror, sentRoom, playerX, playerY, resend, receivedItem, etankCount, stankCount, ptankCount, mtankCount, receivedEvent, receivedMetdead, countArea, countLeft, part, j, receiveddmap, damageMultStr, damageMult, experimental, playerState; disconnectTimer = 900 if (!global.acceptPacket) exit @@ -199,6 +199,7 @@ switch type_event clientMapY = buffer_read(_buffer, buffer_s16) sax = buffer_read(_buffer, buffer_u8) spectator = buffer_read(_buffer, buffer_u8) + playerState = buffer_read(_buffer, buffer_u8) findsocket = ds_list_find_index(roomList, clientID) if (clientRoom == room && global.clientID != clientID) sameRoom = 1 @@ -243,6 +244,7 @@ switch type_event arrPosData[3] = sax arrPosData[4] = clientRoom arrPosData[5] = spectator + arrPosData[6] = playerState for (v = 0; v < ds_list_size(posData); v++) { arr = ds_list_find_value(posData, v) @@ -262,6 +264,7 @@ switch type_event arrPosData[3] = sax arrPosData[4] = clientRoom arrPosData[5] = spectator + arrPosData[6] = playerState ds_list_add(posData, arrPosData) if (instance_exists(oMapCursor) && surface_exists(oSS_Control.s_map)) surface_free(oSS_Control.s_map) diff --git a/Export_Code/gml_Script_draw_gui.gml b/Export_Code/gml_Script_draw_gui.gml index 76089c9..9d7b975 100644 --- a/Export_Code/gml_Script_draw_gui.gml +++ b/Export_Code/gml_Script_draw_gui.gml @@ -1,4 +1,4 @@ -var scaleMult, f, arrList, ID, _x, _y, xoffNew, lowestPosX, lowestPosY, enemyCount, i, arrData, xDiff, yDiff, sax, spectator; +var scaleMult, f, arrList, ID, _x, _y, xoffNew, lowestPosX, lowestPosY, enemyCount, i, arrData, xDiff, yDiff, sax, spectator, playerState; if (global.classicmode == 0 && global.opshowhud) { xoff = 33 @@ -450,6 +450,12 @@ if (global.classicmode == 0 && global.opshowhud) yDiff = (oClient.posY - arrData[2]) sax = arrData[3] spectator = arrData[5] + playerState = arrData[6] + if (playerState == 27) + { + xDiff *= 2 + yDiff *= 2 + } if ((abs(xDiff) < lowestPosX || abs(yDiff) < lowestPosY) && sax != global.sax && ID != global.clientID) { if spectator @@ -514,6 +520,8 @@ if (global.classicmode == 0 && global.opshowhud) } } } + if (oCharacter.state == 27) + global.scannerSprite = 1883 if global.ophudshowmetrcount { if (global.saxmode && global.sax) @@ -547,6 +555,7 @@ if (global.classicmode == 0 && global.opshowhud) yDiff = (oClient.posY - arrData[2]) sax = arrData[3] spectator = arrData[5] + playerState = arrData[6] if global.spectator { if (!sax) @@ -562,10 +571,13 @@ if (global.classicmode == 0 && global.opshowhud) else if (abs(xDiff) <= 2 && abs(yDiff) <= 1) draw_sprite_ext(sMultitroidMapIconMiepee, 0, (((276 + widescreen_space) + 16) - (xDiff * 8)), (12 - (yDiff * 8)), 1, 1, direction, c_white, oControl.malpha) } - else if (abs(xDiff) <= 2 && abs(yDiff) <= 1) + else if (abs(xDiff) <= 2 && abs(yDiff) <= 1 && oCharacter.state != 27) { if ((!spectator) || sax) - draw_sprite_ext(oControl.MultitroidMapIcon, (arrData[0] - 1), (((276 + widescreen_space) + 16) - (xDiff * 8)), (12 - (yDiff * 8)), 1, 1, direction, c_white, oControl.malpha) + { + if (playerState != 27) + draw_sprite_ext(oControl.MultitroidMapIcon, (arrData[0] - 1), (((276 + widescreen_space) + 16) - (xDiff * 8)), (12 - (yDiff * 8)), 1, 1, direction, c_white, oControl.malpha) + } } } }