[YARDIM] F1 Dövüş ve Yürüyüş Stili Ekleme

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Selamlar.
F1 Panelime dövüş ve yürüyüş stili eklemeye çalıştım fakat elde ettiğim görüntü ;
Spoiler for Hiden:

fr_client ' e eklediğim kodlar;
Kod
-----------------------
-----Yürüyüş Stili-----
-----------------------
function showWalkingID(leaf)
if leaf.id then
setControlNumber(wndWalking, "walkingid", leaf.id)
end
end

function WalkingInit()
setControlNumber(wndWalking, "walkingid", getPedWalkingStyle(g_Me) )
end

function applyWalking( WalkingID )
local WalkingID = getControlNumber(wndWalking, "walkingid")
if WalkingID then
 
server.setWalking(WalkingID)
fadeCamera(true)
end
end

wndWalking = {
"wnd",
width = 250,
x = -20,
y = 0.3,
controls = {
{
"lst",
id="walkinglist",
width=230,
height=290,
columns={
{text="Stiller", attr="name"}
},
rows={xml="y_stilleri.xml", attrs={"id", "name"}},
onitemclick=showWalkingID,
onitemdoubleclick=applyWalking
},
{"txt", id="walkingid", text="", width=50},
{"btn", id="Kullan", onclick=applyWalking},
{"btn", id="Kapat", closeswindow=true}
},
oncreate = WalkingInit
}

---------------------
-----Dövüş Stili-----
---------------------
function showFGID(leaf)
if leaf.id then
setControlNumber(wndFG, "fightingID", leaf.id)
end
end

function FGInit()
setControlNumber(wndFG, "fightingID", tonumber( getElementData(g_Me,"XEnergy.Fighting")) )
end

function applyFG( FGID )
 local FGID = getControlNumber(wndFG, "fightingID")
 if FGID then
 
 server.setFighting(FGID)
fadeCamera(true)
end
end

wndFG = {
"wnd",
width = 250,
x = -20,
y = 0.3,
controls = {
{
"lst",
id="fightinglist",
width=230,
height=290,
columns={
{text="Stiller", attr="name"}
},
rows={xml="d_stilleri.xml", attrs={"id", "name"}},
onitemclick=showFGID,
onitemdoubleclick=applyFG
},
{"txt", id="fightingID", text="", width=50},
{"btn", id="Kullan", onclick=applyFG},
{"btn", id="Kapat", closeswindow=true}
},
oncreate = FGInit
}

wnd kısmına ;
Kod
                {"btn", id="Yürüyüş Stilleri" , window=wndWalking, width=125, height=20},
                {"btn", id="Dövüş Stilleri" , window=wndFG, width=125, height=20},

fr_server kısmına ;
Kod
g_RPCFunctions  --İÇİNE EKLEDİM
setWalking = { option='setWalking', descr = 'Walking Style' },
    setFighting ={ option="setstyle" , descr="Fighting Style" }
bu kodları ve .xml dosyalarını ekledim. Sorun nedir ? Şimdiden teşekkürler.
« Son Düzenleme: 15 Mart 2019, 21:26:58 Gönderen: Narkoz »
 


MTASATURK

[YARDIM] F1 Dövüş ve Yürüyüş Stili Ekleme
« : 05 Mart 2019, 16:59:03 »

Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #1 : 06 Mart 2019, 21:36:54
kodlarda bi sorun yok gibi gözüküyor
cacheni temizlemeyi dener misin bu sorun bildiğim kadarıyla cacheden

C:\Program Files (x86)\MTA San Andreas 1.5\mods\deathmatch\resources

yukardaki konuma git ve freeroam dosyasını sil
freeroam scriptine restart at
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #2 : 06 Mart 2019, 21:52:06
Dediğinizi yaptım hatta freeroamın ismini falan değiştirip resetledim fakat sorun devam ediyor. Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #3 : 06 Mart 2019, 21:54:54
eğğ
panellerin başlıklarını eklememişsin belki ondan olabilir

Kod
"wnd",
width = 250,
şu şekilde olcak;
Kod
"wnd",
text = 'panel başlık',
width = 250,

Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #4 : 06 Mart 2019, 22:03:50
Linki görebilmek için Kayıt olun yada Giriş yapın.
eğğ
panellerin başlıklarını eklememişsin belki ondan olabilir

Kod
"wnd",
width = 250,
şu şekilde olcak;
Kod
"wnd",
text = 'panel başlık',
width = 250,

Teşekkür ederim sorun düzeldi fakat bu seferde itemlerin bir işlevi yok. Seçiyorum hiçbir şey değişmiyor.
fr_server a şu kodu da eklemiştim ;
Kod
local _setPedFightingStyle = setPedFightingStyle
function setFighting( ID )
if( source )then
if table.find(getOption('fighting.disallowed'), ID) then
        errMsg('Sistem aktif değil', source)
    else
    _setPedFightingStyle( source , tonumber(ID) )
    setElementData( source , "XEnergy.Fighting" , getPedFightingStyle(source) );
    end
end
end

function setPedFightingStyle( ped , ID )
if( ped and (isElement(ped) and (getElementType(ped) == 'player' or getElementType( ped ) == 'ped') ) )then
if table.find(getOption('fighting.disallowed'), ID) then
        errMsg('Sistem aktif değil', ped)
    else
    _setPedFightingStyle( ped , tonumber(ID) )
    setElementData( ped , "XEnergy.Fighting" , getPedFightingStyle(source) );
    end
end
end
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #5 : 06 Mart 2019, 22:10:51
Kod
server.setWalking(WalkingID)
server.setFighting(FGID)
şu şekilde değiştir;
Kod
server.setPedWalkingStyle(WalkingID)
server.setPedFightingStyle(FGID)

ve fr_server.lua da g_RPCFunctions tablosuna fonksiyonları ekle
şu şekilde;
Spoiler for Hiden:
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


MTASATURK

Ynt: F1 Dövüş ve Yürüyüş Stili ekleme
« Yanıtla #5 : 06 Mart 2019, 22:10:51 »

Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #6 : 06 Mart 2019, 22:24:18
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
server.setWalking(WalkingID)
server.setFighting(FGID)
şu şekilde değiştir;
Kod
server.setPedWalkingStyle(WalkingID)
server.setPedFightingStyle(FGID)

ve fr_server.lua da g_RPCFunctions tablosuna fonksiyonları ekle
şu şekilde;
Spoiler for Hiden:

Bunları yaptım yine bişey değişmedi,
Kod
setControlNumber(wndFG, "fightingID", tonumber( getElementData(g_Me,"XEnergy.Fighting")) )
bu satırda bag argument hatası veriyor.
aynı şekilde
Kod
setControlNumber(wndWalking, "walkingid", getPedWalkingStyle(g_Me) )
bu satırda da. Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #7 : 06 Mart 2019, 22:31:28
Kod
---------------------------
-- Yürüyüş Stilleri
---------------------------
function applyWalkStyle( leaf )
    if type( leaf ) ~= 'table' then
        leaf = getSelectedGridListLeaf( wndWalking, 'walkStyle' )
        if not leaf then
            return
        end
    end
    server.setPedWalkingStyle( localPlayer, leaf.id )
end
 
function stopWalkStyle()
    server.setPedWalkingStyle( localPlayer, 0 )
end
 
wndWalking = {
    'wnd',
    text = 'Yürüyüş Stilleri',
    width = 250,
    controls = {
        {
            'lst',
            id = 'walkStyle',
            width = 230,
            height = 290,
            columns = {
                { text = 'Stiller', attr = 'name' }
            },
            rows = { xml = 'y_stilleri.xml', attrs = { 'id', 'name' } },
            onitemdoubleclick = applyWalkStyle
        },
        { 'btn', id = 'Kullan', onclick = applyWalkStyle },
        { 'btn', id = 'Kaldır', onclick = stopWalkStyle },
        { 'btn', id = 'Kapat', closeswindow = true }
    }
}
Kod
---------------------------
-- Dövüş Stilleri
---------------------------
function applyFightStyle( leaf )
    if type( leaf ) ~= 'table' then
        leaf = getSelectedGridListLeaf( wndFighting, 'fightStyle' )
        if not leaf then
            return
        end
    end
    server.setPedFightingStyle( localPlayer, leaf.id )
end
 
function stopFightStyle()
    server.setPedFightingStyle( localPlayer, 0 )
end
 
wndFighting = {
    'wnd',
    text = 'Dövüş Stilleri',
    width = 250,
    controls = {
        {
            'lst',
            id = 'fightStyle',
            width = 230,
            height = 290,
            columns = {
                { text = 'Stiller', attr = 'name' }
            },
            rows = { xml = 'd_stilleri.xml', attrs = { 'id', 'name' } },
            onitemdoubleclick = applyFightStyle
        },
        { 'btn', id = 'Ayarla', onclick = applyFightStyle },
        { 'btn', id = 'Durdur', onclick = stopFightStyle },
        { 'btn', id = 'Kapat', closeswindow = true }
    }
}

addCommandHandler('setstyle',
function(cmd, style)
style = style and tonumber(style) or 7
if allowedStyles[style] then
server.setPedFightingStyle(localPlayer, style)
end
end
)
Kod
{'btn', id='Dövüş Stili', window=wndFighting, width=125},
{'btn', id='Yürüyüş Stili', window=wndWalking, width=125},
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #8 : 06 Mart 2019, 23:34:02
Yürüyüş stili sorunsuz çalışıyor fakat dövüş stilinde
Kod
function getOption(optionName)
local option = get(optionName:gsub('%.', '/'))
if option then
if option == 'true' then
option = true
elseif option == 'false' then
option = false
end
return option
end
option = g_OptionDefaults
for i,part in ipairs(optionName:split('.')) do
option = option[part] -- BU SATIR
end
return option
end
dediğim satır hata error veriyor.
...109: attempt to index local 'option' (a nil value) Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #9 : 07 Mart 2019, 14:41:44
server tarafındaki eklediğin tabloda zaten setPedFighthingStyle diye bişi vardır sanırım
sonradan eklediğini silip dener misin
olmaz ise freeroam panelini atarsan bakabilirim
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #10 : 08 Mart 2019, 16:59:02
Linki görebilmek için Kayıt olun yada Giriş yapın.
server tarafındaki eklediğin tabloda zaten setPedFighthingStyle diye bişi vardır sanırım
sonradan eklediğini silip dener misin
olmaz ise freeroam panelini atarsan bakabilirim
Teşekkür ederim sorun çözüldü :) Linki görebilmek için Kayıt olun yada Giriş yapın.
« Son Düzenleme: 15 Mart 2019, 21:28:07 Gönderen: Narkoz »