• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

[Tylko TFS] Skull remove.

Status
Zamknięty.

Gelio

Senior User
Dołączył
Kwiecień 10, 2008
Posty
617
Liczba reakcji
98
Wiek
29
Mam dzisiaj do zaprezentowania wam run?, kt?ra usuwa "skulla" (czyli czaszk? pokazuj?c? si? nad g?ow? gracza po zaatakowaniu innego). Nie zosta?a przetestowana, ale dzia?a na 99 %. Zosta?a zrobiona z pro?by w tym temacie oraz innych ludzi.


Robimy plik: skull remove.lua w katalogu: data/actions/scripts, a do niego dodajemy:
Kod:
-- Skull remove by Gelio
-- With little Gesior's help (frags remove)
function onUse(cid, item, frompos, item2, topos)
local zabieraLadunki = "tak"   -- Czy zabiera ladunki runy
local usuwaRedSkulla = "tak"   -- Czy usuwa red skulla

if((getPlayerSkullType(cid) ~= SKULL_RED or usuwaRedSkulla == "tak") or getPlayerSkullType(cid) ~= SKULL_GREEN) then
	doCreatureSetSkullType(cid, SKULL_NONE)
	doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You don't have any skull now.")
	doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_RED)
	doPlayerSetRedSkullTicks(cid, 0)  -- Usuwanie fragow. Usuniesz ta linijk? to nie b?dzie bra? frag?w
else
	doPlayerSendCancel(cid,"You can't remove red or green skull.")
end
if(zabieraLadunki == "tak") then
	if(item.type > 1) then
		doChangeTypeItem(item.uid, item.type-1)
	else
		doRemoveItem(item.uid,1)
	end
end
end
Zmieniamy potrzebne nam opcje (runa usuwa white skulla, yellow skulla oraz gdy zezwolimy tak?e red skulla). Nast?pnie dodajemy do actions.xml:
Kod:
<action itemid="[COLOR="Red"]2271[/COLOR]" script="skull remove.lua" />
czerwony - id runy.
Je?eli nie b?dzie dzia?a?a runa (?adnych b??d?w, ale runa nie dzia?a) to zmie?cie id runy zaznaczone na czerwono.


Pozdro,
Gelio
 
Ostatnia edycja:
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

ELO
A ta runka dziala na 8.1 czy tylko na 8.4??
Jak niedziala to plz zrob na 8.1
Pozdr.
 
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

No Gelio fajnie, ?e zrobi?e? tak? runk? :) (sam bym nie umia?) Naprawde bardzo fajnie ;D
M?g?by? jeszcze doda?, ?e usuwa fragi :D
10/10!!!!! :p (Ja te? by?em tym co prosi? o t? rune ;D)

@Edit
Niedzia?a... ;/
@Edit
Ju? wiem :D Trzeba si? wylogowa? :D
 
Ostatnia edycja:
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

oo stary, czemu w actions?
 
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

pytanie, jak zmienic ilosc ladunkow ze 100 do 1 ?:confused:
 
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

Po prostu utw?rz run? maj?c? 1 ?adunek. A jak nie to w actions.xml wpisz do tego itemu:
Kod:
<attribute key="charges" value="ile ladunkow" />
Chyba jako? tak.

Pozdrawiam,
Gelio
 
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

Ok dzi?ki. Ale mam ma?y problem. Jak kto? u?yje runy to oczywi?cie po chwili rs znika, ale fragi mu nie znikaja ;/
 
Ostatnia edycja:
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

Bo nie ma funkcji usuwaj?cej fragi. Tak wi?c po ka?dym fragu trzeba b?dzie u?y? runy jeszcze raz.

Pozdrawiam,
Gelio
 
Odp: [8.4][Tylko TFS] Skull remove.

Odp: [8.4][Tylko TFS] Skull remove.

a mozesz napisac skrypt ktory bedzie kasowac fragi? a dokladnie zeby to tez runka byla, bede bardzo wdzieczny
 
Odp: [Tylko TFS] Skull remove.

hmm... a co robi w tfs 0.3:
doPlayerSetRedSkullTicks(cid, amount) :)
PHP:
doPlayerSetRedSkullTicks(cid, 0)
i nie masz fragow :up:
 
Odp: [Tylko TFS] Skull remove.

Ju? doda?em to co Gesior m?wi?, ale nie s?dz?, ?eby to zabiera?o fragi. Wiem, ?e ta funkcja istnieje, ale z nazwy mo?na powiedzie?, ?e ona zmienia czas trwania red skulla, a nie ilo?? frag?w. Doda?em - nie sprawdza?em - jak nie usuwa frag?w piszcie do Gesiora.


Pozdrawiam,
Gelio

@down
Widzisz co napisa?em? ?E NIE S?DZ?. A nie ?e to zabierze. Zabiera tylko skulla, a nie fragi. Wi?c i tak i tak bana dostaniesz. To tylko na red skull i white skull dzia?a (yellow chyba te?). A zabezpieczenie jakie? Raz na 24 h mo?na u?y?? Powiedz to zrobi?...
 
Ostatnia edycja:
Odp: [Tylko TFS] Skull remove.

@up
Przecie? nigdzie nie masz ?adnej tabeli w bazie danych ani nic od frag?w. Jest tylko czas trwania frag?w i to w?a?nie je przelicza si? na fragi.

@topic
Noo z grubsza nieprzydatne. Na warze kto? wbije kilka frag?w po czym sobie zresetuje. Mo?e jakie? zabezpieczenie? ;>
 
Odp: [Tylko TFS] Skull remove.

Bardzo bardzo dobre wielkie dzieki :up:
 
Odp: [Tylko TFS] Skull remove.

Bardzo dobry skrypt nadaje si? do sms shopu albo jako nagroda za fraga fun server...
Jak zrobi? by skrypt usuwa? 1 frag a nie wszystkie ???
Za skrypt 7/10


PoZdro
 
Odp: [Tylko TFS] Skull remove.

Witam Gelio Moze Pomoc ? Dlaczego Wyskakuje Mi Taki Blad W Silniku
data/actions/scripts/skull remove.lua:7: attempt to call global 'doCreatureSetSkullType' (a nil value)
stack traceback:
data/actions/scripts/skull remove.lua:7: in function <data/actions/scripts/skull remove.lua:3>

//Bo nie masz odpowiednich funkcji w silniku (czyt. masz za stary server) - Rah
 
Ostatnio edytowane przez moderatora:
Odp: [Tylko TFS] Skull remove.

Przydatny skrypt :P Moze komus sie przyda
 
Odp: [Tylko TFS] Skull remove.

ja mam silnik tfs'a pod 8.54 i mi wyskakuje taki b??d

[31/03/2010 19:05:36] [Error - Action Interface]
[31/03/2010 19:05:36] data/actions/scripts/skull remove.lua:onUse
[31/03/2010 19:05:36] Description:
[31/03/2010 19:05:36] data/actions/scripts/skull remove.lua:10: attempt to call global 'doPlayerSetRedSkullTicks' (a nil value)
[31/03/2010 19:05:36] stack traceback:
[31/03/2010 19:05:36] data/actions/scripts/skull remove.lua:10: in function <data/actions/scripts/skull remove.lua:3>
 
Odp: [Tylko TFS] Skull remove.

PHP:
-- Skull remove by Gelio
-- With little Leon help (frags remove)
function onUse(cid, item, frompos, item2, topos)
local zabieraLadunki = "tak"   -- Czy zabiera ladunki runy
local usuwaRedSkulla = "tak"   -- Czy usuwa red skulla
if((getPlayerSkullType(cid) ~= SKULL_RED or usuwaRedSkulla == "tak") or getPlayerSkullType(cid) ~= SKULL_GREEN) then
	doCreatureSetSkullType(cid, SKULL_NONE)
	doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You don't have any skull now.")
	doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_RED)
	db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")")  -- Usuwanie fragow. Usuniesz ta linijk? to nie b?dzie bra? frag?w
else
	doPlayerSendCancel(cid,"You can't remove red or green skull.")
end
if(zabieraLadunki == "tak") then
	if(item.type > 1) then
		doChangeTypeItem(item.uid, item.type-1)
	else
		doRemoveItem(item.uid,1)
	end
end
end
Teraz powinno resetowa? licznik frag?w prosto z Bazy Danych.. :P
 
Ostatnia edycja:
Status
Zamknięty.
Do góry