Jump to content

iZae

Community
  • Content Count

    81
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by iZae

  1. Hello buddy! First, be sure to post in correct sections, this is not a Guide. Here's an example of Revival Skill Script: Skillinfo.txt (don't have the headings for each column, but in this case the "Skill_Fh_Begin" is the important info) 0124 Revival 1 5,10;13,10;14,10 1,-1 1,-1 1,-1 -1 2 1 1 -1 98,4 1 1 1 800 6 1 0 0 0 0 0 SkillSp_Fh 0 0 0 Skill_Fh_Begin Skill_Fh_End 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SkillCooldown_Fh 1 1 12 0 116 -1 113 0 -1 0,0 0,0 -1 -1 -1 0 0 -1 -1 148 0 0 0 s0124.tga 0 0 Revive dead character Brings dead target back to life. Requires Revival Clover. Each skill level reduce skill cooldown by 1.5 sec Fix consumption of 50 SP 0 And in skilleffect.lua (resources/scripts/calculate) you have this function: function Skill_Fh_Begin ( role , sklv ) local map_name_ATKER = GetChaMapName ( role ) if map_name_ATKER == "garner2" then SystemNotice ( role , "Unable to use Revival skills here." ) SkillUnable(role) end local item_count = CheckBagItem ( role , ITEM_RELIFE ) if item_count <= 0 then SkillUnable(role) SystemNotice ( role , "Does not possess required item to use skill" ) end local a = DelBagItem ( role , ITEM_RELIFE , 1 ) end That's the default way to avoid using "Revival" skill in Chaos Argent.
  2. IMO NO. CONS: There are more servers than players. Game is old. Chances of success through time are really low. PRO: Available source code, extensions. You could really make a difference in your server. If you want money, there are other things you could do to get more. If you want learn the basics of gamedev and you have ToP nostalgia, then why not? But still, if you're looking for something to invest your time, I'd suggest you to go learn programming or gamedev with Unity/Unreal.
  3. iZae

    item usage

    Well, since u said Rolls, I tought u mean something like prevent using 2 hp recovery items. Those arent used with states, instead they just add hp to your attrs. If u want to avoid using twice an item that give states, as inuarashi said, take a look at Amplifiers itemeffect script.
  4. iZae

    item usage

    There may be another way to do it, but this one is simple and efficient.
  5. You have 2 things: Server where you have your serverfiles and database, and client where players get to enter and play the game. Your serverfiles have some files such as iteminfo.txt that contains the whole list of items available in your server. But on the client side, you need that same iteminfo but with a different extension. Instead of iteminfo.txt (as you have on your server side), the client needs an iteminfo.bin. So a compiler turns .txt into .bin, and decompiler turns .bin into .txt. (You can't just rename the files, 'cause as the topic says, the files are compiled) :P
  6. Hello There! Just a brief summary: ToP is originally coded in C++ (Source code is available in this forum) and Lua. It uses SQL database. Most PKOsites are coded in PHP. It's really up to you where you'll want to guide your learning path, but as a personal suggestion, start learning LUA (https://www.lua.org/docs.html). Most ingame scripts are coded in LUA (NPCs, Missions, Item Effects, Attributes, Skills, even the AI; and also, most of the releases of this forum are for those kind of scripts). You could also learn a bit about SQL (mainly UPDATE, INSERT and basic Queries) 'cause you can find here an awesome extension called LuaSql, which allows you to play with your database from ingame events. Once you're familiar with it's language, and you feel like you can pretty much do everything you want to in LUA (a good way to prove you're confident enough is to understand advanced pkodev extensions - such as Hooks, Serialize, AntiDupes, AI Behaviours - ), you can dive into C++ learning to making your own extensions, or edits on the source code. This is really advanced shit, it'll take you some time to get familiar with LUA first. Use PkoDev Search Engine, Guides Section, Releases Section, Lua docs, Google and Youtube. You can do it ☺ --Edit: Forgot to say, despite all the information you can get from the internet, the greatest way of learning is by Doing. Install Basic Server Files, Get to make it run just for you or few friends, and start doing! Start by making an Npc, then a mission, then an usable item, and so on. From basic to advanced, just the same as learning anything else.
  7. You really think is a good idea to implement a BR on a game that is almost dead? Imagine the player base you need to be opening map copies each minutes as fornite or apex do. A simpler and more efficient way is to make a maze for ur server, so once every X hours you open that maze. Just another Chaos Argent, but where you enter naked and loot on chests.
  8. Amazing! I just like the idea of giving suggestions instead of making it for other people. Thanks for your effort
  9. That function doesn't add bonus ap per reset and doesn't take in consideration if the character has rebirth skills (just reset all skills). My suggestions: Save somewhere how many resets the char has done (luasql, unused attrs, serialize) Reset to lv 1 and give the starting 4 attribute points + bonus per reset Set a condition to check if the player has nothing equipped before the reset (otherwise imagine a lv 1 newbie with forged death set) Check if the player has Rebirthed before the reset, and add a "rebirth skill book" that checks the class once is lv 41+ and adds the correct rebirth skill and rebirth lvl.
  10. You used ImpsPointCard as itemeffect function name right? in your script I see "function ItemUse_Points ( role , Item )" in mkhzaleh I see "ImpsPointCard = function(Player, Item)" Also you have to set this constants (in case you didn't do it before) SQL.GameDB.Name, SQL.GameDB.Host, SQL.GameDB.User, SQL.GameDB.Password
  11. Iteminfo.txt Open it with a csv editor such as csved and you'll see that each column defines different things such as model/attrs/price/tradeable/itemtype etc Read as many guides as you can from Guide section, then use search buttom, then post your question if it wasn't solved before.
  12. As far as I know, to translate the game itself to another language you'll need to manually translate every Client File (of the GUI), hex the game.exe, and also translate every single script (Server Side) with a Notice, Text, Talk, MissionTalk, BickerNotice, SystemNotice and so on. Well, I say manually but maybe someone have a better idea :P It would be an endless and pointless job. Several years ago there was a group of serverdev with geminidev who tried to full translate newer files from CH to ENG and after some months of many people working, they just stopped trying. Also, ToP is dying, it's a really old game, with not a huge active players. I'll say it's not worth the effort.
  13. Ain't no way that it causes infinte stun: math.min returns the minimum between 1 and the result of "math.floor(sklv/4)" and math.floor returns an integer not greater than the result of (sklv/4) so in case the sklv is 10 (max) the whole line would b e statetime = math.min(1,math.floor(10/4)) = math.min(1,math.floor(2.5)) = math.min(1,2) = 1
  14. Hint: Use LuaSql otherwise you won't be able to set them on account database :)
  15. You really need to learn a lil bit of Lua. local rate = math.random(1,200) if rate >= Con(DEFER) then local statetime = sklv/4 local statelv = sklv AddState ( ATKER , DEFER , STATE_XY , statelv , statetime ) end that means that every time the skill is called inside CA, it will set a random number between 1 and 200, and if that number is greater than the amount of Constitution of the defer (it means, the one who will receive the stun) then stun. For example I attack you with a conch ray, the system sets the random number of 15 wich is lower than your Constitution, then no stun is applied. If you're asking a random time for the stun you can just do something like: local statetime = math.random(1,4) -- which means that it will randomnly stun for 1 till 4 seconds.
  16. No, it means that it stuns 1/4 of the skill level. For example: if you have it maxed (lvl 10) it'll stun 2.5secs. if you want to set it to a specific ammount of time just do local statetime = 2 or so
  17. iZae

    Rep by Mob

    Inside GetExp_PKM function (exp_and_level.lua) you could add somewhere: local atk_fame = GetChaAttr(atk, ATTR_FAME) local dead_id = GetChaID(dead) local rep_by_mob{} rep_by_mob[103]= 1000; if mob[dead_id] ~= nil then atk_fame = atk_fame + rep_by_mob[dead_id] SetCharaAttr(atk_fame, atk, ATTR_FAME) end in that example the mob id 103 will give the killer 1000 rep. if you want to add more mobs with their specific ammount of reputation you can just add more rep_by_mob[103]= 1000; where 103 is the character id and 1000 is the reputation. I hope it's clear.
  18. replace 2310 line to: if Hp(role)<=0 or Hp(role)==nil then
  19. 1) Bienvenido! 2) No postees mucho en español porque la mayoria hablan ingles o ruso 3) Fijate donde posteas, no es necesario postear 2 veces lo mismo, y esto no es Ni una Guia, ni un Server File (secciones en las que hiciste el post), lo correcto seria que postees en Questions & Answers. 4) Navega en la seccion Guides (Guias) y vas a encontrar muchas guias por donde empezar. 5) Antes de hacer cualquier pregunta, te recomiendo que uses el boton Search, ya que es probable que tu duda ya se haya resuelto en otro post. 6) Consejo personal: no copies y pegues, busca entender que es lo que haces cuando haces un script, o lo que sea. Y familiarizate lo mas que puedas con el ingles. Aqui te paso una especie de indice de guias para principiantes.
  20. Nice Job: Btw (Off topic): Who is calling his server SCROTOS, when this in spanish and portuguese means scrotum lol.
  21. You sure you did everything you need to? Dofile the extension Add SDK Change IDs of Prizes?
×
×
  • Create New...