Reklama
Pokazuje wyniki od 1 do 7 z 7

Temat: [8.0]Action script - OnUse

  1. #1

    Data rejestracji
    2007
    Posty
    40
    Siła reputacji
    0

    Domyślny [8.0]Action script - OnUse

    Witam, posiadam serwer wodbo. Tam jest skrypt na senzu(fasolki), fakt ze dziala on poprawnie ale w konsoli serwera pokazuja sie po uzyciu liczne bledy tego typu:
    Lua Script Error: [Action Interface]
    data/actions/scripts/senzu.lua:onUse

    attempt to index a number value
    Ponizej daje kod z tego skryptu:
    Kod PHP:
    function onUse(cid, item, frompos, item2, topos)
    
    	local level = getPlayerLevel(cid)
    	local mlevel = getPlayerMagLevel(cid)
    	
    	local exhausted_seconds = 1
    	local exhausted_storagevalue = 7480
    	
    	local mana_minimum = 50000
    	local mana_maximum =50000
    
    	local mana_add = math.random(mana_minimum, mana_maximum)
    	
    		
    		if(item.type >= 1) then
    			if(os.time() > getPlayerStorageValue(cid, exhausted_storagevalue)) then
    				if(isPlayer(cid) == 1) then
    doSendMagicEffect(topos,12)
    					doPlayerAddMana(cid, mana_add)
                                            doPlayerAddHealth(cid, mana_add)
    					setPlayerStorageValue(cid, exhausted_storagevalue, os.time() + exhausted_seconds)
    				else
    					doSendMagicEffect(cid, CONST_ME_POFF)
    					doPlayerSendCancel(cid, "You are exchausted.")
    				end
    			else
    				doSendMagicEffect(cid, CONST_ME_POFF)
    				doPlayerSendCancel(cid, "You are exhausted.")
    			end
    		else
    			if(os.time() < getPlayerStorageValue(cid, exhausted_storagevalue)) then
    				doSendMagicEffect(cid, CONST_ME_POFF)
    				doPlayerSendCancel(cid, "You are exhausted.")
    			else
    				if(isPlayer(cid) == 1) then
    doSendMagicEffect(topos,12)
    					doPlayerAddMana(cid, mana_add)
                                            doPlayerAddHealth(cid, mana_add*1.5)
    doPlayerSay(cid,"I feel the best",1)
    					setPlayerStorageValue(cid, exhausted_storagevalue, os.time() + exhausted_seconds)
    				else
    					doSendMagicEffect(cid, CONST_ME_POFF)
    					doPlayerSendCancel(cid, "You are exchausted.")
    				end
    			end
    		end
    						
    	return 1
    end
    Z gory dziekuje za pomoc z tym uciazliwie wyskakujacym bledem w konsoli
    Ostatnio zmieniony przez mejo33 : 12-09-2010, 18:29

  2. #2
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    34
    Posty
    586
    Siła reputacji
    17

    Domyślny

    Nie wiem, kto ten skrypt pisał, ale napisał go tragicznie.

    Cóż, wziąłem się za optymalizację twojego skryptu, niewykluczone, że przypadkiem naprawiłem błąd, ale niewykluczone, że skrypt zaczął działać inaczej, bo jest prawie 3 w nocy i nie myślę:

    Kod PHP:
    function onUse(cid, item, frompos, item2, topos)
    	local exhausted_seconds = 1
    	local exhausted_storagevalue = 7480
    
    	local mana_add = math.random( 50000, 50000 )
    	if( os.time( ) > getPlayerStorageValue( cid, exhausted_storagevalue ) )then
    		if( item.type >= 1 )then
    			doPlayerAddHealth( cid, mana_add )
    		else
    			doPlayerAddHealth( cid, mana_add * 1.5 )
    			doPlayerSay( cid, "I feel the best", 1 )
    		end
    		
    		doSendMagicEffect( topos, 12 )
    		doPlayerAddMana( cid, mana_add )
    		setPlayerStorageValue( cid, exhausted_storagevalue, os.time( ) + exhausted_seconds )
    	else
    		doSendMagicEffect( cid, CONST_ME_POFF )
    		doPlayerSendCancel( cid, "You are exhausted." )
    	end
    
    	return true
    end
    Na koniec - skryptów nie cytujemy, tylko dajemy w znacznik "code" (albo PHP, bo kodowania LUA nie ma na tym forum)... Jeśli chcesz, żeby ktoś ci pomógł, to chociaż uszanuj to, żebyśmy nie musieli całego skryptu od nowa robić w tabulatory.
    Ostatnio zmieniony przez Grim90 : 12-09-2010, 02:40
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  3. Reklama
  4. #3

    Data rejestracji
    2007
    Posty
    40
    Siła reputacji
    0

    Domyślny

    Dobrze zapamietam na przyszlosc. Dziekuje Grimm za pomoc. Fakt ze twoj skrypt ale w konsoli nadal wyskakuje blad tego samego typu, co teraz?

    I oczywiscie dalem edita, poprawilem tagi na php.
    Ostatnio zmieniony przez mejo33 : 12-09-2010, 18:30

  5. #4
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    34
    Posty
    586
    Siła reputacji
    17

    Domyślny

    W funkcji doSendMagicEffect nie możesz podać pierwszego parametru jako unikalnego ID istoty, która skrypt wywołała, czyli cid. Ta funkcja oczekuje pozycji jako pierwszego parametru. Możesz co najwyżej powołać się na pozycję jakiegoś UID, czyli:

    Kod:
    getCreaturePosition(cid)
    A w niektórych starszych distro będzie to:

    Kod:
    getCreaturePos(cid)
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  6. #5

    Data rejestracji
    2007
    Posty
    40
    Siła reputacji
    0

    Domyślny

    Czyli jakby to mialo wygladac bo nie bardzo rozumiem. Sory za stwarzanie problemu.

  7. #6
    Avatar Grim90
    Data rejestracji
    2007
    Położenie
    Toruń / Brzozówka
    Wiek
    34
    Posty
    586
    Siła reputacji
    17

    Domyślny

    Cytuj mejo33 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Czyli jakby to mialo wygladac bo nie bardzo rozumiem. Sory za stwarzanie problemu.
    To wygląda tak:

    Kod:
    doSendMagicEffect( Pozycja, numer_efektu )
    Jeśli w miejscu "Pozycja" podasz cid, to najwyżej wystąpi błąd, bo cid nie jest pozycją. Możesz jedynie podać pozycję cida w tym miejscu, czyli

    Kod:
    getCreaturePosition(cid)
    Piszę skrypty do OTS. Chcesz mieć unikalny quest, lub skrypt na swoim serwerze? Pisz do mnie. Na pewno się dogadamy.
    Piszę skrypty PHP, strony oraz gotowe serwisy, jeśli jesteś zainteresowany, napisz.
    http://radeg.pl

    Masz facebooka? Zapraszamy do grupy: Grim OTS!
    http://www.facebook.com/?ref=logo#!/...07707075989449

  8. #7

    Data rejestracji
    2007
    Posty
    40
    Siła reputacji
    0

    Domyślny

    Dokonczylem rozmowe z Grimmem na gg, niestety nie udalo mu sie mi pomoc. Szukam dalej rozwiazania!

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Odpowiedzi: 231
    Ostatni post: 28-12-2013, 01:58
  2. [TA] tibia auto python script
    Przez Mandor Silo w dziale Tibia
    Odpowiedzi: 1
    Ostatni post: 13-09-2013, 11:25
  3. Odpowiedzi: 0
    Ostatni post: 01-12-2010, 19:05
  4. [8.54] Elfbot Cancel script if pk
    Przez lynn w dziale Tibia
    Odpowiedzi: 1
    Ostatni post: 26-01-2010, 21:52
  5. script w tibiabot ng
    Przez janosik w dziale Tibia
    Odpowiedzi: 3
    Ostatni post: 21-09-2009, 14:34

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •