function PedsPrepareConversation(ped1,ped2,distance,walkSpeed)
PlayerSetPunishmentPoints(0)
if PedGetWeapon(gPlayer) == 437 then
PedSetWeapon(gPlayer,-1)
end
if PedIsInAnyVehicle(gPlayer) then
PedWarpOutOfCar(gPlayer)
end
PedStop(ped2)
local x,y,z = PedGetPosXYZ(ped2)
PedMoveToXYZ(ped1,walkSpeed,x,y,z)
local r1 = x + distance
local r2 = y + distance
local r3 = x - distance
local r4 = y - distance
x,y,z = PedGetPosXYZ(ped1)
PedFaceXYZ(ped2,x,y,z)
repeat
Wait(0)
until PedInRectangle(ped1,r1,r2,r3,r4)
PedStop(ped1)
x,y,z = PedGetPosXYZ(ped2)
PedFaceXYZ(ped1,x,y,z)
x,y,z = PedGetPosXYZ(ped1)
PedFaceXYZ(ped2,x,y,z)
end
我在Lua編程,在變量聲明時我有點困惑。由於「局部」已經在x,y,z的一個實例上聲明,然後x,y,z的另一個實例在下面進行了聲明,這是否意味着它們是不同的變量或它們是否相同?Lua - 如果局部x,y,z和x,y,z已被聲明,它們是相同還是不同?
謝謝。
謝謝你清理它:-)。 –
我想問問爲什麼你添加了兩個do-ends,但是你爲什麼要這樣做?如果你離開它會有所作爲嗎? –
do-end對創建一個新的範圍。由於x,y,z是局部的,它們在它們被創建的do-end對中是局部的,並且一旦我們到達結束對,它們就會變成垃圾。 – ryanpattison