pashanizm
2023-10-24 03:27:09
Bu işlev, bir konsol komutuna bir komut dosyası oluşturma işlevi (işleyici) ekleyecektir, böylece bir oynatıcı veya yönetici komutu kullandığında işlev çağrılır. Tek bir komuta birden fazla komut işleyicisi eklenebilir ve bunlar, işleyicilerin eklenme sırasına göre çağrılacaktır. Aynı şekilde, tek bir işlev tarafından birden çok komut işlenebilir ve eylemin gidişatına karar vermek için commandName parametresi kullanılır.
Eklenen komut, oyuncunun konsolundan veya mesajın önüne eğik çizgi (/) konularak doğrudan sohbet kutusundan tetiklenebilir. Sunucu tarafı işleyicileri için, sunucu yöneticisi bunları bir oyuncunun konsolundan tetiklendiği gibi doğrudan sunucunun konsolundan da tetikleyebilir.
Not: Komut adı olarak "check", "list" veya "test" kullanamazsınız.
Gerekli Argümanlar;
commandName: Bu, işleyici eklemek istediğiniz komutun adıdır. İşlevi tetiklemek için konsola yazılması gereken şey budur.
handlerFunction: Bu, işleyiciyi eklemeden önce tanımlanması gereken, komutun tetiklemesini istediğiniz işlevdir. Bu işlev, playerSource ve commandName olmak üzere iki parametre alabilir ve ardından komutunuzdan sonra beklediğiniz sayıda parametre alabilir. Bunların hepsi isteğe bağlıdır.
Örnek bir fonksiyon;
-- Bu komutu işleyecek fonksiyonumuzu tanımlayın
function consoleCreateMarker ( playerSource, commandName )
-- If a player triggered it (rather than the admin) then
if ( playerSource ) then
-- Oyuncunun pozisyonunu al
local x, y, z = getElementPosition ( playerSource )
-- Konumlarında 2 boyutlu, kırmızı bir kontrol noktası işaretçisi oluşturun
createMarker ( x, y, z, "checkpoint", 2, 255, 0, 0, 255 )
-- Bunu sohbet kutusuna aktar
outputChatBox ( "You got a red marker", playerSource )
end
end
-- 'consoleCreateMarker' işlevini "createmarker" komutuna ekleyin
addCommandHandler ( "createmarker", consoleCreateMarker )