Jump to content

Rizlaaa

Members
  • Posts

    362
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Rizlaaa

  1. ναι , γιατι βαριεσαι δηλαδη; αυτο που σου εστειλα τον κανει chat ban
  2. Η καλυτερη ιδεα γι αυτο ειναι να χρησιμοποιηεις chat filter το οποιο εχει γινει share εδω, ψαξτο. Παρολλο αυτα ευκολος τροπος για να απαγορευσεις λεξεις συγεκριμενες: ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/net/sf/l2j/gameserver/clientpackets/Say2.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/Say2.java (revision 5263) +++ java/net/sf/l2j/gameserver/clientpackets/Say2.java (working copy) @@ -48,6 +48,8 @@ private static Logger _log = Logger.getLogger(Say2.class.getName()); private static Logger _logChat = Logger.getLogger("chat"); + private static String[] sites = {"l2","L2","www"}; + public final static int ALL = 0; public final static int SHOUT = 1; //! public final static int TELL = 2; @@ -139,6 +141,16 @@ return; } } + + if(_type == TELL || _type == SHOUT || _type == TRADE || _type == HERO_VOICE || _type == PARTY){ + for(int k=0; k < sites.length; k ++){ + if(_text.equalsIgnoreCase(sites[k])){ + activeChar.sendMessage("You can't use word: "+sites[k]); + activeChar.setChatBanned(true); + return; + } + } + } if (_type == PETITION_PLAYER && activeChar.isGM()) _type = PETITION_GM; στο private static String[] sites = {"l2","L2","www"}; προσθετεις οτι θελεις.
  3. ευχαριστω περιμενω για περισσοτερα requests.
  4. Παιδια λογω γιορτης σημερα απουσιαζα (Γιωργος). @Goldex ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (revision 5263) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (working copy) @@ -198,6 +198,7 @@ } else if(command.startsWith("change_class")) { + int val = Integer.parseInt(command.substring(13)); // Exploit prevention @@ -205,7 +206,13 @@ int level = player.getLevel(); int jobLevel = 0; int newJobLevel = 0; - + + int[] dragonicClassIds = {81,91,83,821}; + int[] dcClassIds = {12,24,54,21}; + + int[] draconicArmorIds = {48484,48484,48484,48484}; + int[] dcArmorIds = {3949,4949,4949,4949}; + ClassLevel lvlnow = PlayerClass.values()[classId.getId()].getLevel(); if(player.isGM()) @@ -272,7 +279,26 @@ changeClass(player, val); if(val >= 88) - player.sendPacket(new SystemMessage(SystemMessageId.THIRD_CLASS_TRANSFER)); // system sound 3rd occupation + { + for(int i : dragonicClassIds ){ + if(classId.getId() == i){ + for(int u : draconicArmorIds) + player.getInventory().addItem("", u, 1, player, null); + + player.sendMessage("You rewarded with draconic armors"); + } + } + + for(int i : dcClassIds ){ + if(classId.getId() == i){ + for(int u : dcArmorIds) + player.getInventory().addItem("", u, 1, player, null); + + player.sendMessage("You rewarded with dc armors"); + } + } + player.sendPacket(new SystemMessage(SystemMessageId.THIRD_CLASS_TRANSFER)); + }// system sound 3rd occupation else player.sendPacket(new SystemMessage(SystemMessageId.CLASS_TRANSFER)); // system sound for 1st and 2nd occupation τυχαια ids και παει λεγωντας.. Ευχαριστω fighterboss , elfocrash.
  5. αααα απλα νομιζα οτι θες μονο για weapon. σβησε το if(item.getItem().getItemType() instanceof L2WeaponType){ και ενα } απο το τελος.
  6. το βρισκω useless. Αυτο που λες μαλλον θελει client edit, anyway εκανα το εξης αν το θες: Πανε στο Npc πατανε το κουμπι και μετα μπορουν να πατησουν οποιοδηποτε weapon(weapon μονο) και αυτο εχει 70% πιθανοτητα να γινει +1 αλλιως γινεται 0(σαν blessed), μετα για να το ξανακανουν πρεπει να ξαναπατησουν στο npc. Tested ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/net/sf/l2j/gameserver/clientpackets/UseItem.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/UseItem.java (revision 5263) +++ java/net/sf/l2j/gameserver/clientpackets/UseItem.java (working copy) @@ -37,6 +37,7 @@ import net.sf.l2j.gameserver.templates.L2Weapon; import net.sf.l2j.gameserver.templates.L2WeaponType; import net.sf.l2j.gameserver.util.FloodProtector; +import net.sf.l2j.util.Rnd; /** * This class ... @@ -149,6 +150,28 @@ sm = null; return; } + + if(activeChar.isAbility()){ + if(item.getItem().getItemType() instanceof L2WeaponType){ + int chance = 70; + if(Rnd.get(100) < chance){ + item.setEnchantLevel(item.getEnchantLevel() + 1); + item.updateDatabase(); + activeChar.sendMessage("Successfully enchanted"); + } + else{ + if(item.getEnchantLevel() == 0){} + else{ + item.setEnchantLevel(0); + item.updateDatabase(); + activeChar.sendMessage("Unsuccessfully enchanted"); + } + } + activeChar.setAbility(false); + return; + } + } + // Char cannot use item when dead if (activeChar.isDead()) Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 5263) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -451,6 +451,8 @@ private boolean _noble = false; private boolean _hero = false; + + private boolean _ability = false; /** The L2FolkInstance corresponding to the last Folk wich one the player talked. */ private L2FolkInstance _lastFolkNpc = null; @@ -8215,6 +8217,16 @@ return true; } + public boolean isAbility() + { + return _ability; + } + + public void setAbility(boolean newValue) + { + _ability = newValue; + } + public boolean isNoble() { return _noble; Index: java/net/sf/l2j/gameserver/model/actor/instance/L2EnchanterInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2EnchanterInstance.java (revision 0) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2EnchanterInstance.java (revision 0) @@ -0,0 +1,56 @@ +/* This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.model.actor.instance; + +import javolution.text.TextBuilder; +import net.sf.l2j.gameserver.model.L2ItemInstance; +import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; +import net.sf.l2j.gameserver.templates.L2NpcTemplate; +import net.sf.l2j.gameserver.templates.L2WeaponType; + +/** + * + * @author iracundus + */ +public class L2EnchanterInstance extends L2NpcInstance +{ + + + public L2EnchanterInstance(int objectId, L2NpcTemplate template) + { + super(objectId, template); + } + + @Override + public void showChatWindow(L2PcInstance player, int val) + { + if(player == null) + return; + TextBuilder tb = new TextBuilder(); + NpcHtmlMessage nhm = new NpcHtmlMessage(1); + + tb.append("<html><body>"); + tb.append("I can enchant weapons for you,clik the button<br>"); + tb.append("and then double-click on the weapon you want<br>"); + tb.append("<button value=\"Give enchanting ability\" action=\"bypass -h enchantab\""); + tb.append("</body></html>"); + nhm.setHtml(tb.toString()); + player.sendPacket(nhm); + } + +} Index: java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (revision 5263) +++ java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (working copy) @@ -85,6 +85,14 @@ { comeHere(activeChar); } + else if(_command.startsWith("enchantab")){ + if(activeChar.isAbility()){ + activeChar.sendMessage("You have already the ability to double click a weapon and enchant"); + return; + } + activeChar.setAbility(true); + activeChar.sendMessage("Now you have the ability to double click a weapona and enchant it"); + } else if (_command.startsWith("player_help ")) { playerHelp(activeChar, _command.substring(12));
  7. Goldex you can ask everything. Speak greek. Shadow, αποφασισε και καντο ποστ γιατι εχω μπερδευτει
  8. Done And code: ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/net/sf/l2j/gameserver/model/actor/instance/L2HeroMessageInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2HeroMessageInstance.java (revision 0) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2HeroMessageInstance.java (revision 0) @@ -0,0 +1,56 @@ +/* This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * http://www.gnu.org/copyleft/gpl.html + */ +package net.sf.l2j.gameserver.model.actor.instance; + +import javolution.text.TextBuilder; +import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; +import net.sf.l2j.gameserver.templates.L2NpcTemplate; + +/** + * + * @author iracundus + */ +public class L2HeroMessageInstance extends L2NpcInstance +{ + + public L2HeroMessageInstance(int objectId, L2NpcTemplate template) + { + super(objectId, template); + } + + @Override + public void showChatWindow(L2PcInstance player, int val){ + if(player == null) + return; + + TextBuilder textBuilder = new TextBuilder(); + NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(getObjectId()); + + textBuilder.append("<html><head><title>L2 Hero chat message Npc</title></head>"); + textBuilder.append("<body>"); + textBuilder.append("<center>Hello i am the Hero Chat Message Npc.<br>"); + textBuilder.append("I Need 50 adena to talk for you in hero voice</center><br>"); + textBuilder.append("Enter your message here:<br>"); + textBuilder.append("<multiedit var=\"hmess\" width=175 height=90><br><br>"); + textBuilder.append("<button value=\"Message\" action=\"bypass -h hmesit $hmess\" width=204 height=20"); + textBuilder.append("</body></html>"); + npcHtmlMessage.setHtml(textBuilder.toString()); + player.sendPacket(npcHtmlMessage); + } + +} Index: java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (revision 5263) +++ java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (working copy) @@ -18,6 +18,7 @@ */ package net.sf.l2j.gameserver.clientpackets; +import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; @@ -33,6 +34,7 @@ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.L2Event; import net.sf.l2j.gameserver.serverpackets.ActionFailed; +import net.sf.l2j.gameserver.serverpackets.CreatureSay; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; /** @@ -89,6 +91,34 @@ { playerHelp(activeChar, _command.substring(12)); } + else if(_command.startsWith("hmesit")){ + String heroMessage = ""; + int itemId = 57 , itemCount = 500; + StringTokenizer stringTokenizer = new StringTokenizer(_command); + stringTokenizer.nextToken(); + + while(stringTokenizer.hasMoreTokens()) + heroMessage = heroMessage + stringTokenizer.nextToken() + " "; + + if(heroMessage == "") + return; + + if(heroMessage.length() >= 100) + { + activeChar.sendMessage("too much big"); + return; + } + + if(activeChar.getInventory().getItemByItemId(itemId) == null || activeChar.getInventory().getItemByItemId(itemId).getCount() < itemCount){ + activeChar.sendMessage("You don't have enought items to use this npc instance"); + return; + } + + activeChar.getInventory().destroyItemByItemId("done", itemId, itemCount, activeChar, null); + for(L2PcInstance heroTakers : L2World.getInstance().getAllPlayers()) + if(heroTakers != null) + heroTakers.sendPacket(new CreatureSay(activeChar.getObjectId(),Say2.HERO_VOICE,activeChar.getName(),heroMessage)); + } else if (_command.startsWith("npc_")) { if(!activeChar.validateBypass(_command))
  9. σιγουρεψου οτι εχεις περασει τα configs file πρωτα και κανε και save , δε θα βγαζει error. Για αυτη τη σηρα: for(L2PcInstance players : L2World.getInstance().getAllPlayers()) καντηνα for(L2PcInstance players: L2World.getInstance().getAllPlayers().values())
  10. Πιστευω ναι. περιμενω για περισσοτερα requests.
  11. Το πρωτο request ηρθε και εκπληρωθηκε. Κωδικας: ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/config/l2jmods.properties =================================================================== --- java/config/l2jmods.properties (revision 5263) +++ java/config/l2jmods.properties (working copy) @@ -91,6 +91,11 @@ #Cost of Divorce, % of Adena WeddingDivorceCosts=20 +#Custom Chat via PvPs +AllowPvpChat = False +#Pvps to talk there +PvpsToChat = 500 + #--------------------------------------------------------------- # Team vs. Team Event Engine (by FBIagent) - #--------------------------------------------------------------- Index: java/net/sf/l2j/gameserver/clientpackets/Say2.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/Say2.java (revision 5263) +++ java/net/sf/l2j/gameserver/clientpackets/Say2.java (working copy) @@ -233,6 +233,14 @@ } break; case ALL: + if(Config.ALLOW_PVP_CHAT){ + if(activeChar.getPvpKills() >= Config.PVPS_TO_CHAT) + if(_text.startsWith("~")){ + String customChat = _text.substring(1); + for(L2PcInstance players : L2World.getInstance().getAllPlayers()) + players.sendPacket(new CreatureSay(activeChar.getObjectId(),15,activeChar.getName(),customChat)); + } + } if (_text.startsWith(".")) { StringTokenizer st = new StringTokenizer(_text); Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 5263) +++ java/net/sf/l2j/Config.java (working copy) @@ -881,7 +881,12 @@ public static boolean L2JMOD_WEDDING_SAMESEX; public static boolean L2JMOD_WEDDING_FORMALWEAR; public static int L2JMOD_WEDDING_DIVORCE_COSTS; + + //pvp chat + public static boolean ALLOW_PVP_CHAT; + public static int PVPS_TO_CHAT; + // Packet information /** Count the a-beep-t of packets per minute ? */ public static boolean COUNT_PACKETS = false; @@ -1859,6 +1864,10 @@ L2JMOD_WEDDING_FORMALWEAR = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True")); L2JMOD_WEDDING_DIVORCE_COSTS = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20")); + + ALLOW_PVP_CHAT=Boolean.valueOf(L2JModSettings.getProperty("AllowPvpChat","False")); + PVPS_TO_CHAT=Integer.parseInt(L2JModSettings.getProperty("PvpsToChat","500")); + if (TVT_EVENT_PARTICIPATION_NPC_ID == 0) { TVT_EVENT_ENABLED = false; Προς sarras: Τωρα το κειμενο πρεπει να αρχιζει με ~ , αλλαξε το οπως θες. Προς sarras και ολους:Καλυτερα να λετε εδω στο topic τα requests και οχι σε Pm. Περιμενω για αλλα.
  12. :D Anyway περιμενω για τα πρωτα requests.
  13. Εγινε , και να μην ξερω θα το ψαξω βεβαια και οτι καταφερω , δεχομαι και βοηθεια οπως ειπα ομως.
  14. Φιλε μου αυτο που σου ζητησα ηταν απλα HTML , δεν το ειχα συναντησει ποτε , τωρα το εμαθα ομως (χαρη σε σενα δεν αντιλεγω) και σε ευχαριστω για αυτο.Δεν ειπα οτι γνωριζω τα παντα, αλλα καποια πραγματα μπορω να τα κανω και να βοηθησω παιδια απο εδω κυριως newbies.
  15. Γεια σε όλους. Πολλοί απο εσάς σίγουρα χρειάζονται java mods ή διάφορα fixes σε bugs και τα σχετικα. Λοιπόν έχω μερικές γνώσεις στα εξής : Java,Sql,Html(ελάχιστη html , τα βασικά) κυρίως Java. Εδώ μπορείτε να ζητάτε οτιδήποτε σχετίζεται με core side , όπως ανέφερα παραπάνω διάφορα modifications για τον server σας ή ακομα και bugs , και εγώ θα σας τα κάνω και θα τα κάνω share σε αυτό εδώ το topic.Βέβαια μη περιμένετε κατι τρελό , όπως official mods(π.χ Community Board). Να πω πως το κάνω για εξάσκηση επειδή εδώ και καιρό ήμουν εκτός PC, και ότι θα κάνω αυτό που ζητήσετε αρκεί να ξέρω τον τρόπο , αν όχι θα το ψάξω πάντως. *Αν ζητήσετε fix για bug σιγουρευτείτε πως θα δώσετε αναλυτική περιγραφή του bug/exploit πρώτα, αλλιώς μάταια θα το κάνετε. *Αν ζητήσετε οποιοδήποτε custom mod θέλετε , δώστε επίσης αναλυτική περιγραφή. *Κάντε request εδώ και όχι σε PM. Δέχομαι και την βοήθεια σας σε ορισμένα πράγματα,ομαδική δουλειά εχει καλύτερο αποτέλεσμα.Και μην ξεχνάτε ότι θέλω να βοηθήσω. Ότι κάνω , το κάνω πάνω σε L2JServer C6. Μην spammarete για κανένα λόγο αν δεν με γνωρίζετε. Έχω χρόνο αρκετό και περιμένω...
  16. Απο τη μια μαγκες ενταξει τωρα για 2 Npc δε λεει να πληρωσει ο αλλος ( τετοια Npc ) , αλλα οπως και να το κανουμε θεωρειται scamm και πρεπει να τιμωρηθει.
  17. That's a weird way frozen used to fix it. Go to your L2PcInstance class , find the method onPlayerEnter and before the closing brackets ( }) , i mean at the end of the method add these lines decayMe(); spawnMe(); broadcastUserInfo();
  18. ### Eclipse Workspace Patch 1.0 #P Chr.6GMS Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 5263) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -238,6 +238,8 @@ public static final int STORE_PRIVATE_BUY = 3; public static final int STORE_PRIVATE_MANUFACTURE = 5; public static final int STORE_PRIVATE_PACKAGE_SELL = 8; + + private int[] drainIds = {0,25,2}; /** The table containing all minimum level needed for each Expertise (None, D, C, B, A, S)*/ private static final int[] EXPERTISE_LEVELS = @@ -284,6 +286,21 @@ public void doCast(L2Skill skill) { super.doCast(skill); + + //--Cannot use drain skills in mobs-- + L2Object target = getTarget(); + L2MonsterInstance m = null; + if(target instanceof L2MonsterInstance) + m = (L2MonsterInstance) target; + if(m != null && getPvpFlag() > 0){ + for(int i=0; i < drainIds.length; i ++) + { + if(skill.getId() == drainIds[i]){ + sendMessage("You can't drain hp from mobs"); + return; + } + } + } // cancel the recent fake-death protection instantly if the player attacks or casts spells getPlayer().setRecentFakeDeath(false); private int[] drainIds = {0,25,2}; Put the ids there, 0,25,2 are just lucky ids . It can be done also from skill handlers.
  19. Duel might active is not working man , same damage. pffff i am really dissapointed.
  20. //cumshot
  21. Πλεον τα attack ειναι το μονο ευκολο να φτιαξεις. Εσυ για να λες attack , θα εννοεις τα DDOS attacks , τα οποια δεν γινονται fix.Για να αποφυγεις DDOS attacks,θα πρεπει να βρεις εταιρια καταρχας που να προσφερει τετοια αμυνα απο DDOS και να δινεις και extra λεφτα για το DDOS που φυσικα ειναι αρκετα ακριβο. Και υπαρχει περιπτωση και να εχεις ANTI DDOS , παλι να σου ριξουν τον server. Εξαρταται απο το τι ακριβως σου κανει ο αλλος και την αμυνα που σου παρεχει η εταιρια.
  22. συμφωνω , απλα του την πρωτεινα. παντως αν ειναι εντελως καινουριος στον προγραμματισμο καλο ειναι να ξεκινησει με κατι που θα τον βαλει στο νοημα να σκεφτεται πως δουλευουν τα πραγματα.
  23. Kяaσh told you what to do, i will just explain. Anyway, for the 1 go in RequestEnchant.java file ( located in clientpackets package ). There you can handle the actions happen when a players accepts to enchant an item. So you want a message to be sented to the player , then you add something like player.sendMessage("Rate:70%"); For the 2 you will go at package itemhandlers and you will create a new .java file. See how other itemhandlers work (ex: potions) and you will just change the method useItem(L2PlayableInstance playable, L2ItemInstance item) there you will add the code. increasePvpKills() is the method you need to increase player's pvp.
  24. Φυσικα και σου προτεινω να αρχισεις με Pascal καθως θα σε κανει να μαθεις να σκεφτεσαι στο να προγραμματιζεις και θα μπεις στην βασικη ιδεα , επισης ειναι μια σχετικα δυνατη γλωσσα.Αφου νιωσεις ικανοποιημενος προχωρα στην Java στην οποια θα μπεις πιο πολυ στο πνευμα , αλλα μη ξεχνας οτι θελει καθημερινη εξασκηση και κοπο. Δεν σου συστηνω visual basic επειδη η συνταξη της ειναι διαφορετικη απο τις αλλες και γενικα πιστευω πως visual basic ειναι καλο να μαθεις αφου εχεις μαθει καποιες αλλες πρωτα.Ειναι πολυ ευκολη φυσικα , αλλα σου ειπα τον λογο. C++ στην συστηνω και αυτηνα απεπιφυλακτα , πολλα κοινα σημεια με την Java. Επισης στην java ισχυει το "γραφεις μια φορα και λειτουργει παντου".
  25. I wouldn't suggest you to start with visual basic. Although it's an easy language , it's different from others and then you will stuck learning other languages cause you will have used the vb's coding style. I suggest you to begin better with pascal because it learns you to think first of all :)
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock