Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa

 
Tibia.net.pl

Wróć   Tibia.net.pl > Czytelnia > Poradniki > Poradniki OpenTibia

#2 event Tibia.net.pl: Kończymy rozgrzewkę! (Start - Sobota, godz. 17:00) Big meeting (22 listopada, Poznań)


  Tibia.net.pl (#?)
Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa

Dyskusja dotycząca tematu Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa, który znajduje się w kategorii Poradniki (Pomocne teksty, artykuły i najczęściej zadawane pytania.), na forum Poradniki OpenTibia (Poradniki związane ze światem otwartej Tibii). Treść: Przepraszam ale niestety będę musiał tutaj double postować Witam, tak więc zastanawiając się postanowiłem zrobić taki duży temat gdzie będą znajdowały ...



Odpowiedz
 
10-07-2008, 00:57  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa


Przepraszam ale niestety będę musiał tutaj double postować

Witam, tak więc zastanawiając się postanowiłem zrobić taki duży temat gdzie będą znajdowały się przydatne poradniki. Zaczynamy Oczywiście

Tutaj opiszę Vocations.xml - opis funkcji.

UWAGA - Przerobię tylko 1 profesję - we wszystkich innych są te same funkcje

Cytat:
<vocation id="1" name="Sorcerer" description="a Sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" gainsoulticks="3600" gainsoulamount="1" maxsoul="100" manamultiplier="1.1" attackspeed="1000" prevoc="1" basespeed="220">
<diepercent experience="8" magic="8" skill="8" equipment="8" container="100"/>
<formula damage="1.2" defense="1.1" armor="1.1"/>
<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>
vocation id="1" - ID profesji - nie zmieniajcie ;]
name="Sorcerer" - nazwa profesji
description="a Sorcerer" - opis profesji (You see bla. He is a Sorcerer
gaincap="10" gainhp="5" gainmana="30" - ile capu, hp, many dostaje co level.
gainhpamount="5" gainmanaamount="5" - ile hp i many odnawia.
maxsoul="100" - maksimum punktów soul
manamultiplier="1.1" - ile razy szybciej leci magic level
attackspeed="1000" - szybkośc ataku - 1000=1 sekunda
basespeed="220" - początkowa szybkosc chodzenia
<diepercent experience="8" magic="8" skill="8" equipment="8" container="100"/> - ile procent EXPa, magic levelu, skilla traci, ile ma procent na stratę EQ, baga/backpacka.
<formula damage="1.2" defense="1.1" armor="1.1"/>
<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>


- Mnożniki - razy ile leci jaki skill (kolejnosc jak w kliencie).

Have Fun

Wszystkie funkcje LUA w najnowszych SVN!* AUTOR: Killavus

Zacznijmy od rzeczy definitywnej - w najnowszych SVN nie ma rozróżnienia na funkcję dla NPCów, Actions, Movements, Talkactions itp... wszystkie funkcje są dostępne dla wszystkich skryptów.

W poniższym spisie pragnę omówić wszystkie funkcje LUA, które możesz zastosować w swoich skryptach.

Funkcje podstawowe spiszę tutaj:

Kod:
Actionscript:
function onUse(cid, item, frompos, item2, topos)
Movement:
function onStepIn(cid, item, pos)
function onStepOut(cid, item, pos)
function onEquip(cid, item, slot)
function onDeEquip(cid, item, slot)
function onAddItem(moveitem, tileitem, pos)
function onRemoveItem(moveitem, tileitem, pos)
Weapons:
function onUseWeapon(cid, var)
Spells:
function onTargetCreature(cid, target)
function onCastSpell(cid, var)
function onUse(cid, item, frompos, item2, topos) – funkcja wyzwalana przy użyciu przedmiotu. Wywoływana z argumentami: cid (właściwie to uid, ale cid to ten, który użył przedmiot, więc będzie najczęściej używany), item (przedmiot, który jest używany. Aby go wywołać posługujemy się komendą item.uid), frompos (pozycja, z jakiej został użyty przedmiot.), item2 (przedmiot, na którym używamy przedmiotu... wiem, że to zawile brzmi. Wywołuje się to komendą item2.uid) oraz topos (pozycja na której został użyty przedmiot).
Funkcje z udziałem tej funkcji zapisujemy w data/actions/scripts. Deklarujemy je w actions.xml.

Przykłady deklaracji:

Kod:
<action itemid="przykładowy item" script="przykład.lua" />
<action uniqueid="przykładowe UID" script="przykład.lua" />
<action actionid="przykładowe AID" script="przykład.lua" />
Function onStepIn(cid, item, pos) – funkcja wyzwalana przy wejściu na daną tile (przedmiot). Wywoływana z argumentami cid, item, pos (jeżeli nie wiesz, co to za argumenty, spójrz do opisu onUse... pos to pozycja, na którą wszedł gracz). Takowe skrypty zapisujemy do data/movements/scripts. Deklarujemy je w movements.xml.

Przykłady deklaracji:
Kod:
<movevent event="StepIn" itemid="Item" script="przykład.lua" />
<movevent event="StepIn" uniqueid="UID" script="przykład.lua" />
<movevent event="StepIn" actionid="AID" script="przykład.lua" />
Przykład skryptu:
Kod:
function onStepIn(cid, item, pos)
	if(pos.x == 200) and (pos.y == 200) and (pos.z == 7) then
  doPlayerSendTextMessage(cid, 19, “Ha! Stoje na tile o X: 200, Y: 200 i Z:200!”
	end
return 1
end
function onStepOut(cid, item, pos) – funkcja odwrotna do onStepIn. Deklaruje się ją w tym samym miejscu. Uruchamia się, gdy gracz ZEJDZIE z danego pola.

Przykłady deklaracji:
Kod:
<movevent event="StepOut" itemid="Item" script="przykład.lua" />
<movevent event="StepOut" actionid="AID" script="przykład.lua" />
<movevent event="StepOut" uniqueid="UID" script="przykład.lua" />
Przykład skryptu:
Kod:
function onStepOut(cid, item, pos)
	if(item.uid ~= 8000) then
  doPlayerSendTextMessage(cid, 19, “O nie! Ta tile nie miała uniqueid 8000;(“)
	end
return 1
end
function onEquip(cid, item, slot) – funkcja wyzwalana przy equipie (“założeniu na siebie”) danego itemu. Deklaruje się ją w tym samym miejsciu co onStepIn oraz onStepOut. Również w tym samym miejscu się ją zapisuje. Wywoływana z argumentami cid, item, slot (tutaj tylko slot jest nowy – jest to miejsce, gdzie item jest wsadzony...)

Przykłady deklaracji:
Kod:
<movevent event="Equip" itemid="Item ID" slot="miejsce" script=”przykład.lua” />
<movevent event="Equip" actionid="AID" slot="miejsce" script=”przykład.lua” />
<movevent event="Equip" uniqueid="UID" slot="miejsce" script=”przykład.lua” />
Przykład skryptu:
Kod:
function onEquip(cid, item, slot)
 if(slot ~= 1) then
doPlayerSendTextMessage(cid, 19, “Mysle, ze helm lepiej zalozyc na glowe.”)
 end
return 1
end
function onDeEquip(cid, item, slot) – funkcja odwrotna do onEquip. Deklaruje się ją w tym samym miejsciu co onStepIn oraz onStepOut. Również w tym samym miejscu się ją zapisuje. Wywoływana z argumentami cid, item, slot.

Przykłady deklaracji:
Kod:
<movevent event="DeEquip" itemid="Item ID" slot="miejsce" script=”przykład.lua” />
<movevent event="DeEquip" actionid="AID" slot="miejsce" script=”przykład.lua” />
<movevent event="DeEquip" uniqueid="UID" slot="miejsce" script=”przykład.lua” />
Przykład skryptu:
Kod:
function onDeEquip(cid, item, slot)
if(item.itemid == 2195) and (slot == 8) then
 doPlayerSendTextMessage(cid, 19, “Zdjalem moje drogocenne BoHy :(“)
end
 return 1
end
UWAGA! W deklaracji podałem tajemnicze “miejsce”... mianowicie, wpisuje się tam:
Kod:
head – głowa
necklace – naszyjnik (amulet)
backpack – no... tam gdzie się trzyma plecak :P (plecy)
armor – zbroja
right-hand – prawa ręka
left-hand – lewa ręka
legs – nogawice
feet – buty
ring – pierścień
function onAddItem(moveitem, tileitem, pos) – funkcja wyzwalana przy stworzeniu przedmiotu na danym przedmiocie, gdzie moveitem to ten przedmiot (tworzony), tileitem to przedmiot, na którym ten przedmiot jest tworzony. Zapisuje się tam gdzie inne movement funkcje.

Przykłady deklaracji:
Kod:
<movevent event="AddItem" tileitem="Item ID" itemid="Item ID" script=”przykład.lua”/>
<movevent event="AddItem" tileitem="Item ID" actionid="AID"  script=”przykład.lua”/>
<movevent event="AddItem" tileitem="Item ID" uniqueid="UID" script=”przykład.lua”/>
Przykład skryptu:
Kod:
function onAddItem(moveitem, tileitem, pos)
if(tileitem ~= 101) then
 doTransformItem(tileitem.uid, 101)
end
return 1
end
function onRemoveItem(moveitem, tileitem, pos) – funkcja odwrotna od onAddItem. Argumenty te same, zapisywanie to same.

Przykłady deklaracji:
Kod:
<movevent event="RemoveItem" tileitem="Item ID" itemid="Item ID" script=”przykład.lua”/>
<movevent event="RemoveItem" tileitem="Item ID" actionid="AID"  script=”przykład.lua”/>
<movevent event=”RemoveItem" tileitem="Item ID" uniqueid="UID" script=”przykład.lua”/>
Przykład skryptu:
Kod:
function onRemoveItem(moveitem, tileitem, pos)
if(tileitem == 101) then
 doTransformItem(tileitem.uid, math.random(101, 6000)
end
return 1
end
function onUseWeapon(cid, var) – Funkcja wywoływana przy użyciu broni (ataku). Argumenty są jasne, var nie jest dla nas istotne . Skrypty z tą funkcją zapisuje się do data/weapons/scripts, a deklaruje w weapons.xml

Przykłady deklaracji:
Kod:
<wand id="ID Wanda" range="Zasięg” enabled="1" exhaustion="Powoduje wyczerpanie?" script="przykład.lua"></wand>
<distance id="ID Itemu" range="Zasięg” ammo="Usuwać czy przesuwać na pozycję ataku (jak speary?) (move albo removecount)" enabled="1" script="przykład.lua"></distance>
Przykład skryptu:
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISONARROW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.1, -30, -0.2, 0)
local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 10, 2000, -10)
setCombatCondition(combat, condition)
function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end
function onTargetCreature(cid, target) – Funkcja wywoływana na “trafionej creature”. Cid to kreatura, która rzuca spell, a target to nasz cel. Skrypty z tą funkcją zapisuje się do data/spells/scripts. Deklaruje się je w actions.xml. UWAGA! Ten skrypt jest “stale zespolony” z funkcją onCastSpell!
function onCastSpell(cid, var) – zespolona z onTargetCreature.

Przykłady deklaracji:
Kod:
<rune name="Nazwa Runy" id="ID Runy" charges="Liczba ładunków" needtarget="Potrzebuje celu?" lvl="Lvl wymagany do użycia" maglv="Mlvl wymagany do użycia" mana="mana potrzebna do użycia" soul=”soule potrzebne do użycia" exhaustion="powoduje wyczerpanie?" prem="dla Premium? (nie działa.)" enabled="1" allowfaruse="1" script="przykład.lua"></rune>
<instant name=”Nazwa spella" words="Słowa, które należy wypowiedzieć" direction="Potrzebuje kierunku gracza?" blocktype="co blokuje ten spell?" lvl="wymagany lvl" maglv="wymagany mlvl" mana="wymagana mana" soul="wymagane soule" exhaustion="powoduje wyczerpanie?" prem="dla Premium? (nie działa.)" enabled="1" script="przykład.lua">
<vocation name="nazwa profesji."/>
</instant>
Przykład skryptu:
Kod:
local ArrayRopeSpot = {384, 418}
function onCastSpell(cid, var)
	local pos = getPlayerPosition(cid)
	pos.stackpos = 0
	local grounditem = getThingfromPos(pos)
	if(isInArray(ArrayRopeSpot, grounditem.itemid) == TRUE) then
		local newpos = pos
		newpos.y = newpos.y + 1
		newpos.z = newpos.z - 1
		doTeleportThing(cid, newpos)
		doSendMagicEffect(pos, CONST_ME_ENERGYAREA)
		return LUA_NO_ERROR
	else
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		doSendMagicEffect(pos, CONST_ME_POFF)
		return LUA_ERROR
	end	
end
To wszystko. Przejdźmy do poleceń:
 


10-07-2008, 00:58  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Witam, tak więc zastanawiając się postanowiłem zrobić taki duży temat gdzie będą znajdowały się przydatne poradniki. Zaczynamy Oczywiście

Tutaj opiszę Vocations.xml - opis funkcji.

UWAGA - Przerobię tylko 1 profesję - we wszystkich innych są te same funkcje

Cytat:
<vocation id="1" name="Sorcerer" description="a Sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" gainsoulticks="3600" gainsoulamount="1" maxsoul="100" manamultiplier="1.1" attackspeed="1000" prevoc="1" basespeed="220">
<diepercent experience="8" magic="8" skill="8" equipment="8" container="100"/>
<formula damage="1.2" defense="1.1" armor="1.1"/>
<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>
vocation id="1" - ID profesji - nie zmieniajcie ;]
name="Sorcerer" - nazwa profesji
description="a Sorcerer" - opis profesji (You see bla. He is a Sorcerer
gaincap="10" gainhp="5" gainmana="30" - ile capu, hp, many dostaje co level.
gainhpamount="5" gainmanaamount="5" - ile hp i many odnawia.
maxsoul="100" - maksimum punktów soul
manamultiplier="1.1" - ile razy szybciej leci magic level
attackspeed="1000" - szybkośc ataku - 1000=1 sekunda
basespeed="220" - początkowa szybkosc chodzenia
<diepercent experience="8" magic="8" skill="8" equipment="8" container="100"/> - ile procent EXPa, magic levelu, skilla traci, ile ma procent na stratę EQ, baga/backpacka.
<formula damage="1.2" defense="1.1" armor="1.1"/>
<skill id="0" multiplier="1.5"/>
<skill id="1" multiplier="2.0"/>
<skill id="2" multiplier="2.0"/>
<skill id="3" multiplier="2.0"/>
<skill id="4" multiplier="2.0"/>
<skill id="5" multiplier="1.5"/>
<skill id="6" multiplier="1.1"/>


- Mnożniki - razy ile leci jaki skill (kolejnosc jak w kliencie).

Have Fun

Wszystkie funkcje LUA w najnowszych SVN!* AUTOR: Killavus

Zacznijmy od rzeczy definitywnej - w najnowszych SVN nie ma rozróżnienia na funkcję dla NPCów, Actions, Movements, Talkactions itp... wszystkie funkcje są dostępne dla wszystkich skryptów.

W poniższym spisie pragnę omówić wszystkie funkcje LUA, które możesz zastosować w swoich skryptach.

Funkcje podstawowe spiszę tutaj:

Kod:
Actionscript:
function onUse(cid, item, frompos, item2, topos)
Movement:
function onStepIn(cid, item, pos)
function onStepOut(cid, item, pos)
function onEquip(cid, item, slot)
function onDeEquip(cid, item, slot)
function onAddItem(moveitem, tileitem, pos)
function onRemoveItem(moveitem, tileitem, pos)
Weapons:
function onUseWeapon(cid, var)
Spells:
function onTargetCreature(cid, target)
function onCastSpell(cid, var)
function onUse(cid, item, frompos, item2, topos) – funkcja wyzwalana przy użyciu przedmiotu. Wywoływana z argumentami: cid (właściwie to uid, ale cid to ten, który użył przedmiot, więc będzie najczęściej używany), item (przedmiot, który jest używany. Aby go wywołać posługujemy się komendą item.uid), frompos (pozycja, z jakiej został użyty przedmiot.), item2 (przedmiot, na którym używamy przedmiotu... wiem, że to zawile brzmi. Wywołuje się to komendą item2.uid) oraz topos (pozycja na której został użyty przedmiot).
Funkcje z udziałem tej funkcji zapisujemy w data/actions/scripts. Deklarujemy je w actions.xml.

Przykłady deklaracji:

Kod:
<action itemid="przykładowy item" script="przykład.lua" />
<action uniqueid="przykładowe UID" script="przykład.lua" />
<action actionid="przykładowe AID" script="przykład.lua" />
Function onStepIn(cid, item, pos) – funkcja wyzwalana przy wejściu na daną tile (przedmiot). Wywoływana z argumentami cid, item, pos (jeżeli nie wiesz, co to za argumenty, spójrz do opisu onUse... pos to pozycja, na którą wszedł gracz). Takowe skrypty zapisujemy do data/movements/scripts. Deklarujemy je w movements.xml.

Przykłady deklaracji:
Kod:
<movevent event="StepIn" itemid="Item" script="przykład.lua" />
<movevent event="StepIn" uniqueid="UID" script="przykład.lua" />
<movevent event="StepIn" actionid="AID" script="przykład.lua" />
Przykład skryptu:
Kod:
function onStepIn(cid, item, pos)
	if(pos.x == 200) and (pos.y == 200) and (pos.z == 7) then
  doPlayerSendTextMessage(cid, 19, “Ha! Stoje na tile o X: 200, Y: 200 i Z:200!”
	end
return 1
end
function onStepOut(cid, item, pos) – funkcja odwrotna do onStepIn. Deklaruje się ją w tym samym miejscu. Uruchamia się, gdy gracz ZEJDZIE z danego pola.

Przykłady deklaracji:
Kod:
<movevent event="StepOut" itemid="Item" script="przykład.lua" />
<movevent event="StepOut" actionid="AID" script="przykład.lua" />
<movevent event="StepOut" uniqueid="UID" script="przykład.lua" />
Przykład skryptu:
Kod:
function onStepOut(cid, item, pos)
	if(item.uid ~= 8000) then
  doPlayerSendTextMessage(cid, 19, “O nie! Ta tile nie miała uniqueid 8000;(“)
	end
return 1
end
function onEquip(cid, item, slot) – funkcja wyzwalana przy equipie (“założeniu na siebie”) danego itemu. Deklaruje się ją w tym samym miejsciu co onStepIn oraz onStepOut. Również w tym samym miejscu się ją zapisuje. Wywoływana z argumentami cid, item, slot (tutaj tylko slot jest nowy – jest to miejsce, gdzie item jest wsadzony...)

Przykłady deklaracji:
Kod:
<movevent event="Equip" itemid="Item ID" slot="miejsce" script=”przykład.lua” />
<movevent event="Equip" actionid="AID" slot="miejsce" script=”przykład.lua” />
<movevent event="Equip" uniqueid="UID" slot="miejsce" script=”przykład.lua” />
Przykład skryptu:
Kod:
function onEquip(cid, item, slot)
 if(slot ~= 1) then
doPlayerSendTextMessage(cid, 19, “Mysle, ze helm lepiej zalozyc na glowe.”)
 end
return 1
end
function onDeEquip(cid, item, slot) – funkcja odwrotna do onEquip. Deklaruje się ją w tym samym miejsciu co onStepIn oraz onStepOut. Również w tym samym miejscu się ją zapisuje. Wywoływana z argumentami cid, item, slot.

Przykłady deklaracji:
Kod:
<movevent event="DeEquip" itemid="Item ID" slot="miejsce" script=”przykład.lua” />
<movevent event="DeEquip" actionid="AID" slot="miejsce" script=”przykład.lua” />
<movevent event="DeEquip" uniqueid="UID" slot="miejsce" script=”przykład.lua” />
Przykład skryptu:
Kod:
function onDeEquip(cid, item, slot)
if(item.itemid == 2195) and (slot == 8) then
 doPlayerSendTextMessage(cid, 19, “Zdjalem moje drogocenne BoHy :(“)
end
 return 1
end
UWAGA! W deklaracji podałem tajemnicze “miejsce”... mianowicie, wpisuje się tam:
Kod:
head – głowa
necklace – naszyjnik (amulet)
backpack – no... tam gdzie się trzyma plecak :P (plecy)
armor – zbroja
right-hand – prawa ręka
left-hand – lewa ręka
legs – nogawice
feet – buty
ring – pierścień
function onAddItem(moveitem, tileitem, pos) – funkcja wyzwalana przy stworzeniu przedmiotu na danym przedmiocie, gdzie moveitem to ten przedmiot (tworzony), tileitem to przedmiot, na którym ten przedmiot jest tworzony. Zapisuje się tam gdzie inne movement funkcje.

Przykłady deklaracji:
Kod:
<movevent event="AddItem" tileitem="Item ID" itemid="Item ID" script=”przykład.lua”/>
<movevent event="AddItem" tileitem="Item ID" actionid="AID"  script=”przykład.lua”/>
<movevent event="AddItem" tileitem="Item ID" uniqueid="UID" script=”przykład.lua”/>
Przykład skryptu:
Kod:
function onAddItem(moveitem, tileitem, pos)
if(tileitem ~= 101) then
 doTransformItem(tileitem.uid, 101)
end
return 1
end
function onRemoveItem(moveitem, tileitem, pos) – funkcja odwrotna od onAddItem. Argumenty te same, zapisywanie to same.

Przykłady deklaracji:
Kod:
<movevent event="RemoveItem" tileitem="Item ID" itemid="Item ID" script=”przykład.lua”/>
<movevent event="RemoveItem" tileitem="Item ID" actionid="AID"  script=”przykład.lua”/>
<movevent event=”RemoveItem" tileitem="Item ID" uniqueid="UID" script=”przykład.lua”/>
Przykład skryptu:
Kod:
function onRemoveItem(moveitem, tileitem, pos)
if(tileitem == 101) then
 doTransformItem(tileitem.uid, math.random(101, 6000)
end
return 1
end
function onUseWeapon(cid, var) – Funkcja wywoływana przy użyciu broni (ataku). Argumenty są jasne, var nie jest dla nas istotne . Skrypty z tą funkcją zapisuje się do data/weapons/scripts, a deklaruje w weapons.xml

Przykłady deklaracji:
Kod:
<wand id="ID Wanda" range="Zasięg” enabled="1" exhaustion="Powoduje wyczerpanie?" script="przykład.lua"></wand>
<distance id="ID Itemu" range="Zasięg” ammo="Usuwać czy przesuwać na pozycję ataku (jak speary?) (move albo removecount)" enabled="1" script="przykład.lua"></distance>
Przykład skryptu:
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISONARROW)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.1, -30, -0.2, 0)
local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 10, 2000, -10)
setCombatCondition(combat, condition)
function onUseWeapon(cid, var)
	return doCombat(cid, combat, var)
end
function onTargetCreature(cid, target) – Funkcja wywoływana na “trafionej creature”. Cid to kreatura, która rzuca spell, a target to nasz cel. Skrypty z tą funkcją zapisuje się do data/spells/scripts. Deklaruje się je w actions.xml. UWAGA! Ten skrypt jest “stale zespolony” z funkcją onCastSpell!
function onCastSpell(cid, var) – zespolona z onTargetCreature.

Przykłady deklaracji:
Kod:
<rune name="Nazwa Runy" id="ID Runy" charges="Liczba ładunków" needtarget="Potrzebuje celu?" lvl="Lvl wymagany do użycia" maglv="Mlvl wymagany do użycia" mana="mana potrzebna do użycia" soul=”soule potrzebne do użycia" exhaustion="powoduje wyczerpanie?" prem="dla Premium? (nie działa.)" enabled="1" allowfaruse="1" script="przykład.lua"></rune>
<instant name=”Nazwa spella" words="Słowa, które należy wypowiedzieć" direction="Potrzebuje kierunku gracza?" blocktype="co blokuje ten spell?" lvl="wymagany lvl" maglv="wymagany mlvl" mana="wymagana mana" soul="wymagane soule" exhaustion="powoduje wyczerpanie?" prem="dla Premium? (nie działa.)" enabled="1" script="przykład.lua">
<vocation name="nazwa profesji."/>
</instant>
Przykład skryptu:
Kod:
local ArrayRopeSpot = {384, 418}
function onCastSpell(cid, var)
	local pos = getPlayerPosition(cid)
	pos.stackpos = 0
	local grounditem = getThingfromPos(pos)
	if(isInArray(ArrayRopeSpot, grounditem.itemid) == TRUE) then
		local newpos = pos
		newpos.y = newpos.y + 1
		newpos.z = newpos.z - 1
		doTeleportThing(cid, newpos)
		doSendMagicEffect(pos, CONST_ME_ENERGYAREA)
		return LUA_NO_ERROR
	else
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		doSendMagicEffect(pos, CONST_ME_POFF)
		return LUA_ERROR
	end	
end
To wszystko. Przejdźmy do poleceń:
 
10-07-2008, 00:58  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

W tym tutorialu pokarzę jak stworzyć poprawny i przede wszystkim działający restarter OTS

Tworzymy nowy plik np: notatnika i zapisujemy go jako restarter.bat lub pod inną nazwą z rozserzeniem .bat (np: reset.bat itp.)

Wpisujemy kod:

Kod:
echo off
title OTServer Restarter
color 80
cls
echo :::::::::::::::::::::::::::::::::::::::::::::::::::
echo ::             OTServer Restart             ::
echo :::::::::::::::::::::::::::::::::::::::::::::::::::
:controllerini
neverland.exe -- zamień nazwę na nazwę .exe twojego serwera
echo :::::::::::::::::::::::::::::::::::::::::::::::::::
echo ::         Your OTServer is restarting...        ::
echo :::::::::::::::::::::::::::::::::::::::::::::::::::
goto :controllerini
Wyłączenie wiadomości z błędami:
Start >> Panel sterowania >> System
W właściwościach systemu kliknij zaawansowane (zakładka). Wtedy z listy wybierz przycisk coś jak "Error Reporting" lub reportowanie błędów (Coś w tym stylu). Kliknij na niego.
Kliknij "Wyłącz reportowanie błędów" ("Diable error reporting"), i odznacz "Lecz powiadom mnie o krytycznych błędach" ("But notify me when critical errors occur")

Screen: http://img.photobucket.com/albums/v3...g_tutorial.jpg

Teraz jeśli twój serwer zcrashuje, nie musisz naciskać "Nie wysyłaj powiadomienia" - wszystko zrobi się automatycznie.

Jest to prostsza metoda od usług systemu windows.
 
10-07-2008, 00:59  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Instalowanie OTServa jako usługi Windowsa, Bardzo przydatny poradnik dla hosterów.

W tym tutorialu pokażemy jak zainstalować Open Tibia Server jako usługę systemu Windows, co oznacza:
1. Brak okna poleceń na pulpicie.
2. Automatyczny restart po crashu, wtedy możesz robić inną akcję.


Więc, zaczynamy!
1. Potrzebujesz Windows Resource Kit Tools, zwany inaczej "rktools", możemy ściągnąć z tej strony:

komputer, jeśli nie przy zapytaniu do plików: srvany.exe i instsrv.exer, musisz napisać pełną ścieżkę, coś podobnego jak: %Program Files%\Windows Resource Kit\Tools\
Następni ....

2. Otwieramy okno poleceń windowsa: Start -> Uruchom, wpisz "cmd" i kliknij OK, lub naciśnij Enter. W linni poleceń commandera wpisz

Kod:
instsrv "OTServ" "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
Jeżeli wszystko dobrze zrobiłeś powinieneś otrzymać:

Kod:
The service was successfuly added!
Jeżeli tego nie otrzymałeś gdzieś popełniłeś błąd.

3. Teraz otwieramy rejestr systemu, więc: Start -> Uruchom, wtedy wpisz "regedit" i kliknik OK, lub naciśnij Enter.
Otwieramy klucz: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\OTServ
a. Klikamy prawym na OTServ i w okienki klikamy: next->key. Wpisujemy jako "name" (nazwę)

Kod:
Parameters
b. Klikamy prawym przyciskiem myszy na Parameters i klikamy: new -> string. Wpisujemy jako nazwę

Kod:
Application
c. Klikamy prawym przyciskiem myszy na Application, klikamy Modify i jako wartość wpisujemy:

Kod:
C:\Ścieżka do twojego serwera gdziekolwiek on jest\otserv.exe
Gdzie oczywiście jest to dokładna ścieżka do serwera. Zamykamy edytor rejestru.

4. Teraz otwieramy usługi windowsa: Start -> run, wpisujemy "services.msc", klikamy Ok, lub naciskamy enter.
Przeglądamy w poszukiwaniu OTServ, klikamy prawym przyciskiem myszy na właściwości (Properties).

5. W nowym oknie, nazwanym "OTServ Server properties", musisz zmienić wartość Startup (uruchomienie przy starcie) na "Automatic" (Automatycznie), jeżeli chcesz aby twój serwer startował zawsze przy uruchomieniu systemu.
Stąd możesz startować oraz zatrzymywać serwer, nie używaj wstrzymania (Pause) ponieważ w tym wypadku i tak nie działa.

Otwórz teraz "Recovery" (Zakładka przywróć) i zaznacz akcję - jeżeli serwer zcrashuje wtedy sekundę później lub w innym czasie uruchomi się ponownie. Taki autorestart w lepszym wydaniu wink.gif Możesz ustawić parametry według własnej woli - po restarcie, przed etc.

Możesz startować serwer ręcznie: Start -> Run i wpisać

Kod:
net start otserv
Lub zatrzymać

Kod:
net stop otserv
Możesz to samo zrobić tworząc plik bat (np: start.bat)
Cytat:
@echo off
echo Starting OTServ
net start otserv
echo Done.
stop.bat:
Kod:
@echo off
echo Stopping OTServ
net stop otserv
echo Done.
Hura.
 
10-07-2008, 01:13  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Co zrobić aby twój OTS był popularny ?
Jak wiesz cały czas wychodzą nowe silniki , jeden jest lepszy od drugiego dlatego wymagania graczy rosną. Chcą przeważnie mieć dobrą zabawę , małym wysiłkiem . Nie musisz mieć od razu łącza 10mb i płytę główną z dwoma procesorami aby na twoim serwerze miło i przyjemnie było można spędzać czas w ok. 25 osób wystarczy Ci internet 128 kb.
Dobrze podam tobie parę warunków jakie powinieneś spełnić aby twój „świat” nabrał „przybyszy”

- Serwer nie musi być 24/7 ale 10 godzin dziennie na obecne czasy to niestety minimum .

- Mapę , zrób własną albo niech Ci pomoże kolega który ma do tego smykałkę . Graczy odstrasza wielokrotnie powtarzanie się mapy. Pamiętaj o zdrowym rosądku ! dokładniej chodzi o spawny , np. głupio jeżeli gracz zabijając minotaury nagle napotka teleport wchodząc po chwili ginie przez dziesięć orshabaali.

- Staraj się pisać czytelnie i bez błędów ortograficznych jeżeli je popełniasz w nadmiarze , gracze pomyślą że ich po prostu nie szanujesz. ( A tak chyba nie jest , prawda? . Daj każdemu równe szanse , nie rozdawaj rzeczy za darmo czy też dlatego że ktoś jest twoim kolegą .

- Parametry serwera to temat na którym jest najwięcej dyskusji , oczywiście to od ciebie zależy jak sobie opcje poustawiasz lecz mam nadzieje że przemyślisz to co Ci teraz przekaże. Część graczy lubi exp. 3x (zdecydowana mniejszość) reszta 10000exp . Dlatego będziesz musiał znaleść coś pośredniego , może 5-10x? Decyduj sam ! ale pamiętaj aby reszta umiejętności rosła normalnie z poziomem , ponieważ czasem wychodzi głupia sytuacja jeżeli zdobędziemy naszym rycerzem już osiemdziesiąty poziom a nasz poziom magii nie przekroczył 4 .

- Wykaż się profesjonalizmem i pokaż że jesteś w pełni świadomy tego co robisz , załóż zautomatyzowany sposób zakładania kont bo gg to nie najlepszy pomysł.

Autor: Reflex
Edycja i Korekta: Aciek
 
10-07-2008, 12:26  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Funkcje get

getPlayerFood(uid) – Pobiera food stat gracza i zapisuje go w jako liczby.
getPlayerHealth(uid) - Pobiera aktualną ilość życia gracza i zapisuje ją jako liczby.
getPlayerMana(uid) – to samo tylko że mana
getPlayerLevel(uid) – Pobiera level gracza i zapisuje go jako liczby.
getPlayerMagLevel(uid) - Pobiera magic level gracza i zapisuje go jako liczby.
getPlayerName(uid) - Pobiera nazwę gracza i zapisuje ją jako stringu.
getPlayerAccess(uid) – Pobiera access gracza i zapisuje go jako liczby.
getPlayerPosition(uid) – Pobiera pozycję gracza i zapisuje ją jako w TABLICY trzech elementów: x, y, z.
getPlayerItemCount(uid,itemid) – Pobiera ilość itemów o danym ID, jakie posiada gracz i zapisuje tą liczbę. “itemid” to właśnie ID tych itemów.
getPlayerSoul(uid) – Pobiera ilość souli gracza i zapisuje je w postaci liczby.
getPlayerFreeCap(uid) – Pobiera ilość wolnego jeszcze capa playera.
getPlayerLight(uid) – Pobiera ilość światła, które “wydziela” player.
getPlayerSlotItem(uid, slot) – Pobiera przedmiot z danego slotu gracza i zwraca jego itemid.
getPlayerDepotItems(uid, depotid) – Pobiera ilość przedmiotów, które znajdują się w depocie gracza.
getPlayerGuildId(uid) – Pobiera GuildID (numer gildii) gracza.
getPlayerGuildName(uid) – Pobiera nazwę gildii gracza.
getPlayerGuildRank(uid) – Pobiera rangę w gildii gracza.
getPlayerGuildNick(uid) – Pobiera tytuł w gildii gracza.
getPlayerStorageValue(uid,valueid) – Pobiera storagevalue o valueid i zapisuje tą liczbę.
getGlobalStorageValue(valueid) – Pobiera globalvalue i zapisuje tą liczbę.
getTilePzInfo(pos) – Sprawdza, czy tile o danej pozycji jest PZ, czy nie. Jeżeli nie, zwraca 0. W przeciwnym wypadku zwraca 1.
getTileHouseInfo(pos) - Sprawdza, czy tile o danej pozycji należy do domku, czy nie. Jeżeli nie, zwraca 0. W przeciwnym wypadku zwraca houseID tego domku.
getItemRWInfo(uid) – Sprawdza, czy na przedmiocie można pisać czy nie.
getThingfromPos(pos) – Pobiera rzecz z danej pozycji.
getThing(uid) – Pobiera rzecz o danym UID.
getThingPos(uid) – Pobiera pozycję rzeczy o danym UID.

Funkcje do

doRemoveItem(uid,n) – Usuwa n itemów o danym UID.
doPlayerFeed(uid,food) – Dodaje +food do food statusu rzeczy o danym UID. doPlayerSendCancel(uid,text) – Przerywa wczytywanie skryptu i wysyła wiadomość do playera.
doPlayerSendDefaultCancel(uid, ReturnValue) - Przerywa wczytywanie skryptu i wysyła domyślnie zdefiniowaną wiadomość do playera.
doTeleportThing(uid,newpos) – Teleportuje rzecz o danym UID do newpos.
doTransformItem(uid,toitemid) – Przemienia przedmiot o danym UID na przedmiot o ID równym toitemid.
doPlayerSay(uid,text,type) – Sprawia, że gracz coś mówi. (type to wpisać treść wiadomośći)
doSendMagicEffect(position,type) – Wysyła animowany efekt na daną pozycję.
doChangeTypeItem(uid,new_type) – Zmienia item.type przedmiotu na inny.
doSetItemActionId(uid,actionid) – Zmienia actionid przedmiotu o danym UID.
doSetItemText(uid,text) – Zmienia zapisany tekst na przedmiocie o danym UID.
doSetItemSpecialDescription(uid,desc) – Dodaje specjalny opis przedmiotowi o danym UID.
doSendAnimatedText(position,text,color) – Wysyła animowany text na daną pozycje.
doPlayerAddSkillTry(uid,skillid,n) – Dodaje ilość “prób” do zdobycia skilla graczowi o danym UID.
doPlayerAddHealth(uid,health) – Dodaje “health” życia graczowi o danym UID.
doCreatureAddHealth(uid,health) – Dodaje “health” życia KREATURZE doPlayerAddMana(uid,mana) – Dodaje “mana” many graczowi o danym UID.
doPlayerAddSoul(uid,soul) – To samo tylko, że soule zamiast many.
doPlayerAddItem(uid,itemid,count or type) – dodaje item graczowi o danym UID. “count” to ilość
doPlayerSendTextMessage(uid,MessageClasses,message ) – Wysyła wiadomość tekstową danemu graczowi. MessageClasses to typ wiadomości.
doPlayerRemoveMoney(uid,money) – Usuwa “money” ilości pieniędzy graczowi o danym uid.
doShowTextWindow(cid,maxlen,canWrite) – wyświetla okienko tekstowe graczowi o danym UID. Maxlen to ilość znaków, jakie gracz może wpisać, a canWrite to czy może pisać, czy nie.
doDecayItem(uid) – Niszczy coś np. - item lub powoduje rozkład ciała.
doCreateItem(itemid,type or count,position) – Tworzy item na danej pozycji. (działa tylko na ziemi)
doSummonCreature(name, position) – Przywołuje “dziką” kreaturę (gdzie name wpisać nazwę potwora).
doMoveCreature(uid, direction) – Przesuwa kreaturę o danym UID o 1 pole w danym kierunku.
doPlayerSetMasterPos(uid,pos) – Zmienia pozycję temple gracza o danym UID.
doPlayerSetVocation(uid,voc) – Zmienia profesję gracza o danym UID.
doPlayerRemoveItem(uid,itemid,count) – Usuwa “count” przedmiotów od gracza o danym UID.
doPlayerAddExp(uid,exp) – Dodaje exp'a graczowi.
doPlayerSetGuildRank(uid, rank) – Zmienia rangę w gildii gracza o danym UID.
doPlayerSetGuildNick(uid, nick) – Zmienia tytuł w gildii gracza o danym uid.
doPlayerAddOutfit(uid,looktype,addons) – Dodaje outfit o looktype równym “looktype” i z addonami równymi “addons” graczowi o danym UID.
doPlayerRemOutfit(uid,looktype,addons) – to samo tylko, że usuwa .
doSetCreatureLight(uid, lightLevel, lightColor, time) – Zmienia poziom światła o kolorze “lightColor” kreaturze o danym UID na czas równy “time”.

Funkcje is

isPlayer(uid) – Sprawdza, czy rzecz o danym UID to player. Jeżeli tak, zwraca 1, jeżeli nie, zwraca -1.
isContainer(uid) – Sprawdza, czy rzecz o danym UID to kontener. Jeżeli tak, zwraca 1, jeżeli nie, zwraca -1.
isMoveable(uid) - Sprawdza, czy rzecz o danym UID da się przesunąć. Jeżeli tak, zwraca 1, jeżeli nie, zwraca -1.

przykład -
Cytat:
if isPlayer(cid) ~= -1 then


Dostępna jest także wersja angielska iż skrypter powinien znać dobrze angielski -
 
10-07-2008, 12:26  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Functions get

getPlayerFood(uid) -- Returns the food ticks of player
getPlayerHealth(uid) -- Returns the player's health
getPlayerMana(uid) -- Returns the player's mana
getPlayerLevel(uid) -- Returns the player's level
getPlayerMagLevel(uid) -- Returns the player's magic level
getPlayerName(uid) -- Returns the player's name
getPlayerAccess(uid) -- Returns the player's access
getPlayerPosition(uid) -- Returns the player's position
getPlayerSkill(uid,skillid) -- Returns the player's skill level of a skill
getPlayerMasterPos(cid) -- Returns the player's temple position
getPlayerTown(cid) -- Returns the player's town-id
getPlayerVocation(cid) -- Returns the player's vocation
getPlayerItemCount(cid,itemid) -- Returns the amount of an item that the player has
getPlayerSoul(cid) -- Returns the player's soul
getPlayerFreeCap(cid) -- Returns the player's free capacity
getPlayerLight(cid) -- Returns the player's light ticks
getPlayerSlotItem(cid, slot) -- Returns an item if an item is found in the slot
getPlayerDepotItems(uid, depotid) -- Returns the player's depot items of a decent depot
getPlayerSex(cid) -- Returns the player's gender
getPlayerLookDir(cid) -- Returns the player's look direction
getPlayerStorageValue(uid,valueid) -- Returns the value of the value id of a player
setPlayerStorageValue(uid,valueid, newvalue) -- Adds a new value-id to the storage map of player
getGlobalStorageValue(valueid) -- Returns the value of the value id
getTilePzInfo(pos) 1 is pz. 0 no pz. -- Returns the protection zone status of a tile
getTileHouseInfo(pos). 0 no house. != 0 house id -- Returns the house status of a tile
getItemRWInfo(uid) -- Check if the item is writeable
getThingfromPos(pos) -- Returns something that matches the position
getThingPos(uid) -- Returns the position of something
getPlayerByName(name) -- Returns a player if the name matches any player on the server
getContainerSize(uid) -- Returns the size of a container
getContainerCap(uid) -- Returns the capacity of a container
getContainerItem(uid, slot) -- Check if the slot contains a container
getHouseOwner(houseid) -- Returns the owner of a house
getHouseName(houseid) -- Returns the name of a house
getHouseEntry(houseid) -- Return the entry-position of a house
getHouseRent(houseid) -- Returns the rent of a house
getHouseTown(houseid) -- Returns the town-id of a house
getHouseAccessList(houseod, listid) -- Returns the house-id of a house that matches the listid
getHouseByPlayerName(playername) -- Returns the house-id of a house that matches the player's name
getWorldType() -- Returns the worldtype (0 = no-pvp, 1 = pvp, 2 = pvp-enf)
getWorldTime() -- Returns the ingame time
getWorldLight() -- Returns the light level of the server
getWorldCreatures(type) Returns the amount of creatures (0 players, 1 monsters, 2 npcs, 3 all)
getWorldUpTime() -- Returns the uptime of the server
getCreatureOutfit(cid) -- Returns the creature's outfit (in a table)
getCreaturePosition(cid) -- Returns the creature's position (in a table)
getCreatureName(cid) -- Returns the name of a creature
getItemName(itemid) -- Returns the item's name
getPlayerSkull(cid) -- Returns the skull-type of a player
getPlayerConditionTicks(cid, conditionid) -- Returns the ticks of a decent condtion of a player
getPlayerOutfitAddon(cid, looktype) -- Returns the addon-value of an outfit of a player
getItemStackable(itemid) -- Check if the item is stackable
getPlayerGuildStatus(name) -- Returns the player's guild status
getPlayerGuildName(name) -- Returns the guild's name if the player has a guild
getDataDir() -- Returns a string that is the data directory

Functions do

doRemoveItem(uid,n) -- Removes any item (from the map or player doesn't matter)
doPlayerFeed(uid,food) -- Increase the food ticks of a player
doPlayerSendCancel(uid,text) -- Send any cancel message to a player
doPlayerSendDefaultCancel(uid, ReturnValue) -- Send a cancel message to player
doTeleportThing(uid,newpos) -- Teleports something to a position
doTransformItem(uid,toitemid) -- Changes the item's id
doPlayerSay(uid,text,type) -- Let's the player say any text
doSendMagicEffect(position,type) -- Show a magic effect at a position
doChangeTypeItem(uid,new_type) -- Change the type/count of an item
doSetItemActionId(uid,actionid) -- Set the item's action id
doSetItemText(uid,text) -- Set the text of an item if you open it
doSetItemSpecialDescription(uid,desc) -- Set an item's description
doSendAnimatedText(position,text,color) -- Show animated text at a position (any text or color)
doPlayerAddSkillTry(cid,skillid,tries) -- Add skill tries to a decent skill
doPlayerAddHealth(cid,health) -- Add health to a player
doCreatureAddHealth(cid,health) -- Add health to a creature
doPlayerAddMana(cid,mana) -- Add mana to a player
doPlayerAddSoul(cid,soul) -- Add soul points to a player
doPlayerAddItem(cid,itemid,count or type) -- Add an item to a player -- returns uid of the created item
doPlayerSendTextMessage(cid,MessageClasses,message ) -- Send a message to a player
doPlayerRemoveMoney(cid,money) -- Remove money from a player
doShowTextWindow(cid,maxlen,canWrite) -- Show a text dialog which is writable
doShowTextDialog(cid,itemid,text) -- Show a text dialog to a player that contains text
doDecayItem(uid) -- Start to decay an item
doCreateItem(itemid,type or count,position) -- Only working on ground; Returns uid of the created item
doSummonCreature(name, position) -- Creates a creature
doMoveCreature(cid, direction) -- Move a creature to a decent direction
doPlayerSetMasterPos(cid,pos) -- Set the player's temple position
doPlayerSetTown(cid,townid) -- Set the player's town-id
doPlayerSetVocation(cid,voc) -- Set the player's vocation
doPlayerRemoveItem(cid,itemid,count) -- Remove an item from a player
doPlayerAddExp(cid,exp) -- Add experience to a player
doSetCreatureLight(cid, lightLevel, lightColor, time) -- Add a new light condtion to a player
doAddContainerItem(uid, itemid, count or subtype) -- Add an item to a container
doCombat(cid, combat, param) -- Execute the combat object
doAreaCombatHealth(cid, type, pos, area, min, max, effect) -- Change any creature's health (area)
doTargetCombatHealth(cid, target, type, min, max, effect) -- Change any creature's health (target)
doAreaCombatMana(cid, pos, area, min, max, effect) -- Change any creature's mana (area)
doTargetCombatMana(cid, target, min, max, effect) -- Change any creature's mana (target)
doAreaCombatCondition(cid, pos, area, condition, effect) -- Adds a condition (area)
doTargetCombatCondition(cid, target, condition, effect) -- Adds a condition (target)
doAreaCombatDispel(cid, pos, area, type, effect) -- Removes a condition (area)
doTargetCombatDispel(cid, target, type, effect) -- Removes a condition (target)
doChallengeCreature(cid, target) -- Challenge a creature
doConvinceCreature(cid, target) -- Convince a creature
doChangeSpeed(cid, delta) -- Change the creature's speed
doSetMonsterOutfit(cid, name, time) -- Sets the creature's outfit to a monster look
doSetItemOutfit(cid, item, time) -- Sets the creature's outfit to an item
doSetCreatureOutfit(cid, outfit, time) -- Sets the creature's outfit (table required)
doPlayerLearnSpell(cid, spellwords) -- Learn a spell to a player
doPlayerAddBlesing(cid, blessid) -- Add a blessing to a player

Functions add

addExhaust(cid) -- adds exhaust
addDamageCondition(condition, key, rounds, time, value) -- Adds a damage value to a condtion
addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet) -- Adds a new outfit condtion to a creature
addEvent(callback, delay, parameter) -- Add an event

Functions is

isPlayer(cid) -- Check if something is a creature
isCreature(cid) -- Check if something is a creature
isContainer(uid)-- Check if something is a container
isMoveable(uid) -- Check if something is moveable
sItemStackable(itemid) -- Check if an item is stackable
isItemRune(itemid) -- Check if an item is a rune
isItemDoor(itemid) -- Check if an item is a door
isItemContainer(itemid) -- Check if an item is a container
isItemFluidContainer(itemid) -- Check if an item is a fluid
isPremium(cid) -- Check if the player is premium
isInArray(array, value) -- Check if an array contains a decent value

Functions set

setPlayerStorageValue(uid,valueid, newvalue) -- Adds a new value-id to the storage map of player
setGlobalStorageValue(valueid, newvalue) -- Adds a new value-id to the storage map
setHouseAccessList(houseid, listid, listtext) -- Set the accesslist of a door or anything else in a house
setHouseOwner(houseid, ownername) -- Set the owner of a house
setCombatArea(combat, area) -- Set the area of a combat object
setCombatCondition(combat, condition) -- Adds a condtion to a combat object
setCombatParam(combat, key, value) -- Adds a parameter to a combat object with a decent value
setConditionParam(condition, key, value) -- Adds a parameter to a condition with a decent value
setCombatCallBack(combat, key, function_name) -- Set the callback of a combat object
setCombatFormula(combat, type, mina, minb, maxa, maxb) -- Set the combat's formula
setConditionFormula(combat, mina, minb, maxa, maxb) -- Set the condition's formula
setPlayerGuildStatus(guildstatus, name) -- Set the player's guild status
setPlayerGuild(name, guildstatus, guilrank, guildname) -- Edit the guild stats of a player
setPlayerGuildNick(name, guildnick) -- Set the nick of the player
setPlayerGuildTitle(name, guildnick) -- Set the nick of the player

Different

registerCreature(cid) -- Returns and adds a new creature to the script
createCombatArea( {area}, {extArea} ) -- Create a new combat area
createConditionObject(type) -- Creates a new condition (condition-type required)
createCombatObject() -- Creates a new combat object
foundNewGuild(guildname) -- Create a new guild
clearPlayerGuild(name) -- Remove a player from a guild
debugPrint(text) -- Print a message in the console
stopEvent(eventid) -- Stops an added event

Poradnik by:Xafaso
 
10-07-2008, 12:41  
Maniak
 
Użytkownik Chris# na Tibia.net.pl

brawo! wszystko zebrane w jednym miejscu, mi sie bardzo podoba ;]
 
13-07-2008, 14:09  
Nowicjusz
 
Użytkownik Yoshitsune na Tibia.net.pl

widac ze sie troche na meczyles spis jest swietny!! Oby tak dalej

P.S Sam z niego skorzystalem :P
 
13-07-2008, 16:11  
Bywalec
 
Użytkownik Anderson na Tibia.net.pl

Bardzo dobry poradnik !!! Widzę że się nie nudzisz
 
14-07-2008, 10:49  
Pro Gangsta
 
Użytkownik Hoxaver na Tibia.net.pl

Naprawdę dobrze, że to tutaj umieściłeś. Najbardziej podoba mi się Instalowanie OTServa jako usługi Windowsa, jeżeli to zadziała będzie super.
 
16-07-2008, 21:28  
Ekspert
 
Użytkownik Haalwa na Tibia.net.pl

Nie wiem co za moderator go przykleił ale Dziękuję za to.

Pozdrawiam. Niedługo dalsza część.
 
28-08-2008, 23:19  
Początkujący

Odp: Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa


Bardzo dobry poradnik dam ci reputa za niego bo duzo rzeczy mi sie przydało.
 
04-09-2008, 16:26  
Nowicjusz

Odp: Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa


nice nice reput4YOUporadnik fajny zrob jeszcze jak sie robi acc managera
 
04-09-2008, 17:13  
Maniak
 
Użytkownik Hoster na Tibia.net.pl

Odp: Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa


@UP
Acc maker czyli na stronie tworzy się konto, czy acc menager czyli na passach (np. 111111/tibia)

@Topic
Poradnik super Mam nadzieję, że dalsza część będzie niedługo Reput leci
 


Odpowiedz

Narzędzia tematu
Wygląd

Podobne wątki

Nowy dział - Poradniki Rookgaardu - Czy kiedyś ktoś z was chciał umieścić jakiś poradnik o Rookgaardzie? Na pewno! Dlatego,też mam prośbę do administracji czy mogli by umieścić w... Piotrek1474, 05-10-2008 Mini regulamin działu Poradniki. - Na wstępie zaznacze że nie będzie to typowy regulamin - chcem tylko byście przestrzegali kilku zasad. Jeśli poradnik znalazł sie w tym dziale oznacza... Antonhy, 04-10-2008 Mini regulamin działu Poradniki. - Na wstępie zaznaczę że nie będzie to typowy regulamin - chcę tylko byście przestrzegali kilku zasad. Jeśli poradnik znalazł się w tym dziale oznacza... Antonhy, 04-10-2008 Lista Silników by Haalwa od 8.1 do 7.6 - Silniki 8.1 Xantera War(XML) Xantera War Beta 1.0.rar Evo by bartex12(XML) Evo by Bartex012.rar OTS By MayDay(XML) OTS By Mayday.zip Haalwa, 06-07-2008


Tibia.net.pl: Poradniki OpenTibia (Poradniki związane ze światem otwartej Tibii)
Temat: Poradniki Ots (Dzieła Zebrane) Zgromadzone by Haalwa Przepraszam ale niestety będę musiał tutaj double postować Witam, tak [...]


[Mapping] Wszystko o drzwiach! - Marszal (11) Dzisiaj 07:21 Poradnik jak zrobić ots by coolrapers [7.6] - coolrapers (10) 19-11-2008 18:53 [Mapping] Poprawne wejścia i zejścia! - Marszal (2) 13-11-2008 21:11 no-ip z DUC - MGM (5) 11-11-2008 23:11 Wykrywanie i usuwanie keyloggerów! - Quairon (3) 05-11-2008 11:36 [8.22]Z 8.22 na Tibie 8.3x - Astant (6) 13-11-2008 21:09 Poradnik: jak połączyć dwie mapy w jedną - Thinker (4) 07-11-2008 19:32 Odblokowanie portów na każdym routerze! - Kamil (3) 01-11-2008 21:41 [x.x]konwertowanie mapy na inny protokół - Xart Irok (6) 01-11-2008 21:56 [TFS] Niekończące się runy, amunicja i spelle bez ... - Marszal (4) 03-11-2008 19:05


Czasy w strefie GMT +1. Teraz jest 09:50.




Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.2.0 © 2008, Crawlability, Inc.