Jak zrobić żeby sprawdzało czy gracz jest zalogowany, lub czy jest w pobliżu. (W kazdym razie, że się nie wylgoował)
Coś z isInArray? Tylko nie wiem jak tego używać, już próbowałem ...
Wersja do druku
Jak zrobić żeby sprawdzało czy gracz jest zalogowany, lub czy jest w pobliżu. (W kazdym razie, że się nie wylgoował)
Coś z isInArray? Tylko nie wiem jak tego używać, już próbowałem ...
Pobiera z nicku:
Pobiera z pozycji:Kod:local player = getCreatureByName( "Zenek" )
if isPlayer( player ) then
--bawisz się graczem pobranym z nicku
end
Kod:local player = getThingFromPos( { x = 555, y = 555, z = 555, stackpos = 253 } )
if isPlayer( player.uid ) then
--bawisz się graczem pobranym z pozycji xyz
end
Nie działa, właśnie chodzi o to żeby sprawdzało czy gracz jest zalogowany, bo gdy dam addEvent na np 10sek, a w tym czasie się wyloguje to wyrzuca błąd w silniku. Generalnie nie przeszkadza to ale jeśli jest ~120 eventów to wszystko jest zasyfione ;/
Przecież napisałem, co masz zrobić. W addEvencie wyrzuca błąd, bo nie może playera znaleźć, dlatego trzeba sprawdzić, czy jest taki player, a jeśli jest, to przejść w dalszy ciąg kodu addEventu. Do tego służy funkcja isPlayer() sprawdzająca, czy jest taki gracz, której użyłem w każdym powyższych przykładów.
Juz nawet nie pobieralem nazwy postaci tylko testowalem na tym o nicku Paladin. Nadal co chwile zasmieca silnik błedami, że nie może znalesc gracza. ;/Cytuj:
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1,combat2 = combat2}
local player = getCreatureByName( "Paladin" )
for i=1,30 do
if isPlayer( player ) then
addEvent(onCastSpell2, 1000+i*1000, parameters)
end
end
return true
end
Pokaż funkcję onCastSpell2, to ona wali błędy, nie ta, co ty ją pokazałeś, ale tak czy siak poprawiłem ci ją.Kod:function onCastSpell( cid, var )
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }
local player = getCreatureByName( "Paladin" )
if isPlayer( player ) then
for i = 1, 30 do
addEvent( onCastSpell2, 1000 + i * 1000, parameters )
end
end
return true
end
Już zrobiłem ;) WIELKIE DZIĘKI za pomoc ;)
Mniej wiecej tak to wygląda:
Kod:local function onCastSpell2(parameters)
local player = getCreatureByName( ""..parameters.name.."" )
if isPlayer( player ) then
doCombat(parameters.cid, combat2, parameters.var)
end
end