==========================================================================
TARGYLISTA SYNC - CMUD beallitas (Brutalia / cuccarus bolt)
==========================================================================
FONTOS: NE illeszd be az egesz fajlt a parancssorba! Ket reszbol all:
1. RESZ -> Ird meg az aliast es a triggereket az alabbi modon:
2. RESZ -> Cmud script modositasok
3. RESZ -> Klaviornal(foter #3e;#2 ny;d) ird:
katalogusfrissit
--------------------------------------------------------------------------
-- 1. RESZ --
--------------------------------------------------------------------------
Uj CLASS letrehozas:
TLImport
Edit menu -> New -> Class, majd:
Name: TLImport
--------------------------------------------------------------------------
Uj ALIAS katalogusfrissit
Class: TLImport
Edit menu -> New -> Alias, majd:
Name: katalogusfrissit
Pattern:
allit SCREEN 600
targydb = %sqldb(targylista);#CALL @targydb.Open();#CALL @targydb.Execute("BEGIN");#CALL @targydb.Execute("DELETE FROM items");#VA tl_count 0;#T+ TLImport;#SAY Targylista frissites indul... ne csukd be a klienst!;katalogus
--------------------------------------------------------------------------
Uj TRIGGER
Class: TLImport
PATTERN:
^TLSTART (*)
VALUE:
#GAG
--------------------------------------------------------------------------
Uj TRIGGER
Class: TLImport
PATTERN:
^TLEND (*)
VALUE:
#CALL @targydb.Execute("COMMIT");#CALL @targydb.Close();#T- TLImport;#SAY Targylista felulirva: %1 sor.;#GAG
allit SCREEN 80
--------------------------------------------------------------------------
UJ TRIGGER:
Pattern: ^TLROW=(*)
Class: TLImport
A nagy "Script Text" dobozba pontosan ezt a 26 sort masold:
#VAR tl_name %replace(%item(%1,1),"~"," ")
#VAR tl_rarity %item(%1,2)
#VAR tl_type %item(%1,3)
#VAR tl_sub %item(%1,4)
#VAR tl_min %item(%1,5)
#VAR tl_weight %item(%1,6)
#VAR tl_ac %item(%1,7)
#VAR tl_dam %item(%1,8)
#VAR tl_cls %replace(%item(%1,9),",","|")
#VAR tl_jellem %replace(%item(%1,10),",","|")
#VAR tl_amount %item(%1,11)
#VAR tl_tb %item(%1,12)
#VAR tl_sb %item(%1,13)
#VAR tl_mai %item(%1,14)
#VAR tl_mei %item(%1,15)
#VAR tl_magia %item(%1,16)
#VAR tl_eletero %item(%1,17)
#VAR tl_ero %item(%1,18)
#VAR tl_ugy %item(%1,19)
#VAR tl_bol %item(%1,20)
#VAR tl_iq %item(%1,21)
#VAR tl_kar %item(%1,22)
#VAR tl_allo %item(%1,23)
#VAR tl_stamina %item(%1,24)
#VAR tl_viseli %replace(%replace(%item(%1,25),"~"," "),",","|")
#VAR tl_arusitja %replace(%replace(%item(%1,26),"~"," "),",","|")
#VAR tl_spell %replace(%item(%1,27),"~"," ")
#CALL @targydb.Execute("INSERT OR IGNORE INTO items (name,rarity,type,subtype,min_szint,weight,ac,dam,classes,jellemek,amount,tb,sb,mai,mei,magia,eletero,ero,ugyesseg,bolcsesseg,iq,karizma,allokepesseg,stamina,i_viseli,i_arusitja,spell) VALUES ('"@tl_name"','"@tl_rarity"','"@tl_type"','"@tl_sub"','"@tl_min"','"@tl_weight"','"@tl_ac"','"@tl_dam"','"@tl_cls"','"@tl_jellem"','"@tl_amount"','"@tl_tb"','"@tl_sb"','"@tl_mai"','"@tl_mei"','"@tl_magia"','"@tl_eletero"','"@tl_ero"','"@tl_ugy"','"@tl_bol"','"@tl_iq"','"@tl_kar"','"@tl_allo"','"@tl_stamina"','"@tl_viseli"','"@tl_arusitja"','"@tl_spell"')")
#ADD tl_count 1
#GAG
Save, bezar.
-- 3. RESZ --
--------------------------------------------------------------------------
Cmud script Modisitasok:
ItemRarity funkcio-ra keress ra es modositsd a tartalmat erre:
rarity=0
#IF ($rarity > 5) {rarity=1}
#IF ($rarity > 15) {rarity=2}
#IF ($rarity > 25) {rarity=3}
#IF ($rarity > 35) {rarity=4}
#IF ($rarity > 45) {rarity=5}
#IF ($rarity > 55) {rarity=6}
#IF ($rarity > 65) {rarity=7}
#IF ($rarity > 75) {rarity=8}
#IF ($rarity > 85) {rarity=9}
-------------------------------------------------------------------------
item alias modositas.
#IF (!%params(0)) {
// HELPINFO
row = %sql(targylista, %concat("SELECT COUNT('"_row_id"') FROM items"))
#print %crlf<C dodgerblue>%repeat("=",32)Targylista[ @row.Data() db]%repeat("=",23)</C>
#print %crlf<C orangered>%repeat(" ",30)Hasznalat: item [nev] </C>
#print %crlf<C dodgerblue>%repeat("=",35)%repeat("=",40)</C>
} {
#IF (%params(1)) {
#VA ItemSearchName {%lower(%params(1))}
#if (%pos( "'", @ItemSearchName)) {#va ItemSearchName %replace( @ItemSearchName, "'", %null)}
#va ItemSearchName %trim(@ItemSearchName)
//fut az sql
#SQLDB targylista
row = %sql(targylista, %concat("SELECT * FROM items WHERE name = '"@ItemSearchName"'"))
#IF (@row.RecordCount() == 1) {
#IF (!%pos("filter:",%params(1)))
{
#SHOW %ansi(15)%repeat("=",80)%ansi(7)
//azonositas rajz
#SHOW %repeat(" ",30)%repeat(" ",%eval(10-%len(@row.Item("name"))))%ansi(5)%proper(@row.Item("name"))%ansi(7)
//fotipus magyarra (armour->Pancel stb.), az objects.db angol kodjaibol
#VA tipus_szoveg {@row.Item("type")}
#IF (@row.Item("type") = "armour") {tipus_szoveg = "Pancel"}
#IF (@row.Item("type") = "weapon") {tipus_szoveg = "Fegyver"}
#IF (@row.Item("type") = "etel") {tipus_szoveg = "Etel"}
#IF (@row.Item("type") = "ital") {tipus_szoveg = "Ital"}
#IF (@row.Item("type") = "varazsital") {tipus_szoveg = "Varazsital"}
#IF (@row.Item("type") = "hangszer") {tipus_szoveg = "Hangszer"}
#IF (@row.Item("type") = "varazspalca") {tipus_szoveg = "Varazspalca"}
#IF (@row.Item("type") = "nyilvesszo") {tipus_szoveg = "Nyilvesszo"}
#IF (@row.Item("type") = "tekercs") {tipus_szoveg = "Tekercs"}
#IF (@row.Item("type") = "feny") {tipus_szoveg = "Feny"}
#IF (@row.Item("type") = "vizestomlo") {tipus_szoveg = "Vizestomlo"}
#IF (@row.Item("type") = "semmi") {tipus_szoveg = "Egyeb"}
#IF (@row.Item("type") = "0") {tipus_szoveg = "Egyeb"}
#SHOW %repeat(" ",30)%repeat(" ",%eval(10-%len(@tipus_szoveg)))%ansi(11)~(@tipus_szoveg~)%ansi(7)
#VA rarity_num {@row.Item("rarity")}
#IF (@rarity_num > 85) { ritkasag_szoveg = "Egyedi darab" } {
#IF (@rarity_num > 75) { ritkasag_szoveg = "Alig latni" } {
#IF (@rarity_num > 65) { ritkasag_szoveg = "Borzasztoan ritka" } {
#IF (@rarity_num > 55) { ritkasag_szoveg = "Nagyon ritka" } {
#IF (@rarity_num > 45) { ritkasag_szoveg = "Ritka" } {
#IF (@rarity_num > 35) { ritkasag_szoveg = "Eleg ritka" } {
#IF (@rarity_num > 25) { ritkasag_szoveg = "Nem tul ritka" } {
#IF (@rarity_num > 15) { ritkasag_szoveg = "Atlagos" } {
#IF (@rarity_num > 5) { ritkasag_szoveg = "Gyakori" } {
ritkasag_szoveg = "Mindennapos"
}
}
}
}
}
}
}
}
}
#SHOW %repeat(" ",30)%ansi(2)Gyakorisaga%ansi(7)%repeat(" ",2)%ansi(12)@ritkasag_szoveg ~(@rarity_num~)%ansi(7)
#IF ( !%null(@row.Item("i_set"))) {
#SHOW %repeat(" ",30-%len(@row.Item("i_set")))%ansi(11)Ez a targy a %repeat(" ",1)@row.Item("i_set") kollekcio tagja%ansi(7)
}
#IF (!%null(@row.Item("varazslat"))) {
#SHOW %ansi(6)%repeat("-",80)%ansi(7)
#SHOW %repeat(" ",42-%len(@row.Item("varazslat")))%ansi(3)Varazslata %ansi(7)~[%ansi(11)@row.Item("varazslat")%ansi(7)~]%ansi(7)}
#IF (!%null(@row.Item("request"))) {
#SHOW %ansi(6)%repeat("-",80)%ansi(7)
#SHOW %repeat(" ",42-%len(@row.Item("request")))%ansi(11)Elvarasok %ansi(7)~[%ansi(11)@row.Item("request")%ansi(7)~]%ansi(7)}
#SHOW %ansi(6)%repeat("-",80)%ansi(7)
#SHOW %repeat(" ",1)%ansi(3)Minimum szint%ansi(7) [%ansi(15)@row.Item("min_szint")%ansi(7)] %repeat(" ",%eval(%len(@row.Item("min_szint"))+2))%ansi(3)Erteke%ansi(7) [%ansi(15)@row.Item("amount")%ansi(7)] %ansi(14)arany%ansi(7)%repeat(" ",%eval(10-%len(@row.Item("amount"))))%ansi(3)Tomege%ansi(7) [%ansi(15)@row.Item("weight")%ansi(7)] deka
#SHOW %repeat(" ",1)%if(!%null(@row.Item("subtype")),%ansi(3)Tipusa%ansi(7) [%ansi(15)@row.Item("subtype")%ansi(7)],"")%repeat(" ",%eval(14-%len(@row.Item("subtype"))))%if(@row.Item("type")=="weapon",%ansi(3)Sebzes%ansi(7) [%ansi(15)%subregex(@row.Item("dam"),"\s\s+","")%ansi(7)][%ansi(15)max: %dicemax(@row.Item("dam"))%ansi(7)],%if(@row.Item("type")=="armour",%ansi(3)Pancelzat%ansi(7) [%ansi(15)@row.Item("ac")%ansi(7)],""))
#SHOW %ansi(6)%repeat("~",80)%ansi(7)
#SHOW %repeat(" ",1)%ansi(5)A targy bonuszai%ansi(7)
#SHOW %repeat(" ",1)%ansi(3)Magiaimmunitas%ansi(7) ~[%if(@row.Item("mai")>0,"+"%ansi(15)@row.Item("mai")%ansi(7),"-")~]%repeat(" ",2-%len(@row.Item("mai")))%ansi(3)Meregimmunitas%ansi(7) ~[%if(@row.Item("mei")>0,"+"%ansi(15)@row.Item("mei")%ansi(7),"-")~]%repeat(" ",2-%len(@row.Item("mei")))%ansi(3)Talalatbonusz%ansi(7) ~[%if(@row.Item("tb")>0,"+"%ansi(15)@row.Item("tb")%ansi(7),"-")~]%repeat(" ",2-%len(@row.Item("tb")))%ansi(3)Sebzesbonusz%ansi(7) ~[%if(@row.Item("sb")>0,"+"%ansi(15)@row.Item("sb")%ansi(7),"-")~]
#SHOW %repeat(" ",1)%if(@row.Item("magia")!=0,%ansi(3)Magia%ansi(7) [%ansi(15)@row.item("magia")%ansi(7)],"")%repeat(" ",%if(@row.Item("magia")<>0,11-%len(@row.Item("eletero"))),"")%if(@row.Item("eletero")!=0,%ansi(3)Eletero%ansi(7) [%ansi(15)@row.Item("eletero")%ansi(7)],"")%repeat(" ",%len(@row.Item("elet"))-8)
#SHOW %repeat(" ",1)%if(@row.Item("allokepesseg")!=0,%ansi(3)Allokepesseg%ansi(7) [%ansi(15)@row.Item("allokepesseg")%ansi(7)],"")%repeat(" ",10-%len(@row.Item("bolcsesseg")))%if(@row.Item("bolcsesseg")!=0,%ansi(3)Bolcsesseg%ansi(7) [%ansi(15)@row.Item("bolcsesseg")%ansi(7)],"")%repeat(" ",10-%len(@row.Item("ero")))%if(@row.Item("ero")!=0,%ansi(3)Ero%ansi(7) [%ansi(15)@row.Item("ero")%ansi(7)],"")%repeat(" ",10-%len(@row.Item("iq")))%if(@row.Item("iq")!=0,%ansi(3)Intelligencia%ansi(7) [%ansi(15)@row.Item("iq")%ansi(7)],"")%repeat(" ",10-%len(@row.Item("karizma")))%if(@row.Item("karizma")!=0,%ansi(3)Karizma%ansi(7) [%ansi(15)@row.Item("karizma")%ansi(7)],"")%repeat(" ",10-%len(@row.Item("ugyesseg")))%if(@row.Item("ugyesseg")!=0,%ansi(3)Ugyesseg%ansi(7) [%ansi(15)@row.Item("ugyesseg")%ansi(7)],"")
//varazslat: most mar az importbol jon (objects.db p[33] -> items.spell)
#IF (!%null(@row.Item("spell"))) {#SHOW %repeat(" ",1)%ansi(5)A targy altal adott varazslat: %ansi(13)@row.Item("spell")%ansi(7).}
#SHOW %ansi(6)%repeat("~",80)%ansi(7)
#SHOW %repeat(" ",19)%ansi(6)A kovetkezo osztalyok tagjai hasznalhatjak%ansi(7)
#SHOW %repeat(" ",10)%ansi(11)Ha%ansi(7) [%if(%ismember("Ha",@row.Item("classes")),"+"," ")] %ansi(2)To%ansi(7) [%if(%ismember("To",@row.Item("classes")),"+"," ")] %ansi(14)Pa%ansi(7) [%if(%ismember("Pa",@row.Item("classes")),"+"," ")] %ansi(13)Ma%ansi(7) [%if(%ismember("Ma",@row.Item("classes")),"+"," ")] %ansi(3)El%ansi(7) [%if(%ismember("El",@row.Item("classes")),"+"," ")]
#SHOW %repeat(" ",10)%ansi(3)Ba%ansi(7) [%if(%ismember("Ba",@row.Item("classes")),"+"," ")] %ansi(8)Ar%ansi(7) [%if(%ismember("Ar",@row.Item("classes")),"+"," ")] %ansi(2)Dr%ansi(7) [%if(%ismember("Dr",@row.Item("classes")),"+"," ")] %ansi(4)De%ansi(7) [%if(%ismember("De",@row.Item("classes")),"+"," ")] %ansi(3)Fo%ansi(7) [%if(%ismember("Fo",@row.Item("classes")),"+"," ")]
#SHOW %repeat(" ",10)%ansi(10)Er%ansi(7) [%if(%ismember("Er",@row.Item("classes")),"+"," ")] %ansi(10)Br%ansi(7) [%if(%ismember("Br",@row.Item("classes")),"+"," ")] %ansi(5)Hi%ansi(7) [%if(%ismember("Hi",@row.Item("classes")),"+"," ")] %ansi(14)En%ansi(7) [%if(%ismember("En",@row.Item("classes")),"+"," ")] %ansi(14)Le%ansi(7) [%if(%ismember("Le",@row.Item("classes")),"+"," ")]
#SHOW %repeat(" ",10)%ansi(6)Gl%ansi(7) [%if(%ismember("Gl",@row.Item("classes")),"+"," ")] %ansi(5)Bu%ansi(7) [%if(%ismember("Bu",@row.Item("classes")),"+"," ")] %ansi(12)Pl%ansi(7) [%if(%ismember("Pl",@row.Item("classes")),"+"," ")] %ansi(2)Hm%ansi(7) [%if(%ismember("Hm",@row.Item("classes")),"+"," ")] %ansi(6)Os%ansi(7) [%if(%ismember("Os",@row.Item("classes")),"+"," ")]
#SHOW %repeat(" ",10)%ansi(1)Ka%ansi(7) [%if(%ismember("Ka",@row.Item("classes")),"+"," ")] %ansi(9)Fe%ansi(7) [%if(%ismember("Fe",@row.Item("classes")),"+"," ")] %ansi(9)Pr%ansi(7) [%if(%ismember("Pr",@row.Item("classes")),"+"," ")] %ansi(13)Il%ansi(7) [%if(%ismember("Il",@row.Item("classes")),"+"," ")] %ansi(1)Tu%ansi(7) [%if(%ismember("Tu",@row.Item("classes")),"+"," ")] %ansi(15)Jo%ansi(7) [%if(%ismember("Jo",@row.Item("jellemek")),"+"," ")]
#SHOW %repeat(" ",10)%ansi(12)Lo%ansi(7) [%if(%ismember("Lo",@row.Item("classes")),"+"," ")] %ansi(11)Re%ansi(7) [%if(%ismember("Re",@row.Item("classes")),"+"," ")] %ansi(3)Sa%ansi(7) [%if(%ismember("Sa",@row.Item("classes")),"+"," ")] %ansi(6)Me%ansi(7) [%if(%ismember("Me",@row.Item("classes")),"+"," ")] %ansi(12)Vi%ansi(7) [%if(%ismember("Vi",@row.Item("classes")),"+"," ")] %ansi(10)Se%ansi(7) [%if(%ismember("Se",@row.Item("jellemek")),"+"," ")]
#SHOW %repeat(" ",10)%repeat(" ",11)%ansi(1)Ut%ansi(7) [%if(%ismember("Ut",@row.Item("classes")),"+"," ")] %ansi(15)Sz%ansi(7) [%if(%ismember("Sz",@row.Item("classes")),"+"," ")] %ansi(8)Ne%ansi(7) [%if(%ismember("Ne",@row.Item("classes")),"+"," ")] %repeat(" ",11)%ansi(8)Go%ansi(7) [%if(%ismember("Go",@row.Item("jellemek")),"+"," ")]
#SHOW %ansi(6)%repeat("~",80)%ansi(7)
#IF (@row.Item("i_viseli") != "-" AND !%null(@row.Item("i_viseli"))) {
#SHOW %repeat(" ",1)%ansi(3)Viseli %ansi(7)%crlf
#SHOW %repeat(" ",15)%ansi(14)%replace(@row.Item("i_viseli"),"|",%crlf%repeat(" ",15))%ansi(7)
}
#IF (@row.Item("i_arusitja") != "-" AND !%null(@row.Item("i_arusitja"))) {
#SHOW %repeat(" ",1)%ansi(3)Arulja %ansi(7)%crlf
#SHOW %repeat(" ",15)%ansi(14)%replace(@row.Item("i_arusitja"),"|",%crlf%repeat(" ",15))%ansi(7)
}
#SHOW %ansi(15)%repeat("=",%eval(53-%len(@character)))%ansi(7)%ansi(147)[@character targylista]%ansi(7)%ansi(15)%repeat("=",14)%ansi(8)
#CALL @row.Next
} {
//filter
#SHOW %ansi(198) @row.Item("name")%crlf %repeat(" ",2)@ItemSearchFilterName %ansi(7)%crlf
#CALL @row.Next
}
} {
//tobb item talalatakor listazzuk ki mindet
#IF (@row.RecordCount() > 1) {
row = %sql(targylista, %concat("SELECT * FROM items WHERE name LIKE '"@ItemSearchName"%'"))
#SHOW %ansi(47) [@row.RecordCount()] db talalat van a listan! %ansi(7)
#WHILE (!@row.Eof()) {
#SHOW %ansi(198) @row.Item("name")%repeat(" ",2)Szint=@row.Item("min_szint")%repeat(" ",2)Gyakorisag=@row.Item("rarity")%repeat(" ",2)Tipus=@row.Item("type")%repeat(" ",2)Altipus=@row.Item("subtype")%repeat(" ",2)Suly=@row.Item("weight") %ansi(7)
#CALL @row.Next
}
}
#IF (@row.RecordCount() < 1) {#SAY Nincs ilyen item [@ItemSearchName] meg a listadon!}
}
}
valtozo_urites
}
#SQLCLOSE
-------------------------------------------------------------------------
item_mentunk alias modositas.
#VAR i_name %lower(%replace(@i_name,"'",""))
#LOCAL $row ""
mydb = %sqldb(targylista)
#CALL @mydb.Open()
$row = %sql(targylista, %concat("SELECT * FROM items WHERE name = '"@i_name"'"))
#IF ($row.RecordCount() > 0) {
#SAY %ansi(44)@i_name%ansi(reset) mar a listan van
} {
#SAY %ansi(bold,yellow)@i_name%ansi(reset) NINCS a listan - futtass: katalogusfrissit
}
#CALL @mydb.Close()