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

[x.x][Skrypty] Zam?wienia

Status
Zamknięty.

Gelio

Senior User
Dołączył
Kwiecień 10, 2008
Posty
617
Liczba reakcji
98
Wiek
29
Witam. Otwieram temat Skrypt na zam?wienie, poniewa? nie widzia?em takiego. Ka?dy mo?e tu zamie?ci? pro?b? o skrypt. Oczywi?cie ka?dy mo?e odpowiedzie? zrobieniem tego skrypta.
Zasady dodawania pr??b
1. Je?eli chcesz doda? swoj? pro?b? na skrypt musisz najpierw sprawdzi? ile pr??b zosta?o nie spe?nionych. Je?eli wi?cej jak 3 pro?by nie zosta?y jeszcze spe?nione (b?d? napisa?em, ?e skryptu nie zrobi? bo si? nie da) nie pisz wi?cej post?w. Je?eli b?dzie wi?cej ni? 3 pro?by i ty napiszesz jeszcze jedn? to zostaniesz odpowiednio "nagrodzony" od moderatora forum.
Ma to wygl?da? tak: pro?by(maksymalnie 3); skrypt/kilka skrypt?w; pro?by (patrzysz ile pr??b zosta?o spe?nionych i odejmujesz t? liczb? od 3 np. 2 zosta?y spe?nione: 3-2 = 1, wtedy mo?esz napisa? 1 pro?b?); nast?pnie dalej skrypty i tak w k??ko
2. Podzi?kowania za skrypty albo b??dy w skryptach nale?y zg?asza? na PW (Prywatna Wiadomo??).
Wz?r dodawania nowych post?w
Kod:
Rodzaj: np. actions, monsters, movements
Wersja tibii: np. 8.2
O czym ma by? skrypt.
Szczeg??y, ew. screen je?eli to ma by? skrypt z rl
Mam nadziej?, ?e temat si? rozwinie i zostanie przyklejony. Postaram si? jak najszybciej robi? skrypty.
Pozdrawiam,
Gelio
P.S.: Je?eli my?lisz, ?e jestem pocz?tkuj?cy to si? mylisz.

Zamiast pisa? do Gelia w temacie, ?eby zrobi? Wam w ko?cu zam?wienie, poczekajcie! ON NIE JEST ROBOTEM! Dodatkowo, ka?dy post, w kt?rym znajdzie ponaglanie Gelia, zostanie zwarnowany.

/Przyklejam

Pami?tajcie!
Wszelkie:
  • przypominanie o wykonaniu skryptu
  • raportowanie b??d?w w temacie (a nie na PW)
  • pisanie 4+ posta z pro?b? (przeczytaj wy?ej, ?eby zrozumie?)
ZABRONIONE!

Nowa zasada!
Je?eli kto? napisze 4+ pro?b? to nikt (1, 2, 3 i 4 pro?ba) nie dostanie skrypt?w, dop?ki ten post nie zostanie usuni?ty. Teraz czekam a? usuniecie posty lub zrobi to nasz ukochany Rahim, kt?ry jest moderatorem w tym podforum, jest na urlopie i nawet jak nie by? to mu si? nie chcia?o usuwa? post?w st?d... Rzeczywi?cie, gratulacje dla niego.
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

1.
Rodzaj; Npc
tibia; 8.2
opis; dajesz mu item o id xxx a on ci daje najlepszy axe, sword, club i 1 spear ( najlepsze w sensie, ?e najlepsze bez wymaga? levelowych)
Oraz daje ci 4200 expa. Na pocz?tku m?wi witaj nieznajomy czy masz xxx?[TAK] gracz odpowiada tak ( po to jest to [TAK] ?eby gracz wiedzia? o co chodzi ;)) Na koncu mowi ci np. Teraz idz poszukaj uzbrojenia w mie?cie.
;)
mam nadzieje, ?e npc umiesz robi? ;p
2. Pro?ci?tki skrypcik ;)
Rodzaj: Action
Tibia: 8.2
Opis: Mo?na wyj?? ze skrzyni klucz z aid ;)

Co robi?? Skrypt nr. 2.
Nr. 1 mo?e p??niej.

Skrypt:
Kod:
function onUse(cid, item, frompos, item2, topos)
local storage = getPlayerStorageValue(cid,9218)
local actionid = 1  --Actionid keya
local id = 9999 --ID keya

if (storage == -1) then
    local key = doPlayerAddItem(cid, id, 1)
    doSetItemActionId(key,actionid)
    doPlayerSendTextMessage(cid,22,"You have found a key.")
else
    doPlayerSendTextMessage(cid,22,"It\'s empty.")
end
end
Powinno dzia?a?.


P.S.: Skrypty b?d? robi? po kolei. W ka?dym po?cie b?dzie skrypt/skrypty, kt?re chcia? u?ytkownik w swoim po?cie, wi?c prosz? o nie dawanie mi warna za double posty.

Rodzaj:czar
Wersja:8.22
O czym:ma robi? po?rodku pole ognia nast?pnie wok?? jaki? wybuch,a na koniec ma tworzy? ogie? w miejscu wybuchu wiesz o co mi chodzi.dla ka?dej profesji od ka?dego levela
0 0 0 0 0
0 0 1 0 0 POLE OGNIA
0 0 0 0 0
1 1 1 1 1
1 0 0 0 1 WYBUCH
1 1 1 1 1
i w miejscu tego wybuchu ma sie robi? ogie?.
Czy zrobi?? Tak
Skrypt (powinien dzia?a?):
Kod:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.3, -10, -0.7, -50)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.7, -20, -1.2, -60)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat3, COMBAT_PARAM_CREATEITEM, 111)
local arr1 = {
{3}
}
local area1 = createCombatArea(arr1)
setCombatArea(combat, area1)
local arr2 = {
{1, 1, 1, 1, 1},
{1, 0, 3, 0, 1},
{1, 1, 1, 1, 1}
}
local area2 = createCombatArea(arr2)
setCombatArea(combat, area2)
local arr3 = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}
local area3 = createCombatArea(arr3)
setCombatArea(combat, area3)
local function onCastSpell1(parameters)
    return doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local function onCastSpell2(parameters)
    return doCombat(parameters.cid, parameters.combat2, parameters.var)
end
local function onCastSpell3(parameters)
    return doCombat(parameters.cid, parameters.combat3, parameters.var)
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 }
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell2, 500, parameters)
addEvent(onCastSpell3, 1000, parameters)
end
Rodzaj:actions
8,21 (TFS 0.2,13 mystic spirit)
Mam serwer pvp-enf i potrzebny mi jest taki jeden do?? ?atwy skrypt ale za cholere nie mog? sobie z nim poradzi?, chodzi o to ?e gdy kto? zabije oboj?tnie jakiego playera dostaje do bp, 1 white pearl ( i opcjonalnie mo?e mu si? wyswietli? napis "You owned xxxx ale z tym sobie i sam poradz? :P).
Z g?ry dzi?ki!
Z tym to w C++ musisz. Sory, ale na c++ si? nie znam i nie pomog? ci.

Poprosz? skrypt na 8.21/8.22
Polega on na tym ?e stajemy na dana kratk? i piszemy np "Demony" i na teleportnie za darmo w dane "x" , "y" , "z".
Pozdrawiam
Czy zrobi?? Tak
Skrypt:
Kod:
-- Przyklad konfiguracji:
-- pierwsza pozycja wpisana w pozycje to: {x=1008, y=1005, z=7}
-- Pierwsze miejsce wpisane w miejsca to: "lolek"
-- Jezeli gracz stoi na x = pozycjax, y = pozycjay, z = pozycjaz to jezeli powie lolek zostanie przeteleportowany na ta pozycje: {x=1008, y=1005, z=7}
-- Jak dalej nie rozumiesz to pisz
-- Konfiguracja --
-- Wpisujesz pozycje poszczegolnych miejsc --
local pozycje = { 
{x=1000, y=1000, z=7},
{x=1000, y=1005, z=7}
}
-- Wpisujesz nazwy poszczegolnych miejsc --
local miejsca = { 
"kociol",
"lolek"
}
local pozycjax = 1002 -- Pozycja x, na ktorej sie wymawia slowa
local pozycjay = 1000 -- Pozycja y, na ktorej sie wymawia slowa
local pozycjaz = 7 -- Pozycja z, na ktorej sie wymawia slowa
-- Koniec konfiguracji --
function onSay(cid, words, param)
local player_pos = getPlayerPosition(cid)
if ((player_pos.x == pozycjax) and (player_pos.y == pozycjay) and (player_pos.z == pozycjaz)) then
    for i=1, #pozycje do
        if (words == miejsca[i]) then
            doTeleportThing(cid, pozycje[i])
            doPlayerSendTextMessage(cid,22, "Zostales przeteleportowany do " .. miejsca[i] .. ".")
        end
    end
end
end
-- Do talkactions.xml dodaj:
-- <talkaction words="nazwa 1 miejsca" script="kociolek.lua" />
-- Do jezeli jest wiecej niz 1 miejsce dodawaj nowe teksty takie jak ten linikja na gorze. :)
Powinno dzia?a?.

Bardzo prosz? o zrobienie dla mnie takiego czaru:
tibia - 8.1
co trzeba wypowiedzie? aby rzuci? czar - ultimate summon
lvl - 100
m lvl - 20
dla wszystkich profesji
opis - czar ten mia?by przyzywa? 5 demon?w kt?re atakowa?y by to co ja atakuje i to co mnie atakuje. Te demony znika?y by dopiero jak normalnie zgin?. A jak czar by? rzucony to zanim wszystkie demony nie znikn? to nie mo?na u?y? czaru ponownie.
Troch? skomplikowany ten czar ale bardzo mi zale?y dlatego was prosz? o pomoc.
Czy zrobie? Tak
Spr?buje zrobi? na dzisiaj, ale zaraz ide spa? i nie wiem czy napisze tak szybko.
Skrypt:
Kod:
function onCastSpell(cid, var)
if ((getPlayerStorageValue(cid,2758) == -1) or (getPlayerStorageValue(cid,2758) == 2)) then
local demon1 = doSummonCreature("Demon", getPlayerPosition(cid))
local demon2 = doSummonCreature("Demon", getPlayerPosition(cid))
local demon3 = doSummonCreature("Demon", getPlayerPosition(cid))
local demon4 = doSummonCreature("Demon", getPlayerPosition(cid))
local demon5 = doSummonCreature("Demon", getPlayerPosition(cid))
doConvinceCreature(cid, demon1)
doConvinceCreature(cid, demon2)
doConvinceCreature(cid, demon3)
doConvinceCreature(cid, demon4)
doConvinceCreature(cid, demon5)
setPlayerStorageValue(cid,2758,1)
local x = {cid = cid, var = var }
addEvent(unlock, 10*100*60, x)
doSendMagicEffect(getPlayerPosition(cid), 11)
else
doPlayerSendCancel(cid,"Musisz poczekac 10 min. zeby moc przywolac nastepne 5 demonow.")
end
end
function unlock(x)
setPlayerStorageValue(cid,2758,2)
doPlayerSendCancel(cid,"Mozesz summonowac nastepne demony.")
end
Powinien dzia?a?. My?l?, ?e ka?dy kto prosi o skrypt umie sobie poradzi? z dodaniem go do OTS'a.

Witam a ja poprosz?:
Klient: 8.2
Dzia?anie:
Klikamy na kilof prawym i lewym na kryszta?, mamy szans? od 1 do 50 ?e uda nam si? small diamond wydoby?.

Czy zrobie? Tak
Ju? druga strona skrypt?w :D.
Skrypt:
Kod:
function onUse(cid, item, frompos, item2, topos)
local chance = math.random(1,50)
local chance2 = math.random(1,50)
local id = 1852  -- ID diamentu

if (chance == chance2) then
    doPlayerAddItem(cid,id,1)
    doPlayerSendTextMessage(cid,19,"Dostales diament.")
else
    doPlayerSendCancel(cid,"Niestety nie udalo ci sie.")
end
end

A ja poprosze o Action 7.6 ?e
rosnie sobie nalegalu drzewko jagodowe
i mozna zebrac 3 jagodki a jak sie je zje to pisze na pomara?czowo Yum Yum;)

Zrobie to jutro. Przeedytuje tego posta i jutro b?dzie ju? skrypt.

Pozdro,
Gelio

P.S.: No, wreszcie nadrobi?em zaleg?o?ci, mo?na pisa? nowe pro?by. A NPC'ki, kt?re by?y wcze?niej jutro dam.
 
Ostatnio edytowane przez moderatora:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Rodzaj: np. actions
Wersja tibii: 8.1
Skrypt: Poruszanie si? 2 kamieni z 2 d?wigni.
Ma by? to ma?a kwadratowa sala chc? aby po jednej stronie by? potw?r kt?rego ju? mam gotowego ALE :P ma si? on respi? w miejscu za kamieniem odrazu po jego zabiciu. A po drugiej skrzynka. Ma to by? jak z aren? lecz na podstawie d?wigni. Jak prze??cze d?wignie "1" to otworz? si? 2 kamienie ods?aniaj?c questa i zarazem potwora ALE ?eby nie da?o si? s powrotem zamkn?? kamienia t? sam? d?wigni?. Ta druga ma by? na drugim ko?cu pokoju.

W skr?cie. Potw?r respi?cy si? natychmiastowo nawet jak widzimy respa. 2 d?wignie jedna otwieraj?ca druga zamykaj?ca. ;):)

@Edit. Pr?bowa?em sam ale dalej ni? tu nie umiem.
Kod:
data/actions/scripts  "pierwszy kamien.lua" 

function onUse(cid, item, frompos, item2, topos)
gatepos = {x=699, y=638, z=11, stackpos=1}
getgate = getThingfromPos(gatepos)

if item.uid == 3005 and item.itemid == 1945 and getgate.itemid == 1304 then
doRemoveItem(getgate.uid,1)
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 3005 and item.itemid == 1945
and getgate.itemid == 0 then
doCreateItem(1304,1,gatepos)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Impossible.")
end
return 1
end
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Rodzaj: np. actions
Wersja tibii: 8.1
Skrypt: Poruszanie si? 2 kamieni z 2 d?wigni.
Ma by? to ma?a kwadratowa sala chc? aby po jednej stronie by? potw?r kt?rego ju? mam gotowego ALE :P ma si? on respi? w miejscu za kamieniem odrazu po jego zabiciu. A po drugiej skrzynka. Ma to by? jak z aren? lecz na podstawie d?wigni. Jak prze??cze d?wignie "1" to otworz? si? 2 kamienie ods?aniaj?c questa i zarazem potwora ALE ?eby nie da?o si? s powrotem zamkn?? kamienia t? sam? d?wigni?. Ta druga ma by? na drugim ko?cu pokoju.
W skr?cie. Potw?r respi?cy si? natychmiastowo nawet jak widzimy respa. 2 d?wignie jedna otwieraj?ca druga zamykaj?ca. ;):)
@Edit. Pr?bowa?em sam ale dalej ni? tu nie umiem.
Kod:
data/actions/scripts  "pierwszy kamien.lua" 
function onUse(cid, item, frompos, item2, topos)
gatepos = {x=699, y=638, z=11, stackpos=1}
getgate = getThingfromPos(gatepos)
if item.uid == 3005 and item.itemid == 1945 and getgate.itemid == 1304 then
doRemoveItem(getgate.uid,1)
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 3005 and item.itemid == 1945
and getgate.itemid == 0 then
doCreateItem(1304,1,gatepos)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Impossible.")
end
return 1
end
Czy zrobi?? Tak
Na g?rze skryptu jest konfiguracja.
Skrypt do pierwszej d?wigni, kt?ra otwiera:
Kod:
function onUse(cid, item, frompos, item2, topos)
local kamien1pos = {x=xxx, y=yyy, z=z}    -- Pozycja pierwszego kamienia
local kamien2pos = {x=xxx, y=yyy, z=z}    -- Pozycja drugiego kamienia
local kamien1id = 1111    -- ID drugiego kamienia
local kamien2id = 2222    -- ID pierwszego kamienia
local uid1 = 1234   -- Uid dzwigni, ktora otwiera
local uid2 = 1234   -- Uid dzwigni, ktora zamyka
if (item.itemid == 1945) then
	doRemoveItem(getThingfromPos(kamien1pos), 1)
	doRemoveItem(getThingfromPos(kamien2pos), 1)
	doTransformItem(item, 1946)
	doTransformItem(uid2,1946)	
	doPlayerSendTextMessage(cid,19,"Kamienie zostaly usuniete.")
else
	doPlayerSendCancel(cid,"Kamienie zostaly juz usuniete.")
end
end
Skrypt do d?wigni, kt?ra zamyka:
Kod:
function onUse(cid, item, frompos, item2, topos)
local kamien1pos = {x=xxx, y=yyy, z=z}    -- Pozycja pierwszego kamienia
local kamien2pos = {x=xxx, y=yyy, z=z}    -- Pozycja drugiego kamienia
local kamien1id = 1111    -- ID drugiego kamienia
local kamien2id = 2222    -- ID pierwszego kamienia
local uid1 = 1234   -- Uid dzwigni, ktora otwiera
local uid2 = 1234   -- Uid dzwigni, ktora zamyka
if (item.itemid == 1946) then
	doTransformThing(item, 1945)
	doTransformThing(uid1, 1945)
	doCreateItem(kamien1id,1,kamien1pos)
	doCreateItem(kamien2id,1,kamien2pos)
	doPlayerSendTextMessage(cid,19,"Kamienie zostaly utworzone.")
else
	doPlayerSendCancel(cid,"Kamienie sa juz zamkniete.")
end
end
Powinno dzia?a?. Do actions.xml dodaj tylko co? takiego:
Kod:
<action uniqueid="uniqueid pierwszej dzwigni" script="nazwaskryptu.lua" />
<action uniqueid="uniqueid drugiej dzwigni" script="nazwaskryptu.lua" />
Pozdro,
Gelio
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Elo
1.
Rodzaj:action
Wersja:8.22
Opis:Je?eli staniemy na dan? kratk? to po bokach gracza powstaje ogie?
2.
Rodzaj:NPC
Wersja:8.22
Opis:npc kt?ry za 1cc nauczy nas wszystkich czar?w

Ok,chyba wszystko opisa?em co trzeba.
Z g?ry dzi?ki!
Ok,chyba wszystko opisa?em co trzeba.
Z g?ry dzi?ki!
Czy zrobie? Tak

1. Skrypt:
Je?eli masz silnik inny ni? TFS to:
Kod:
function onStepIn(cid, item, pos)
local ogien1pos = {x=xxx, y=yyy, z=z}  -- Pozycja 1 ognia
local ogien2pos = {x=xxx, y=yyy, z=z}  -- Pozycja 2 ognia
local id1 = 1487  -- Id 1 ognia
local id2 = 1487  -- Id 2 ognia

doCreateItem(id1,1,ogien1pos)
doCreateItem(id2,1,ogien2pos)
end
Je?eli TFS to:
Kod:
function onStepIn(cid, item, position, fromPosition)
local ogien1pos = {x=xxx, y=yyy, z=z}  -- Pozycja 1 ognia
local ogien2pos = {x=xxx, y=yyy, z=z}  -- Pozycja 2 ognia
local id1 = 1487  -- Id 1 ognia
local id2 = 1487  -- Id 2 ognia

doCreateItem(id1,1,ogien1pos)
doCreateItem(id2,1,ogien2pos)
end

2. Skrypt:
Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
local spells = {'exura', 'exiva', 'utevo lux' }  -- Inkatacje albo nazwy czarow. nie wiem bo nie uzywalem tej opcji.
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)			npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)		npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)	npcHandler:onCreatureSay(cid, type, msg)	end
function onThink()						npcHandler:onThink()						end

function creatureSayCallback(cid, type, msg)
	if(npcHandler.focus ~= cid) then
		return FALSE
	end

	if (msgcontains(msg, 'yes')) then
	if (getPlayerItemCount(cid,2160) >= 1) then
	if (getPlayerStorageValue(cid,8423) == -1) then
		npcHandler:say('Ok, you are learnt all spells.')
		for i=1, #spells do
			doPlayerLearnSpell(cid,spells[i]
		end
		setPlayerStorageValue(cid,8423,1)
	else
		npcHandler:say('I learnt you all spells.')
	end
	else
		npcHandler:say('You don\'t have one crystal coin.')
	end
	elseif msgcontaing(msg, 'no')) then
		npcHandler:say('Then no.')
	end

	return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Pozdro,
Gelio

@down
Dodajesz actionid do kratki, na kt?ra si? staje a do actions.xml dodajesz:
Kod:
<action actionid="actionid ktore wpisales temu polu na mapce" script="nazwapliku.lua" />
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

rodzaj : talkactions
tibia 8.10 (xml)
Chodzi oto gdy wpisz? /setaccess Nick, 2 to dana osoba zostanie automatycznie senior tutorem tak samo gdy wpisz? /setaccess Nick, 1 to tutor itp a jak zabra? w og?le to /setaccess nick, 0
rodzaj : talkactions
tibia 8.10 (xml)
Tym razem wpisuje !ban nick, 7+d(7dni np min to +m godzin +h) reason: pow?d za co ban.
Z tym pierwszym to spr?buje zrobi?, ale nie na dzisiaj. A to drugie wyja?nij troche bardziej.

Pozdro,
Gelio

Nie zrobie teraz, bo jestem zaj?ty robieniem The Oracle.

#EDIT

Witam,
Rodzaj: NPC
Wersja tibii: 8.1
Skrypt to The Oracle.
Oracle ma nas teleportowa? po 8 lvl do miast:
Liberty Bay, Karmia, Desert, Venore oraz inferno
Dane temple
Liberty Bay:x547 y708 z7
Karmia: x438 y504 z7
Desert: x359 y493 z7
Venore: x402 y384 z6
Inferno: x481 y429 z7
Dobrze gdyby The oracle by? po polsku ale niekoniecznie.
Dobrze by by?o gdyby po wybraniu miasta Gracz "Respi?" si? w wybranym mie?cie.
Z g?ry dzi?kuje, Pozdrawiam
Czy zrobi?? Tak

Skrypt(po d?ugich godzinach(no mo?e minutach) wreszcie napisa?em):
Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
talkState = 0
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)    npcHandler:onCreatureSay(cid, type, msg)    end
function onThink()                        npcHandler:onThink()                        end

function creatureSayCallback(cid, type, msg)
    if(npcHandler.focus ~= cid) then
        return FALSE
    end

    if (msgcontains(msg, 'yes') and talkState == 0) then
    if (getPlayerLevel(cid) >= 8) then
        npcHandler:say('Gdzie chcesz mieszkac? Masz do wyboru Liberty Bay, Karmia, Desert, Venore albo Inferno.')
        talkState = 1
    else
        npcHandler:say('Musisz miec 8 poziom albo wyzej zeby wyjsc z wyspy nowych.')
    end
    elseif (msgcontains(msg, 'karmia') and talkState == 1) then
        npcHandler:say('W takim tazie bedziesz mieszkal w miescie Karmia. Kim chcesz byc? Masz do wyboru Mag, Druid, Palladyn albo Rycerz. Jaka jest twoja decyzja?')
        talkState = 2
        miasto = 2
    elseif (msgcontains(msg, 'liberty bay') and talkState == 1) then
        npcHandler:say('W takim tazie bedziesz mieszkal w miescie Liberty Bay. Kim chcesz byc? Masz do wyboru Mag, Druid, Palladyn albo Rycerz. Jaka jest twoja decyzja?')
        talkState = 2
        miasto = 1
    elseif (msgcontains(msg, 'desert') and talkState == 1) then
        npcHandler:say('W takim tazie bedziesz mieszkal w miescie Desert. Kim chcesz byc? Masz do wyboru Mag, Druid, Palladyn albo Rycerz. Jaka jest twoja decyzja?')
        talkState = 2
        miasto = 3
    elseif (msgcontains(msg, 'venore') and talkState == 1) then
        npcHandler:say('W takim tazie bedziesz mieszkal w miescie Venore. Kim chcesz byc? Masz do wyboru Mag, Druid, Palladyn albo Rycerz. Jaka jest twoja decyzja?')
        talkState = 2
        miasto = 4
    elseif (msgcontains(msg, 'inferno') and talkState == 1) then
        npcHandler:say('W takim tazie bedziesz mieszkal w miescie Inferno. Kim chcesz byc? Masz do wyboru Mag, Druid, Palladyn albo Rycerz. Jaka jest twoja decyzja?')
        talkState = 2
        miasto = 4
    elseif (msgcontains(msg, 'mag') and talkState == 2) then
        npcHandler:say('Chcesz byc poteznym magiem. Czy taka jest twoja wola?')
        talkState = 3
        profesja = 1
    elseif (msgcontains(msg, 'druid') and talkState == 2) then
        npcHandler:say('Chcesz byc druidem. Czy taka jest twoja wola?')
        talkState = 3
        profesja = 2
    elseif (msgcontains(msg, 'palladyn') and talkState == 2) then
        npcHandler:say('Chcesz byc zdolnym palladynem. Czy taka jest twoja wola?')
        talkState = 3
        profesja = 3
    elseif (msgcontains(msg, 'rycerz') and talkState == 2) then
        npcHandler:say('Chcesz byc silnym rycerzem. Czy taka jest twoja wola?')
        talkState = 3
        profesja = 4
    elseif (msgcontains(msg, 'tak') and talkState == 3) then
        npcHandler:say('Powodzenia.')
        talkState = 0
        if (miasto == 1) then
            doTeleportThing(cid,{x=547, y=708, z=7})
            doPlayerSetMasterPos(cid,{x=547, y=708, z=7})
        elseif (miasto == 2) then
            doTeleportThing(cid,{x=438, y=504, z=7})
            doPlayerSetMasterPos(cid,{x=438, y=504, z=7})
        elseif (miasto == 3) then
            doTeleportThing(cid,{x=359, y=493, z=7})
            doPlayerSetMasterPos(cid,{x=359, y=493, z=7})
        elseif (miasto == 4) then
            doTeleportThing(cid,{x=402, y=384, z=6})
            doPlayerSetMasterPos(cid,{x=402, y=384, z=6})
        elseif (miasto == 5) then
            doTeleportThing(cid,{x=481, y=429, z=7})
            doPlayerSetMasterPos(cid,{x=481, y=429, z=7})
        end
            doPlayerSetVocation(cid,profesja)
    end
    return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Powinien dzia?a?.

Pozdro,
Gelio
 
Ostatnio edytowane przez moderatora:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Wiem,wiem chyba cie zam?czymy :D XDD
Typ:Action
Wersja:8.22
Opis:Skrzynia klikniemy na ni? use i dostajemy oil lamp.
No dobra, ale we?cie ju? dzisiaj piszcie tylko najpotrzebniejsze skrypty.

Skrypt:
Kod:
function onUse(cid, item, frompos, item2, topos)
local id = 1597   -- ID oil lamp. Wpisz dobre

if (getPlayerStorageValue(cid,5283) == -1) then
	doPlayerAddItem(cid,1,id)
	doPlayerSendTextMessage(cid,19,"You have found an oil lamp.")
	setPlayerStorageValue(cid,5283,1)
else
	doPlayerSendTextMessage(cid,19,"It\'s empty.")
end
end

Pozdro,
Gelio
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

A pom?g?by? mi zrobi? w skrypcie od runek z silnika evo 7.92, aby sprzedawa? manafluidy 120gp za sztuk?, b?d? backpackami (2,4k) (tyle ?e nie wiem czy silnik ma buycontainer czy co?tam)??
To jest ten skrypt:
Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)



-- OTServ event handling functions start
function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) 			npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) 	npcHandler:onCreatureSay(cid, type, msg) end
function onThink() 						npcHandler:onThink() end
-- OTServ event handling functions end

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)

shopModule:addBuyableItem({'light wand', 'lightwand'}, 					2163, 50, 		'magic light wand')
shopModule:addBuyableItem({'heavy magic missile', 'hmm'}, 				2311, 2000, 	100,	'heavy magic missile rune')
shopModule:addBuyableItem({'great fireball', 'gfb'}, 					2304, 3000, 	100, 	'great fireball rune')
shopModule:addBuyableItem({'explo', 'xpl'}, 							2313, 5000, 	100, 	'explosion rune')
shopModule:addBuyableItem({'ultimate healing', 'uh'}, 					2273, 4000, 	100, 	'ultimate healing rune')
shopModule:addBuyableItem({'sudden death', 'sd'}, 						2268, 6000, 	100, 	'sudden death rune')

shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 				2187, 15000, 	'wand of inferno')
shopModule:addBuyableItem({'wand of plague', 'plague'}, 				2188, 5000, 	'wand of plague')
shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 	2189, 10000, 	'explosion rune')
shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 				2190, 500, 	 	'wand of cosmic energy')
shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 	2191, 1000, 	'wand of dragonbreath')

shopModule:addBuyableItem({'quagmire rod', 'quagmire'}, 				2181, 10000, 	'quagmire rod')
shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 				2182, 500, 	 	'snakebite rod')
shopModule:addBuyableItem({'tempest rod', 'tempest'}, 					2183, 15000, 	'tempest rod')
shopModule:addBuyableItem({'volcanic rod', 'volcanic'}, 				2185, 5000, 	'volcanic rod')
shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 				2186, 1000,   	'moonlight rod')

npcHandler:addModule(FocusModule:new())
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

A pom?g?by? mi zrobi? w skrypcie od runek z silnika evo 7.92, aby sprzedawa? manafluidy 120gp za sztuk?, b?d? backpackami (2,4k) (tyle ?e nie wiem czy silnik ma buycontainer czy co?tam)??
To jest ten skrypt:
Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
-- OTServ event handling functions start
function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) 			npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) 	npcHandler:onCreatureSay(cid, type, msg) end
function onThink() 						npcHandler:onThink() end
-- OTServ event handling functions end
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
shopModule:addBuyableItem({'light wand', 'lightwand'}, 					2163, 50, 		'magic light wand')
shopModule:addBuyableItem({'heavy magic missile', 'hmm'}, 				2311, 2000, 	100,	'heavy magic missile rune')
shopModule:addBuyableItem({'great fireball', 'gfb'}, 					2304, 3000, 	100, 	'great fireball rune')
shopModule:addBuyableItem({'explo', 'xpl'}, 							2313, 5000, 	100, 	'explosion rune')
shopModule:addBuyableItem({'ultimate healing', 'uh'}, 					2273, 4000, 	100, 	'ultimate healing rune')
shopModule:addBuyableItem({'sudden death', 'sd'}, 						2268, 6000, 	100, 	'sudden death rune')
shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 				2187, 15000, 	'wand of inferno')
shopModule:addBuyableItem({'wand of plague', 'plague'}, 				2188, 5000, 	'wand of plague')
shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 	2189, 10000, 	'explosion rune')
shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 				2190, 500, 	 	'wand of cosmic energy')
shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 	2191, 1000, 	'wand of dragonbreath')
shopModule:addBuyableItem({'quagmire rod', 'quagmire'}, 				2181, 10000, 	'quagmire rod')
shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 				2182, 500, 	 	'snakebite rod')
shopModule:addBuyableItem({'tempest rod', 'tempest'}, 					2183, 15000, 	'tempest rod')
shopModule:addBuyableItem({'volcanic rod', 'volcanic'}, 				2185, 5000, 	'volcanic rod')
shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 				2186, 1000,   	'moonlight rod')
npcHandler:addModule(FocusModule:new())
Ok, prosz?. Zrobi?em na razie tylko to ze zwyk?ymi mana fluidami.
Skrypt:
Kod:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
-- OTServ event handling functions start
function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) 			npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) 	npcHandler:onCreatureSay(cid, type, msg) end
function onThink() 						npcHandler:onThink() end
-- OTServ event handling functions end
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
shopModule:addBuyableItem({'light wand', 'lightwand'}, 					2163, 50, 		'magic light wand')
shopModule:addBuyableItem({'heavy magic missile', 'hmm'}, 				2311, 2000, 	100,	'heavy magic missile rune')
shopModule:addBuyableItem({'great fireball', 'gfb'}, 					2304, 3000, 	100, 	'great fireball rune')
shopModule:addBuyableItem({'explo', 'xpl'}, 							2313, 5000, 	100, 	'explosion rune')
shopModule:addBuyableItem({'ultimate healing', 'uh'}, 					2273, 4000, 	100, 	'ultimate healing rune')
shopModule:addBuyableItem({'sudden death', 'sd'}, 						2268, 6000, 	100, 	'sudden death rune')
shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 				2187, 15000, 	'wand of inferno')
shopModule:addBuyableItem({'wand of plague', 'plague'}, 				2188, 5000, 	'wand of plague')
shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 	2189, 10000, 	'explosion rune')
shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 				2190, 500, 	 	'wand of cosmic energy')
shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 	2191, 1000, 	'wand of dragonbreath')
shopModule:addBuyableItem({'quagmire rod', 'quagmire'}, 				2181, 10000, 	'quagmire rod')
shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 				2182, 500, 	 	'snakebite rod')
shopModule:addBuyableItem({'tempest rod', 'tempest'}, 					2183, 15000, 	'tempest rod')
shopModule:addBuyableItem({'volcanic rod', 'volcanic'}, 				2185, 5000, 	'volcanic rod')
shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 				2186, 1000,   	'moonlight rod')
shopModule:addBuyableItem({'manafluid', 'manapotion', 'mana potion'}, [B]7620[/B], 120,       'mana potion'},
npcHandler:addModule(FocusModule:new())
Pozdro,
Gelio

@down
No to dodaj do items.xml. Albo zmie? id (pogrubione) na id mana potiona.
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Wiatm.
Czy uda?o by ci sie zrobi? taki skrypt:
Kod:
1.kole? wchodzi w tp na questa.
i gdy koles jaz tam b?dzie to zauwazy pok?j
i gdzy przejdzie przez drzwi oddpchaj? go w stron? pokoju i  zrobi? si? one CLOSED i pojawi si? 6 demon?w
Gdy je zabije Uka?e si? skrzynia(quest) z Demon Armorem,legami i helmet,i BP of Holding
Gdy juz zbierze Nagrod? i Wtedy si? pojawia Orshaball i gdy gracz go zabije poka?e si? TP do DP albo tam gdzie?
2.Prosi?bym o 2 komendy
Kod:
/addskil "namegracza,level 2 itp.
/addacces "namegracza 3  (i accesy od 1 do 5)
Oby 2 komendy maj? by? dla GOD'?w i wy?ej postawionych czyli tych kt?rzy posiadaj? acces 5 lub wi?kszy
I narazie to na tyle :D
Tibia 8.1
Aries 0.4.0
Pierwsze postaram si? jutro zrobi?, bo dzisiaj ju? nie mam czasu. Z komend to tylko moge co? takiego zrobi?, ?e jest: /settutor "Name gracza
albo
/setplayer "Name gracza
lub np.
/setgamemaster "Name gracza,
ale to te? dopiero jutro. Jutro dam edita

1.Rodzaj: spell
2.8.11
3.Poprosz? o Rasengan jutsu z naruto ma by? dla ka?dej profki z rl i jakby si? da?o to takie dzia?anie:
Teleport do wycelowangeo potworka,uderzenie i odrzut potworka o 2 pola do ty?u.
Bardzo bym prosi?:)
Mo?e by? teleport do wycelowanego potworka, ale nie da si? zrobi?, ?eby odrzuca?o potwora. Jutro dam edita, bo dzisiaj ju? nie mam czasu, ?eby zrobi?.

Pozdro,
Gelio

@edit
Spell ju? jest:
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
sesetCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -2.4, 0)

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
if (target ~= 0) then
    doCombat(cid, combat, numberToVariant(target))
end
doCombat(cid, combat1, var)
end
 
Ostatnio edytowane przez moderatora:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

mam pare zam?wie?,i jesli mog? prosi? to wy?lij mi je jeszcze na pw, z g?ry thx.

zam?wienie 1

Rodzaj: np. actions
Wersja tibii: np. 8.1 evo
gracz klika na skrzynie albo co innego (runka, beczka, itd.), i zmienia mu si? p?e? na okre?lon? przezemnie


Rodzaj: np. actions
Wersja tibii: np. 8.1 evo
gracz klika na skrzynie albo co innego (runka, beczka, itd.), i zmienia mu si? profesja na okre?lon? przezemnie
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Co do zmienienia voca chyba moze byc taki skrypt

Data/actions/scripts/zmianavoc.lua

Kod:
function onUse(cid, item, frompos, item2, topos)
if item.uid == [COLOR="Red"]11111[/COLOR] then
doPlayerSetVocation(uid,[COLOR="DarkRed"]voc[/COLOR])

end

uid itema
profesja na jaka ma zmienic

A w data/actions/actions.xml sobie chyba poradzisz ;]
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

1.
8.2
action
Opis: mo?na wode ze studni wypompowa? z wiadrem ;]
2.
8.2
action
Most zwodzony
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

Rodzaj:Spells
Wersja tibii:7.6
Find Person
tak jak w rl
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

1.
8.2
action
Opis: mo?na wode ze studni wypompowa? z wiadrem ;]
2.
8.2
action
Most zwodzony

Moze tak bys napisal o co chodzi z tym moscie zwodzonym? ;o

@Up
Sciagnij byle jaki silnik w ktorym jest exiva i skopiuj ja, znajduje sie w: data/spells
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

A zrobisz skrypt crystal arrow pod 7.92?? Sprawdza?em i nie znika, ale nie zadaje te? obra?en
i distance te? nie ro?nie.
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

1.
rodzaj:action
Wersja:8.22 TFS
Opis:dzi?ki skryptowi mo?na zrywa? pomara?cze z drzewa tak jak z blueberries berriesy.

To tyle,ty naprawde potrafisz wszystko!
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

1.
rodzaj:action
Wersja:8.22 TFS
Opis:dzi?ki skryptowi mo?na zrywa? pomara?cze z drzewa tak jak z blueberries berriesy.
To tyle,ty naprawde potrafisz wszystko!
Dzi?ki ;p.

Skrypt (uzupe?nij konfiguracje na g?rze):
Kod:
function onUse(cid, item, frompos, item2, topos)
local ile = 3  -- Ile pomaranczow dostajesz
local pomarancz = xxxx   -- Id pomarancza
local drzewo = xxxx   -- ID drzewa, jakie ma zostac (bez pomaranczy)
local drzewo_z = xxxx   -- ID drzewa z pomaranczami
local za_ile = 5    -- Za ile sekund drzewo ma sie zmienic w drzewo z pomaranczami

doTransformThing(item,drzewo)
doPlayerAddItem(cid,pomarancz,ile)
local x = { cid = cid, item = item, drzewo_z = drzewo_z }
addEvent(rosniecie, za_ile*1001, x)

end

function rosniecie(x)
doTransformThing(x.item,x.drzewo_z)
end

Powinno dzia?a?.
Pozdro,
Gelio
 
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

TFS 8.31
action
chce cos takiego zrobic jak tp tylko rze jak wejde w niego to mnie teleprtuje i ustala mi townid czyli miejsce gdzie sie odrodze po smierc

pozycja gdzie ma teleportowac moze cie wpisac po xxx
townid zaznaczcie x
TFS 8.31
actions na uid najlepiej
chce cos takiego ze jak ktos przeciognie dzwignie to sie pojawi druga a ta zniknie a jak przeciagnie druga to sie pojawi tp (jak mozesz ustaw pozycje tp jaka kolwiek)
doadm ze kazde z tych ze czy jest w innym miejscu

robiles tam skrypt na movent ments z ogniem po bokach ja bym potrzbowa cos takiego tylko ze w odwrotna strone maja sie gasic te ognie
 
Ostatnia edycja:
Odp: [x.x] Skrypty na zam?wienie.

Odp: [x.x] Skrypty na zam?wienie.

No ja te? zam?wie,nie musisz dzi?kowa?,ja tylko m?wie prawde.To z pomara?czami dzia?a,dzi?ki wielkie!
1.
Typ:Action
Wersja:8.22 TFS
Opis:Chodzi mi oto ?e jak gracz b?dzie chcia? otworzy? skrzynke to ona zniknie(ale inni b?d? j? widzie? je?li jej jeszcze nie u?yli),a gostka wtedy zacznie ?upa? ogien,poison,energy i wszystko mo?liwe co tak rani jak ogien,i go teleportuje w dane miejsce.

EDIT:Zauwa?y?em tw?j podpis :) ja nie moge da? ju? tobie punkt?w reputacji :( musze da? najpierw komu? innemu.
 
Status
Zamknięty.
Do góry