What's new

Item zmieniajacy Town!

Status
Not open for further replies.

YoS

Advanced User
Joined
Aug 29, 2008
Messages
410
Reaction score
32
Witam!
od razu napisze ze pomyslodawca byl ten temat :
http://tibia.net.pl/actions/151174-citizen-system-zostanie-mieszkancem-miasta.html
ja napisalem to inaczej [nie koniecznie lepiej] ale napisalem i chce sie z Wami tym podzielic..
Zalety skryptu:
-do konfigurowania mamy tylko 2 rzeczy tak wiec Latwa konfiguracja
-uniwersalnosc

Wady:
-uniwersalnosc

otoz moj skrypt mozna niby zastosowac wielokrotnie ale jesli chcemy uzyc go 3 razy do 3 roznych miast to trzeba tworzyc 3 rozne pliki a w zasadzie roznia sie tylko i wylacznie 2 cyferkami : > ale wiadomo moj jest bardziej uniwersalny niz pomyslodawcy

jak dodac?
wchodzimy do data/actions i tam ukaze sie naszym oczom "actions.xml" wchodzimy w To i dodajemy linijke :
Code:
	<action actionid="1217" script="citi.lua" />
jesli nie pasuje Ci aid (action id)-bo chcesz np zeby to bylo uid wtedy wklejasz to :
Code:
<action uniqueid="1217" script="citi.lua" />
jesli zas chcesz zeby jakis item powodowal wywolanie tego skryptu to uzywasz:
Code:
	<action itemid="xxxx" event="script" value="citi.lua"/>

1217-wolny numer uid/aid (jak sprawdzic czy wolny? w actions.xml nacisnij ctrl + f wpisz liczbe 1217 i klik enter.. jesli nie znajdzie to znaczy ze dany aid/uid jest wolny)
xxxx-id itemu

skrypt:
w data/actions/scripts zrob plik Citi z rozeszezeniem *.lua czyli:
citi.lua
teraz do tego pliku wklej nastepujacy kod:
Code:
--By Kalan / YoS
function onUse(cid, item, frompos, item2, topos)
local config = {newTown = 6, effect = 35} -- newTown czyli nowie miasto [tutaj id sie wpisuje], effect czyli efekt ktory pojawia sie na graczu..
TownName = getTownName(config.newTown)
PlayerTown = getPlayerTown(cid)
TownPos = getTownTemplePosition(config.newTown)

if PlayerTown ~= config.newTown then
doPlayerSetTown(cid, config.newTown)
doTeleportThing(cid,TownPos)
doPlayerSendTextMessage(cid,22,"You're Citizen of "..TownName..".")
doSendMagicEffect(TownPos, config.effect)
else
doPlayerSendTextMessage(cid,22,"You're Already Citizen of "..TownName.."." )
end
return true
end
teraz wejdz w mape ots. I w mapie dodaj aid/uid na dany przedmiot (sciana/tron/cialo) -jesli dasz na tp to bedzie trzeba uzyc tp, a nie w niego wejsc
poczym zapisz zmiany resetnij silnik i gotowe : )


Prosze wybaczyc mi brak zdjec ale w zasadzie nie ma co pokazywac bo wyswietla sie tylko napis z nazwa miasta oraz efekt serduszek..
Prosze takze o nie Warnowanie mnie za brak zdjec bo jak juz napisalem co mam nimi przedstawic?


Prosze o komenty!
 

Stelma

Active User
Joined
Jan 6, 2009
Messages
114
Reaction score
19
Odp: Item zmieniajacy Town!

Hej sorka ?e ci zawale topic ale chcia?em ci pokaza? jak mo?na "?adniej" napisa? ten skrypt. S?dz? i? i tobie si? przyda (w celach popatrzenia i mo?e co? si? nauczysz)

Actions.xml
Tutaj mo?esz wyregulowa? czy chodzi ci o action id czy te? o uid
Code:
<action fromaid="1231" toaid="1234" event="script" value="10.lua"/>

Skrypt Wywal linijke z actionid a odkomentuj uid i b?dzie dzia?a? pod uid:
Kocham to forum i jego zniekszta?cenia skrypt?w wi?c wstawiam
Code:
local town = {
               [1231] = {newTown = 1, effect = 35, message = MESSAGE_EVENT_ORANGE, text= "Gratulacje zamieszkujesz polnocne "},
               [1232] = {newTown = 2, effect = 35, message = MESSAGE_STATUS_WARNING, text= "Oho komus sie powodzi. Kupiles dom w "},
               [1233] = {newTown = 3, effect = 35, message = MESSAGE_INFO_DESCR, text= "Nie no ziom wracasz na dzielnie "},
               [1234] = {newTown = 4, effect = 35, message = MESSAGE_EVENT_ADVANCE, text= "Zameldowany w "}
             }
function onUse(cid, item, frompos, item2, topos)
 local actual = town[item.actionid]
 --local actual = town[item.uid]

 if actual ~= nil then
  doPlayerSendTextMessage(cid, actual.message, actual.text..getTownName(actual.newTown))
  doPlayerSetTown(cid, actual.newTown)
  doSendMagicEffect(frompos, actual.effect)
 else
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Skontaktuj sie z gm'em")
 end
end

Obja?nienie.

Zastosowa?em tablice i poindekstowa?em w niej inne tablice zaczynaj?ce si? na numery action id przedmiot?w dzi?ki czemu uzyskamy pi?kny efekt 1 pliku dla XXXXX miast.
 

YoS

Advanced User
Joined
Aug 29, 2008
Messages
410
Reaction score
32
Odp: Item zmieniajacy Town!

Reflesh!!

prosze o komenty
 

Sassin

Forum friend
Joined
Jun 13, 2009
Messages
1,281
Reaction score
107
Odp: Item zmieniajacy Town!

Stelma zniwelowa? wad? w Twoim skrypcie. ; ) Wydaje mi si? to niezbyt u?yteczne poniewa? ludzie wol? tradycyjne teleporty... Ale powiem szczerze ?e bardzo mi si? podoba jak opisujesz wklejane przez Ciebie tu skrypty, jak tak to czyta?em to my?la?em ?e traktujesz ludzi z g?ry bo piszesz jak do dziecka, lecz poprzegl?da?em sobie par? innych temat?w i jak patrze jakie durne pytania zadaj? ludzie to mi si? p?aka? chce. ; ) Mi?o ?e s? jeszcze tacy jak Ty kt?rzy tak kurwa bardzo si? staraj?.

Pozdrawiam,
Sassin
 
Last edited:
Status
Not open for further replies.
Top