Skocz do zawartości

OTS własne outfity


Polecane posty

Poszukuje wiedzy na temat wgrania własnych outfitów( własnych jak własnych, gotowych z otland) na swój serwer, oraz ustawienie domyślnie outfitu do danej klasy postaci, oraz żeby nie zakladać osobnego tematu, idzie jakoś ustawić, że po kliknięciu w skrzynke z "first eq" z non-vocation id profesji zmienia się na tą wybraną oraz automatycznie przelogowywuje postać?

 

(najbardziej licze na odpowiedź od @rafaeru, ale reszta też niech sie wypowie)

@rafaeru*

Udostępnij ten post


Link to postu

użyj tego do dodania outfitów do clienta:

https://github.com/ottools/ObjectBuilder

 

Ma łatwy interface wiec raczej dasz rade

SIQL09i.png

 

 

co do skrzynki to zależy od tfs ale wystarczy użyć funkcji:

doPlayerSetVocation(cid, voc)
doRemoveCreature(cid)

 

Udostępnij ten post


Link to postu
4 minuty temu, rafaeru napisał:

użyj tego do dodania outfitów do clienta:

https://github.com/ottools/ObjectBuilder

 

co do skrzynki to zależy od tfs ale wystarczy użyć funkcji:

doPlayerSetVocation(cid, voc)
doRemoveCreature(cid)

 

 

 O widzisz, napisałem temat a w między czasie zacząłem sie bawić troche tym object builderem nim jeszcze odpisałeś, dzięki wielkie bo to mnie uświęciło w tym, że w dobrą stronę myślę. jeśli remove creature to logout to nie powinno być problemu ze skrzynkami

@rafaeruMoge używać jednego tematu do zadawania kilku pytań?

 

Jak zrobić tak, żeby podmienić lookID powiedzmy Wand of Inferno, na id które już wgrałem object builderem?

 

w data/items jest:

  <item id="2187" article="a" name="wand of inferno">
        <attribute key="description" value="It unleashes the very fires of hell." />
        <attribute key="weight" value="2700" />
        <attribute key="weaponType" value="wand" />
        <attribute key="shootType" value="fire" />
        <attribute key="range" value="3" />

nie widzie tutaj nic o id wyglądu itemu.

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu
35 minut temu, rafaeru napisał:

Jeśli zamieniłeś istniejącego woia to nic nie musisz zmieniać w silniku. Jeśli chcesz dodać nowy item musisz jeszcze go dodać do items.otb

 Grafike WOI  na takiego fireballa podmieniłem przy uzyciu item editora, ale po odpaleniu fire sword(ktory juz wyglada jak ball) nie wali dystansowo tylko na 1smq fizycznie jak sword, gdzie lezy wina? skoro to ten sam woi tylko ze wyglada inaczej?

Udostępnij ten post


Link to postu
5 minut temu, rafaeru napisał:

Nie rozumiem o co ci chodzi

 

skoro to jest to samo woi, tylko z innym wyglądalem to dlaczgo nie zachowuje sie jak woi?

woi decay.png

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu
1 minutę temu, rafaeru napisał:

Id wyglądu są zdefiniowane w pliku items.otb ktore trzeba otworzyć edytorem specjalnym.

Jeśli ta woi nie bije sprawdz czy w weapons.xml masz ja dodana jako wand.

O właśnie o to chodziło, w weapons.xml miałem błąd przy tym wandzie co zrobiło z niego zupełnie inny itemek, ale poprawiłem i już śmiga, dzięki

Udostępnij ten post


Link to postu

@rafaeru

Coś poradzisz na crasha przy próbie zmiany wyglądu?

xbQih7M.png

taki debug przy próbie zmiany wyglądu. ( w object builderze zarówno outfit jak i sprites po koleji animacje są wgrane)

dodam, że jeden wygląd już udało mi się dodać i można go wybrać, ale ten który działa animacje dodawałem samemu, a ten który debuguje skopiowałem z innego tibia.spr czy to moze byc wina?

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu

Jak sprawdzasz animacje komenda /z (albo dajesz do skryptu) to musisz przyjąć id z object buildera - 1 czyli jeśli w object builderze id efektu to 43 to w grze jest to 42 bo liczysz od 0. W przypadku outfitow tak nie trzeba i tam id się zgadza z tym z object buildera.

 

Outfit który dodałeś z jakiej wersji na jaką ? 

Udostępnij ten post


Link to postu
14 godzin temu, rafaeru napisał:

Jak sprawdzasz animacje komenda /z (albo dajesz do skryptu) to musisz przyjąć id z object buildera - 1 czyli jeśli w object builderze id efektu to 43 to w grze jest to 42 bo liczysz od 0. W przypadku outfitow tak nie trzeba i tam id się zgadza z tym z object buildera.

 

Outfit który dodałeś z jakiej wersji na jaką ? 

z 8.54 v1 na 8.60 v1. exportuje takim sposobem:

tpWh5zW.png

Udostępnij ten post


Link to postu
1 godzinę temu, rafaeru napisał:

To nie wiem powinno dodać normalnie

Cyxijuq.png

 

Mimo że zapisałem w object builderze na 8.6 i połączyłem pliki z clientem tibii, to tak jakby nie wgrało tego outfitu

 

tym bardziej mnie to dziwi bo tym samym sposobem inny outfit działa

vD5jAAC.png

 

edit. Na moje to może być wina tego, że na Dark Faun z wgranych animacji sam krok po kroku tworzyłem outfit, a na tym duszku exportowalem z innego spr

 

edit 3 -  Udało się! Okazało się że jak mam clienta 8.6 w jednym folderze ze spr i dat i wygeneruje spr z dodanym nowym outfitem, to musze wgrać te spr i dat nowe do nowego "czystego" clienta, i tak pobrałem nowy client 8.6 wrzuciłem spr z nowymi grafikami i działa

e51yOEz.png

Dzięki że napisałeś że "powinno dodać" to sie nie poddawałem i próbowałem, teraz @rafaerupowiedz mi jak zrobić żeby powiedzmy profesja z id 1 miała przypisany tylko 1 outfit i nie mogła zmieniać na inny.

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu

w creaturescripts do login.lua dodajesz w środku coś takiego:

if isDruid(cid) then
	local outfit = {lookType = 111}
	doCreatureChangeOutfit(cid, outfit)
elseif isSorcerer(cid) then
	local outfit = {lookType = 222}
	doCreatureChangeOutfit(cid, outfit)
elseif isKnight(cid) then
	local outfit = {lookType = 333}
	doCreatureChangeOutfit(cid, outfit)
elseif isPaladin(cid) then
	local outfit = {lookType = 444}
	doCreatureChangeOutfit(cid, outfit)
end

111, 222, 333, 444 to id outfitow

Wybieranie outfitow blokujesz w configu

Udostępnij ten post


Link to postu
1 godzinę temu, rafaeru napisał:

w object builderze i items.otb

@rafaeru dobra dzięki mam, potrafiłbyś mi pomóc przerobić item, bo aktualnie mam że leczy 100% many i 100%hp, chce zrobić potki na 10% i 25%(niżej masz zawartość)

 

function onUse(cid, item, frompos, item2, topos)
if(os.time() > getPlayerStorageValue(cid, exhausted_storagevalue)) then
doPlayerAddMana(cid, getPlayerMaxMana(cid))                           <--------------------- to na 10% / 25%
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))              <----------------------- to na 10% / 25%
doPlayerSay(cid,"Regeneracja!", TALKTYPE_ORANGE_1)
local kolor = 95
doSendAnimatedText(getPlayerPosition(cid),'+'.. getPlayerMaxMana(cid) .. '',kolor)
setPlayerStorageValue(cid, exhausted_storagevalue, os.time() + exhausted_seconds)
doRemoveItem(item.uid, 1)

  else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
 

 

 

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu

Wystarczy zrozumieć jak działa skrypt, słusznie zauważyłeś które funkcje są od dawania hp/mp

doPlayerAddMana(cid, getPlayerMaxMana(cid))
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

wyjaśnienie:

doPlayerAddMana(komu dodać, ile dodać)

cid = creature id czyli osoba która wykonuje skrypt, jeśli gracz pije potiona czyli on wykonuje skrypt czyli cid jest równe gracza czyli dodaje hp/mp graczowi

getPlayerMaxMana(kto)

ta funkcja zwraca ile dana kreatura ma max hp w naszym przypadku cid czyli gracz wykonujący skrypt

 

więc jeśli chcesz uzyskać 25% wartości musisz podzielić max hp gracza na 4

100% / 4 = 25%

 

czyli dajesz do skryptu:

doPlayerAddMana(cid, getCreatureMaxMana(cid)/4)

jak chcesz 10% to dzielisz na 10 itd...

Udostępnij ten post


Link to postu

@rafaeruTrudne pytanie,  ale jakoś sie postaram wytłumaczyć.

 

Postać na 1 lvl ma powiedzmy outfit "12", na 500 lvl dostaje promocje i jej outfit zmienia się na "13" to jeszcze zrozumiałe, ale teraz chodzi mi o to, żeby wraz z outfitem "13" pojawiał się co kilka sekund efekt (nie wiem czy wiesz ale cos podobnego było na dragon ballach takie pioruny pojawiające się na postaci), efekt mam wgrany outfity mam wgrane, tylko jak to teraz złączyć?

 

 

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu
3 godziny temu, rafaeru napisał:

    <globalevent name="piorun" interval="90" event="script" value="piorun.lua"/>

 

 to dobrze tak? teraz troche mam problem z zawartością piorun.lua, mógłbyś rozjaśnić sytuacje albo bardziej rozpisać? (if voc 5 dosendmagiceffect 72 co 2 sekundy)

 

Cytat

 function onThink (interval, lastExecution)
end
         if vocation ==5       then
            doSendMagicEffect(playerpos, 15)
            end

coś tutaj mam nie tak

Edytowano przez Jukesnk12

Udostępnij ten post


Link to postu

Tutaj masz listę wiekszosci funkcji tfs 0.3.6 (chyba na takim robisz nie ?)

https://wklejto.pl/txt80463

Dodatkowo możesz sobie dodać plugin do Notepad++

Skrypt powinien wyglądać tak:

function onThink(interval, lastExecution)
	local players = getPlayersOnline()
	local cid
	for i=1,#players do
		cid = players[i]
		if getPlayerVocation(cid) == 5 then
			doSendMagicEffect(getCreaturePosition(cid), 15)
		end
	end
return true
end

Można to też zrobić w creaturescripts onThink

Udostępnij ten post


Link to postu

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...