Jump to content

luzzo

Member
  • Posts

    89
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    0%

Everything posted by luzzo

  1. self.Buttons["Button2"+str(button2)] you are indicizing with str, it must be an integer
  2. i think that isn't totally correct. Double 101.kill of course intercept each other but execute just the fist in alphabetical order. I don't know if you manage npc.get_race() or it was managed already in the 40k rev but when i used 2089m rev with npc.get_race() there was a real problem with the execution of this function;indeed when you are killing a metin or a different kind of mobs all togheder, it didn't count every time the metin. In a killing test , on 10 metin just 2 was counted. Finally, I want to congratulate you ,even if i don't use vanilla core ( i have my own one), for your grat job. Reguards Luzzo I never had any problems with the npc.get_race() maybe it's already fixed in 40k, but as far as I know there are plenty servers running with 2089 and they also use the new way with npc.get_race(). And yeah, I know that one gets executed, but people want both to be executed. Let's say you have a quest that's triggering when you kill the lv40 metinstone. And then you go to dt. Only one of both can be used and if the newer quest is first in the order (as you said alphabetical) you can't use the dungeon anymore. That's just for example. Yes , i'm totally according you but it's always better have both. As you said: "you have a quest that's triggering when you kill the lv40 metinstone. And then you go to dt. Only one of both can be used and if the newer quest is first in the order (as you said alphabetical) you can't use the dungeon anymore." That's the reson of different vnum of tower's metin. I hope that's a reason for 101.kill and npc.get_race() even if ymir's code never end to surprice me.
  3. i think that isn't totally correct. Double 101.kill of course intercept each other but execute just the fist in alphabetical order. I don't know if you manage npc.get_race() or it was managed already in the 40k rev but when i used 2089m rev with npc.get_race() there was a real problem with the execution of this function;indeed when you are killing a metin or a different kind of mobs all togheder, it didn't count every time the metin. In a killing test , on 10 metin just 2 was counted. Finally, I want to congratulate you ,even if i don't use vanilla core ( i have my own one), for your grat job. Reguards Luzzo
  4. As sysser said you have and indetation error. Use tab
  5. you wanna trade 8kkk of yang now you can
  6. M2 Download Center Download Here ( Internal ) What is check system? It's a simple system that allow you to trade an hight amount of yang. Server Side for who change variables from int to long or long long --*** --**Coded by Luzzo --*** quest collect_check begin state start begin function money_operation(operation) if operation == 1 then say("How many yang do you want to deposit?") local money = tonumber(input()) if money == nil then syschat("You have entered a not valid value") return end if money > 0 and money < 1999999999 and pc.get_gold() >= money then pc.changegold(-money) item.set_socket(0, item.get_socket(0)+money) syschat("You have deposited "..money.." yang.") else syschat("You have entered a not valid value") end elseif operation == 2 then say("How many yang do you want to take?") local money = tonumber(input()) if money == nil then syschat("You have entered a not valid value") return end if money > 0 and item.get_socket(0) >= money and pc.get_gold()+money <= 1999999999 then pc.changegold(money) item.set_socket(0, item.get_socket(0)-money) syschat("You have taken "..money.." yang.") else syschat("You have entered a not valid value") end elseif operation == 3 then say("You will lose all money on this check") say_reward("Are you sure?") local conf_deleting = select("Yes, Delete","No,i will think") if conf_deleting == 1 then item.remove() end end end when 50512.use begin say_title("Check Manager") say("Hi "..pc.get_name().." how can i help you?") local selection = {"Deposit Money","Take Money","Delete Check","Exit"} local choice = select_table(selection) if choice != table.getn(selection) then say_title("Check Manager") say("Mode:"..selection[choice]) collect_check.money_operation(choice) else return end end end end Server Side for no modified variables.(Common function source is int) --*** --**Coded by Luzzo --*** quest collect_check begin state start begin function money_operation(operation) if operation == 1 then say("How many yang do you want to deposit?") local money = tonumber(input()) if money == nil then syschat("You have entered a not valid value") return end if money > 0 and money < 999999999 and pc.get_gold() >= money and item.get_socket(0)+money <= 999999999 then pc.changegold(-money) item.set_socket(0, item.get_socket(0)+money) syschat("You have deposited "..money.." yang.") else syschat("You have entered a not valid value") end elseif operation == 2 then say("How many yang do you want to take?") local money = tonumber(input()) if money == nil then syschat("You have entered a not valid value") return end if money > 0 and item.get_socket(0) >= money and pc.get_gold()+money <= 1999999999 then pc.changegold(money) item.set_socket(0, item.get_socket(0)-money) syschat("You have taken "..money.." yang.") else syschat("You have entered a not valid value") end elseif operation == 3 then say("You will lose all money on this check") say_reward("Are you sure?") local conf_deleting = select("Yes, Delete","No,i will think") if conf_deleting == 1 then item.remove() end end end when 50512.use begin say_title("Check Manager") say("Hi "..pc.get_name().." how can i help you?") local selection = {"Deposit Money","Take Money","Delete Check","Exit"} local choice = select_table(selection) if choice != table.getn(selection) then say_title("Check Manager") say("Mode:"..selection[choice]) collect_check.money_operation(choice) else return end end end end Cient Side 1)unpack root and open uitooltip.py 2)Find ### Hair Preview Image ### if self.__IsHair(itemVnum): self.__AppendHairIcon(itemVnum) Is in AddItemData method 3) Before paste this if itemVnum == 50512: if metinSlot[0] != 0: self.AppendDescription("Yang Account: %s." %localeInfo.NumberToMoneyString(metinSlot[0]) , 26, self.CONDITION_COLOR) else: self.AppendDescription("Empty Check" , 26, self.CONDITION_COLOR) I use 50512 item just to script the system you can use another value with a better icon =D
  7. Hi Metin2dev , few days ago i developed a new pet system for an italian server . It's really different from the common PetSystem just for one thing: indeed now signet are not long linked to the player but to the self signet. You can now have the same pet like red phoenix but with different level and different skill and u can trade that when you want , according the prize to the pet level,skill ecc. The other stuff of this pet system i think that are quit common but i ll go to describe them. ------Video----- Pets have level. Pets increment and unlock their skills with level Pets have and happynes value ( this will influence the power of skill) -------------------- --------Screen----- You can see all stats on the gui. You can see level and happynes on the signet. -------------------------- Some screen and Video: I don't wanna publicize this server but i have to thanks them for recording. Please Commenti with Like why... Don't like why What can i improve or modify Reguards Luzzo
  8. Thank you for answer but it didn't work. game.mysql_query('SELECT kelime FROM player.kelime WHERE sira = "'..flag..'"') randomkelime.lua:83:syntax error : [string "start"]:35: `)' expected near `" .. flag .. "' Just my error local bul = game.mysql_query("SELECT kelime FROM player.kelime WHERE sira ='"..flag.."'") copy and paste this and it ll work
  9. I don't know how vanilla manages mysql query but i think that you have to use something like this local flag = game.get_event_flag("kelimesira") local bul = game.mysql_query("SELECT kelime FROM player.kelime WHERE sira ='"..flag.."'") say (bul)
  10. there are a lot of ways to do it. U can compile source with a check of map on those two items. U can write a little workaround in lua like this On teleporting quest u can set qf as identity of map , on login,logout you can manage it by setting it != 0 active(id of each map) or setting it == 0 (player can enter in premium map). then Just check on login map index and qf.
  11. Game >> check damge of mounts Launcher >> able to attack
  12. man your item type is wrong for sure!
  13. i think that's all not correct that you wrote. 1) Why you use 3500 if and else? function bonus(id) local bonus_list = { [0] = "bonus name", [1]= "bonus name", } return bonus_list[id] end I really don't think that u have bonus on item that doesn't exist. 2) bonus and other things have a temporany chache in game memory and u can't read them with sql.
  14. Here u have all AniImageBox method class AniImageBox(Window): def __init__(self, layer = "UI"): Window.__init__(self, layer) def __del__(self): Window.__del__(self) def RegisterWindow(self, layer): self.hWnd = wndMgr.RegisterAniImageBox(self, layer) def SetDelay(self, delay): wndMgr.SetDelay(self.hWnd, delay) def AppendImage(self, filename): wndMgr.AppendImage(self.hWnd, filename) def SetPercentage(self, curValue, maxValue): wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, -1.0 + float(curValue) / float(maxValue), 0.0) def OnEndFrame(self): pass
  15. In the default function you have a limit on the index. This function anyway is more friendly and easier to use..
  16. Hi metin2dev today i wanna release a little function to convert in the easyest way number in pointed number string. Ex: From :150000000 In : 150.000.000 It's very usefull if you need to create a new coins manage interface like that: [Hidden Content] Here the full commented code: def splittedvalue(value): x = value x_list = list(x) #convert string in list x_list.reverse() #reverse list for the right point if len(x)%3 == 0: #checking how many point must insert.If there is not rest, point -1 to avoid .100.500 count_point = len(x)/3-1 else: count_point = len(x)/3 for point in range(0,count_point): #insert the points in the right place x_list.insert((3*int(point+1)+point),".") x_list.reverse() #reverse again the list as begining x_list = "".join(x_list) #reconvert list in string return x_list #finally return string value with point Reguards Luzzo
  17. You write a no exist file in q.set_icon("here") The options for this system are: q.set_icon("scroll_open_blue.tga") q.set_icon("scroll_open_golden.tga") q.set_icon("scroll_open_green.tga") q.set_icon("scroll_open_purple.tga") If you are sure that quest side is right check in the icon folder that scroll_open_blue.tga scroll_open_golden.tga scroll_open_green.tga scroll_open_purple.tga exists
  18. eh for sure you miss to write luckyimg.Show()
  19. yes are you sure that are the right x , y?
  20. just check the db process in with port is working but i m quite sure that is a launcher problem. If you are using wrong data server respond with id or password not correct. So just try to use a different launcher.
  21. Yours icon's path is wrong.. Just use self.luckyimg.AppendImage("icon/item/"+luckyimg) and remeber witch variable are you using The element + can sum string with string and int with int. Reguars Luzzo
  22. that kind of error could came from two different reasons. Login packet of launcher are wrongs ( it's linked to a wrong rev server - launcher) There is a bad configuration of config file in your server ( check if that port is opened)
  23. English If i understand well you want to get from first floor to 7th directly. In this case u have to use d.join(map_index) to get the group in dungeon , then d.jump_all(index, x ,y) for the right position and finally load the regen and maybe a timer if u need it with d.regen_file(path) This with rev lower then 40k Italian Se ho capito bene vuoi salire dal primo priano al settimo direttamente. In questo caso devi usare d.join(map_index) per portare il gruppo nel dungeon , d.jump_all(index, x ,y) per la giusta posizione e infine caricare il regen e un timer se ne hai bisogno con d.regen_file(path) Questo con le rev minori della 40k
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.