• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Scroll Edit

Burczyk

New Member
Joined
Oct 10, 2011
Messages
94
Reaction score
3
Witam, zrobiłem u siebie na serwerze skrypt tam na scrolla i że w nim się wpisuje nick postaci i gdy właściwy to dalej leci skrypt. Ale to nie ważne, ważne jest to że nie działa po mojej myśli \/
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if not(getPlayerSlotItem(cid, CONST_SLOT_AMMO) == 9999) then
  doPlayerSendCancel(cid, "bla bla.")
 return false
end
i chodzi o to że miało działać że gdy kliknie się prawym na tego scrolla i jest w slocie na ammo to wtedy otworzy się ramka do wpisywania (tak jak label) a działa w rzeczywistości że klikam prawym nawet nie w ammo slocie i się otwiera te okienko i na dole jest info "bla bla" ale dało się otworzyć. Macie jakieś sugestie co zrobić żeby działało tak jak opisałem?
 
co Ty chcesz niby zrobić?
po pierwsze moze onTextEdit(cid, item, newText) tylko ze jest to creatureevent
 
tak mam w moim modzie ale chce żeby można było otwierać tego scrolla tylko w ammo slocie
 
sądzę iż nie jest to mozliwe, możesz zrobić onEquip i onDequip zeby zmieniał id, w tym slocie na item, który da się edytować, aczkolwiek mogę się mylić bo dawno nie robiłem nic przy tibii,
nie wiem czy czasem setattribute nie wystarczy
 
sądzę iż nie jest to mozliwe, możesz zrobić onEquip i onDequip zeby zmieniał id, w tym slocie na item, który da się edytować, aczkolwiek mogę się mylić bo dawno nie robiłem nic przy tibii,
nie wiem czy czasem setattribute nie wystarczy
Tak wcześniej myślałem ale wolałem się zapytać
#Azi Też tak samo jak z moją wersją
if not(getPlayerSlotItem(cid, CONST_SLOT_AMMO) == 9999) then
tylko dodałem not
 
Nie no co ty nie powiesz..?
zrobię po prostu kolejny item bo nie da się tego w lua żeby okienko z tekstem się nie otwierało.
 
Nie no co ty nie powiesz..?
zrobię po prostu kolejny item bo nie da się tego w lua żeby okienko z tekstem się nie otwierało.

da się, zależy return true czy false dasz, pokombinuj.

a mi chodziło o to, że getPlayerSlotItem(cid, CONST_SLOT_AMMO) zwraca tablice
uid, itemid i jakieś tam jeszcze indeksy, więc twój warunek
Lua:
getPlayerSlotItem(cid, CONST_SLOT_AMMO) == 9999
jesst nieprawidłowy.
w moim przykładzie:
Lua:
getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == item.uid
sprawdza czy item w arrow slocie posiada takie samo uid, jak item użyty, więc ma poniekąd jakiś sens.
 
Sprawdź
Lua:
local config = 
{
	itemId 			= XXXX,
	cancelMessage 	= ""
}

function onUse(cid, item, fromPos, itemEx, toPos)
	if not(getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == config.itemId) then
		doPlayerSendCancel(cid, config.cancelMessage)
	else
		-- actions
	end
	return true
end
 
A zdajesz sobie sprawe, ze getPlayerSlotItem zwraca tabele?

pewnie nie zdawał sobie, jak zapewne większość tego forum ;s


#Burczyk?


jeśli można, tak jak Azi napisał:
Code:
getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == item.uid


to tak samo przecież można zrobić
Code:
getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == item.itemid

itp. ;p
 
już tak próbowałem wszystkie rodzaje, do zamknięcia bo zrobiłem 2gi taki item.
 
...
czyli wolisz, żeby zamknęli temat i zrobisz obejście, niż napisać

"zrobiłęm narazie drugi taki item, ale jak da radę to proszę pomóżcie zrobić by było by git"

to może by ktoś tu napisał i byś zaoszczędził potem 30 nowych tematów na forum...

:(
 
jeśli można, tak jak Azi napisał:
Code:
getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid == item.uid


to tak samo przecież można zrobić
Code:
getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == item.itemid

itp. ;p

ale jeżeli masz scroll w ammo slocie, a użyjesz drugiego w bp to mają ten sam itemid, a uid ich się różnią, więc taka magia :D
 
Back
Top