Avatar utilizator
snow_ro
Membru Începător
Membru Începător
Mesaje: 4
Membru din: 18 Mai 2026, 12:57
  • Reacții: 1
  • Mesaje utile: 0
  • Regat: Shinsoo
  • [ID Discord]
  • Medalii

    Client DirectX 9Ex • Server FreeBSD AMD64 • CMake + Ninja • C++20 • Cython integrat

    Despre proiect

    Pun la vânzare PrimeCore, un proiect Metin2 la care s-a lucrat cu accent pe trei lucruri care, din experiența mea, contează cel mai mult pe termen lung: o bază tehnică actualizată, sisteme ușor configurabile și stabilitate.

    Nu este o sursă veche, baza fiind Martysama 5.9 și nici un server prezentat doar printr-o listă lungă de define-uri. Sursele server-src și client-src au fost făcute CMake, iar mai multe zone sensibile au fost refăcute: build-ul, arhitectura pe 64bit a serverului, randarea DirectX, încărcarea clientului, warp-ul și sincronizarea dintre client și server.

    PrimeCore poate fi folosit ca bază pentru un proiect oldschool, middleschool sau un concept custom. Valoarea reală este fundația pe care se poate construi.

    Contact

    Discord: choroy
    [VÂND/SELL] PrimeCore - Modern Source - x64bit - Multilanguage - CMake - C++20 - Mesaj 1 - Imagine 1


    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Server source

    • Sursa server folosește CMake și standardul C++20.
    • Build-ul recomandat rulează pe FreeBSD 15/15.1 AMD64.
    • Game&Db sunt compilate nativ pe 64bit. Nu este un build 32-bit pornit pe un sistem de operare x64.
    • Compilarea este făcută cu Ninja, iar scriptul verifică înainte de link că bibliotecile importante sunt ELF64.
    • Configurația standard de server este RelWithDebInfo: optimizare pentru rulare, dar și simboluri utile atunci când trebuie urmărit un crash.
    • Există suport opțional în CMake pentru AddressSanitizer, ccache și linker LLD.
    • Logurile de build sunt separate în output general, warnings și errors, lucru util când proiectul este continuat de mai mulți developeri.


    Exemplu de compilare server
    Code:
    cd metin2-server-src
    sh build_ninja.sh
    
    Scriptul configurează proiectul, verifică dependențele x64, compilează game/db și verifică rezultatul final.


    Client source

    • Sursa client folosește CMake, Visual Studio 2022 și C++20.
    • Codul a fost curățat în zone sensibile pentru compatibilitate modernă și tipuri pe 64bit, însă launcherul distribuit jucătorilor este compilat Win32/x86. Alegerea este intenționată: păstrează compatibilitatea cu sistemele și componentele clasice folosite de jucătorii Metin2.
    • Motorul grafic rulează pe Direct3D 9Ex.
    • Python 2.7 este static în configurația actuală.
    • Sistemul de pack este cel prezent și în sursa WoM2/WoM3 (PAK Archiver) root poate fi arhivat normal sau (recomandat pentru live-server) în varianta Cython.

    Configurațiile clientului

    metin2_debug - pentru debugging și verificări.

    metin2_dev - build rapid și optimizat pentru testele zilnice; păstrează profilerele proiectului.

    metin2_cython - configurația de distribuție, cu optimizări de release. Cythonizarea citește direct fișierele Python din directoarele
    Code:
    root
    și
    Code:
    root/uiscript
    generează fișierele necesare și le include în build. Pack-ul final root este creat fără fișierele
    Code:
    .py
    sau fișiere
    Code:
    .pyc
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    • Suport UI pentru imagini WebP, inclusiv continuitate pentru stările butoanelor.
    • Tranziții și clipping modernizate pentru ferestrele interfeței.
    • Încărcarea din loading phase este împărțită în pași și poate fi urmărită în profiler, în loc să rămână o pauză imposibil de diagnosticat.

    Calitate vizuală și control grafic
    Anisotropic OFF / 2x / 4x / 8x / 16x • Sharpness reglabil în timp real
    Trecerea la Direct3D 9Ex nu reprezintă doar o schimbare tehnică în sursă. Clientul oferă și setări grafice integrate, prin care fiecare jucător poate alege echilibrul potrivit între claritatea imaginii și performanță.

    • Filtrarea anisotropică poate fi setată pe OFF, 2x, 4x, 8x sau 16x, îmbunătățind claritatea texturilor privite de la distanță sau din unghi, în special pe teren și obiectele din hartă.

    • Clientul verifică nivelul maxim acceptat de placa video și dezactivează automat opțiunile care nu sunt suportate.

    • Sharpness-ul este reglabil în timp real între 0.00 și 0.30 și folosește post-procesarea integrată în client pentru o imagine mai clară, fără filtre sau programe externe.

    • Valorile sunt păstrate în configurația clientului și reaplicate automat la următoarea pornire.





    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Sisteme principale

    Wikipedia in-game

    • A fost creat "Wikipedia-link", se poate copia link-ul unei categorii, pagina unui item/mob, orice și trimite pe chat sau în șoaptă unui jucător.
    • Categorie de crafting

    Imagini:






    Dungeon Info + Dungeon Creator

    • Fereastra de temnițe arată nivelul necesar, limita de nivel, intrarea, cooldown-ul, permisul, rasa, elementul și informații despre boss. Jucătorul se poate teleporta la NPC-ul de intrare în dungeon sau se poate teleporta direct în dungeon P2P contra unei sume de yang (5.000.000), poate deschide direct pagina bossului în Wikipedia și poate vedea timpul rămas în timp real. Lista poate fi reordonată și pot fi ascunse temnițele care nu îl interesează.
    • Sistemul suportă cerințe de grup, cooldown, rejoin, skip-pass (intrare direct la boss), coordonate de intrare/ieșire și etape configurabile.
    • Se pot configura efecte temporare direct în mapă (poți pune effecte de săgeată în mapă să evidențiezi jucătorului drumul și când jucătorul se apropie de săgeată ea dispare singură)
    • Se poate configura ca jucătorul să primească un bonus la finalizarea dungeon-ului. (bonusul și timpul sunt setate în config-ul dungeon-ului)
    • Tipurile de stagii existente:
    Code:
    KILL_REGEN - Omoară toate țintele generate în stagiu.
    DROP_KEY - Omoară monștrii până obții cheia necesară și folosește-o pentru a deschide sigiliile (pot exista sigilii multiple).
    USE_ITEM - Obține itemul cerut de la monștri și folosește-l pentru a finaliza stagiul. Șansa de drop și șansa de reușită sunt configurabile.
    FIND_REAL_KEY - Găsește cheia adevărată dintre cheile reale și false și folosește-o pentru a deschide sigiliul.
    KILL_IN_ORDER - Distruge pietrele în ordinea corectă (ordinea se generează random). Dacă distrugi o piatră greșită stagiul se va reseta.
    NPC_TALK - Vorbește cu NPC-ul configurat și parcurge dialogul pentru a continua.
    KILL_RIGHT_STONE - Distruge piatra reală.
    KILL_RIGHT_MONSTER - Omoară monstrul real.
    STATUE_PERCENT - Redu toate statuile până la pragurile de viață configurate. Fiecare prag pornește un substadiu nou.
    PROGRESSIVE_DOORS - Finalizează substadiile în ordine pentru a deschide progresiv fiecare pereche de uși. (Razador).
    

    Exemplu config Turnul Demonilor:
    Code:
    Group DevilTower
    {
    	npc_entrance    20348
    	level_min       40
    	level_max       90
    	ticket          30320 1
    	group           false
    	cooldown        1800
    	cooldown_flag   "devil_tower.cooldown"
    	warp_inside     140427 855947
    	warp_outside    590329 110966
    	rejoin          true
    	time            1800
    	skip_pass       30025
    	skip_pass_max   8
    	skip_pass_warp  140427 855947
    	affect          APPLY_ATTBONUS_MONSTER 10 1800
    
    	Group Floor_1
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower1_regen_stone.txt"
    		REGEN_FILE  "share/locale/international/dungeon_regen/devil_tower/deviltower1_regen.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DESTROY_POWER_STONE
    		WARP        202 404 5
    	}
    
    	Group Floor_2
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower2_regen.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_KILL_ALL
    		WARP        200 407
    	}
    
    	Group Floor_3
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower3_regen.txt"
    		REGEN_FILE  "share/locale/international/dungeon_regen/devil_tower/deviltower3_regen_mobs.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DEFEAT_PROUD_DEMON
    		WARP        372 646
    	}
    
    	Group Floor_4
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower4_regen.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DESTROY_DEVIL_STONE
    	}
    
    	Group Floor_4-1
    	{
    		KILL_RIGHT_STONE  "share/locale/international/dungeon_regen/devil_tower/deviltower4_regen_stone.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DESTROY_REAL_STONE
    		WARP        374 419
    	}
    
    	Group Floor_5
    	{
    		DROP_KEY      "share/locale/international/dungeon_regen/devil_tower/deviltower5_regen.txt"
    		KEY           50084 2
    		SEAL          20073 361 411 5
    		SEAL          20073 380 392 5
    		SEAL          20073 410 391 5
    		SEAL          20073 428 442 5
    		SEAL          20073 431 411 5
    		SEAL          20073 410 463 5
    		SEAL          20073 382 463 5
    		SEAL          20073 361 442 5
    		INFO_KEY      dungeon_lang.UNLOCK_SEAL
    		WARP          373 184
    	}
    
    	Group Floor_6
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower6_regen.txt"
    		REGEN_FILE  "share/locale/international/dungeon_regen/devil_tower/deviltower6_regen_mobs.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DESTROY_POWER_STONE
    		WARP        629 452
    	}
    
    	Group Floor_7
    	{
    		USE_ITEM       "share/locale/international/dungeon_regen/devil_tower/deviltower7_regen.txt"
    		ITEM           30302 20
    		SUCCESS_CHANCE 100
    	}
    
    	Group Floor_8
    	{
    		FIND_REAL_KEY "share/locale/international/dungeon_regen/devil_tower/deviltower8_regen.txt"
    		REAL_KEY      30304 1
    		FAKE_KEY      30303 5
    		SEAL          20390 599 400 5
    		INFO_KEY_REAL dungeon_lang.INFO_KEY_REAL
    		INFO_KEY_FAKE dungeon_lang.INFO_KEY_FAKE
    		WARP          623 159
    	}
    
    	Group Floor_9
    	{
    		KILL_REGEN  "share/locale/international/dungeon_regen/devil_tower/deviltower9_regen.txt"
    		REGEN_FILE  "share/locale/international/dungeon_regen/devil_tower/deviltower8_regen.txt"
    		MISSION     dungeon_lang.DEVIL_TOWER_DESTROY_POWER_STONE
    	}
    }
    


    Imagini:





    Biolog

    • Misiunile biologului sunt configurate server-side prin JSON: nivel minim, item cerut, cantitate, șansă, cooldown, bonusuri și recompense. Sistemul acceptă atât recompense fixă (bonsuri), cât și alegerea bonusului de către jucător.

    Exemplu config:
    Code:
        {
          "index": 0,
          "cooldown": 600,
          "success_chance": 60,
          "choose_bonus": false,
          "minimum_level": 30,
          "time_item": 70030,
          "chance_item": 71035,
          "required_item": { "vnum": 30006, "count": 10 },
          "reward_bonuses": [
            { "apply": 54, "value": 60 }
          ],
          "reward_items": []
        },
        {
          "index": 1,
          "cooldown": 600,
          "success_chance": 60,
          "choose_bonus": false,
          "minimum_level": 40,
          "time_item": 70030,
          "chance_item": 71035,
          "required_item": { "vnum": 30047, "count": 15 },
          "reward_bonuses": [
            { "apply": 63, "value": 5 }
          ],
          "reward_items": []
        },
    


    Imagini:




    Cube Renewal

    • Interfață modernă pentru crafting.
    • Posibilitatea de a apăsa click stânga pe itemul și deschiderea paginii wikipedia a itemului direct din fereastra de crafting. (se aplică și în fereastra de plusare item)
    • Posibilitatea de a apăsa click dreapta pe itemul și căutarea itemului în searchshop direct din fereastra de crafting. (se aplică și în fereastra de plusare item)

    Imagini:




    Horse Manager

    • Evoluția calului nu mai este blocată într-un quest. Nivelurile, bonusurile, materialele, costul, nivelul minim al jucătorului, șansa, cooldown-ul și misiunile sunt configurabile pe server prin JSON.
    • Misiunile pot cere uciderea unui anumit număr de monștri și pot avea sau nu limită de timp. Interfața arată progresul, bonusul următor, materialele și toate cerințele. Este inclus și un item opțional care oferă reușită 100% și elimină cooldown-ul încercării.

    Imagini:




    Autopickup + Loot Filter

    • Autopickup-ul poate fi acordat pe durate diferite sau permanent. Timpul continuă să se scurgă și când jucătorul este offline. Sistemul poate fi pornit sau oprit atât din setările jocului, cât și prin click pe affect, starea este sincronizată, iar iconița arată vizual dacă acesta este activ sau oprit.
    • Nu pot fi activate mai multe autopickup-uri simultan. Oprirea funcției nu oprește timpul.
    • Autopickup-ul respectă filtrul de drop.

    Imagini:




    Switchbot

    • Switchbot-ul are funcții normale (gratuite) și funcții pentru jucătorii premium.
    • 5 sloturi (2 gratuite și 3 premium)
    • 5 alternative (1 gratuite și 4 premium)
    • viteză ajustabilă (doar jucătorii premium pot folosii viteza, jucătorii non-premium având viteza standard)
    • funcție de schimbare bonus instant cu cantitate de 100-500-1000 schimbătoare (doar pentru jucătorii premium)
    • selectarea itemului de schimbare a bonusurilor (Vrăjește obiectul, Magie Verde, etc)
    • safe mode (nu se vor mai primii informațiile despre bonusurile schimbate până când switchbot-ul nu se oprește)

    Imagini:






    Offline Shop / Ikarus Shop v2

    • A fost rescris o mare parte din sistemul de bază, fiind aduse îmbunătățiri cât și schimbarea interfeței.
    • Se poate seta titlu offlineshop-ului
    • Depozitul offlineshop-ului a fost eliminat.
    • Pe offlineshop-ul tău, doar tu vei vedea un effect indicând care este shopul tău.

    Imagini:




    Battle Pass

    • Misiuni zilnice și săptămânale, countdown până la reset, recompense free și premium și posibilitatea de reroll pentru misiuni. Jucătorul poate filtra misiunile finalizate și își poate colecta recompensele direct din interfață.

    Imagini:




    Global Challenges

    • Obiectivele challange-urilor pot urmări nivelul, temnițele, obținerea și îmbunătățirea obiectelor, bonusurile realizate manual sau prin switchbot, eșarfele și alchimia. Validarea challange-ului este făcută la sursa acțiunii, nu doar după valoarea finală a obiectului, ceea ce reduce posibilitățile de exploatare.

    Imagini:




    Ranking System

    • Clasamente configurabile cu filtre pe clasă, intervale de nivel, resetări periodice și recompense. Configurația actuală include categorii precum nivel, damage în pietre-metin, pietre-metin distruse, boși omorâți, dungeon-uri finalizate, iteme bonusate, eșarfe combinate, minerit.

    Imagini:





    Event Manager

    • Sunt incluse exemple pentru drop dublu la boși, Metine și pescuit, cufere clar de lună și cufere hexagonale.

    Imagini:




    In-game Livestream

    • Sistem client/server pentru promovarea live-urilor direct în joc, cu fereastră proprie și widget (cum este cel de la calendarul de evenimente care apare pe ecran și indică evenimentul activ) care poate fi ascuns din setări. Este util pentru evenimente, parteneri și creatori de conținut fără modificări manuale în client la fiecare stream.

    Imagini:





    Inventare speciale

    • Inventare separate pentru upgrade, cărți, enchant, cufere și costume, funcționează inclusiv cu depozit și depozit item-shop.

    Imagini:




    Drop Info + DPS

    • Informații utile în target și măsurarea damage-ului.

    Imagini:





    Multilanguage

    • Schimbarea limbii din joc și suport pentru 16 locale: arabă, cehă, germană, daneză, engleză, spaniolă, franceză, greacă, maghiară, italiană, olandeză, poloneză, portugheză, română, rusă și turcă. Include steagurile țării și mod anonim.

    Simboluri de breaslă animate

    • Upload pentru JPG, GIF și WebP. Implementarea folosește în prezent maximum 32 cadre per simbol, iar protocolul este pregătit pentru maximum 128. Capacitatea atlaselor este extinsă la 21 imagini

    Listă de prieteni

    • Detalii suplimentare și un design modern.
    • Se pot adăuga persoane la "Favorite" și apar primii într-o listă de favorite.
    • Există butonul "GM" care deschide o șoaptă GM Support, când jucătorul scrie un mesaj, toți membrii staff vor primii un Pm "Support - numejucatător" și pote răspunde oricare membru staff și oricâți membrii staff în pm-ul de la jucător.

    Imagini:




    Minimap
    • Pe minimap apar acum boșii care sunt indicați cu o iconiță verde când sunt în viață și cu o iconiță roșie când au fost omorâți. Când bossul este mort, apare timpul de respawn real al acestuia cu numărătoare inversă până apare.
    • Click stânga pe iconița bossului de pe minimap va deschide pagina de wikipedia a bossului.

    Imagini:




    Blend

    • Sistemul de blend a fost modificat, acum exista subtype-urile:
    • NORMAL_BLEND - blendul normal din metin2
    • USE_BLEND - Bonusurile oferite sunt configurate pe apply-urile itemului în proto, timpul este setat pe Value1 și grupa pe Value0, grupa face ca alt item cu aceiași grupă să nu se poată activa în același timp, acestea dispar la folosire și sunt afișate în lista de affecte de la uiaffectshower
    • TOGGLE_BLEND - Bonusurile oferite sunt configurate pe apply-urile itemului în proto, grupă pe value1, grupa face ca alt item cu aceiași grupă să nu se poată activa în același timp, timpul este setat ca la un item obșnuit TIMER_BASED_ON_WEAR + timp, acestea sunt activabile în inventar, dacă jucătorul are 2 iteme de același fel cu timp, le poate combina într-unul singur cu timp cumulat.

    Mount / Pet

    • Mounturile și peturile sunt activabile în inventar, nu ocupă slot pe echipament sau costume.

    Pescuit

    • Pescuitul a fost modificat cu o variantă modernă.
    • Trebuie prins peștișorul în zona galbenă de 3 ori, la 3 încercări eșuate pescuitul se va oprii.
    • Șansa de a prinde un pește cât și șansele peștilor în parte sunt setate în fishing.lua
    • fishing.txt a devenit fishing.lua

    Exemplu fishing.lua:
    Code:
    FishingConfig = {
        general_catch_chance = 100,
        fishes = {
            { vnum = 50002, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27992, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27993, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27994, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27802, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27803, dead_vnum = 27833, grill_vnum = 27863, chance = 10 },
            { vnum = 27804, dead_vnum = 27834, grill_vnum = 27864, chance = 10 },
            { vnum = 27805, dead_vnum = 27835, grill_vnum = 27865, chance = 10 },
            { vnum = 27806, dead_vnum = 27836, grill_vnum = 27866, chance = 10 },
            { vnum = 27807, dead_vnum = 27837, grill_vnum = 27867, chance = 10 },
            { vnum = 27808, dead_vnum = 27838, grill_vnum = 27868, chance = 10 },
            { vnum = 27809, dead_vnum = 27839, grill_vnum = 27869, chance = 10 },
            { vnum = 27810, dead_vnum = 27840, grill_vnum = 27870, chance = 10 },
            { vnum = 27811, dead_vnum = 27841, grill_vnum = 27871, chance = 10 },
            { vnum = 27812, dead_vnum = 27842, grill_vnum = 27872, chance = 10 },
            { vnum = 27813, dead_vnum = 27843, grill_vnum = 27873, chance = 10 },
            { vnum = 27814, dead_vnum = 27844, grill_vnum = 27874, chance = 10 },
            { vnum = 27815, dead_vnum = 27845, grill_vnum = 27875, chance = 10 },
            { vnum = 27816, dead_vnum = 27846, grill_vnum = 27876, chance = 10 },
            { vnum = 27817, dead_vnum = 27847, grill_vnum = 27877, chance = 10 },
            { vnum = 27818, dead_vnum = 27848, grill_vnum = 27878, chance = 10 },
            { vnum = 27819, dead_vnum = 27849, grill_vnum = 27879, chance = 10 },
            { vnum = 27820, dead_vnum = 27850, grill_vnum = 27880, chance = 10 },
            { vnum = 27821, dead_vnum = 27851, grill_vnum = 27881, chance = 10 },
            { vnum = 27822, dead_vnum = 27852, grill_vnum = 27882, chance = 10 },
            { vnum = 27823, dead_vnum = 27853, grill_vnum = 27883, chance = 10 },
            { vnum = 70201, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70202, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70203, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70204, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70205, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70206, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70048, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70049, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70050, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70051, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 80008, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 50009, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 50008, dead_vnum = 0, grill_vnum = 0, chance = 10 },
        }
    }
    


    Imagini:




    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    • Preț: 300euro
    • Este posibil ca prețul să se modifice în timp, serverul va primii updateuri, topicul va fi actualizat din timp în timp cu lucrurile noi sau lucruri omise.
    • Pentru orice informație mă puteți contacta pe discord: choroy
    Avatar utilizator
    snow_ro
    Membru Începător
    Membru Începător
    Mesaje: 4
    Membru din: 18 Mai 2026, 12:57
  • Reacții: 1
  • Mesaje utile: 0
  • Regat: Shinsoo
  • [ID Discord]
  • Medalii

    Avatar utilizator
    snow_ro
    Membru Începător
    Membru Începător

    Mesaj

    Pescuit

    • Pescuitul a fost modificat cu o variantă modernă.
    • Trebuie prins peștișorul în zona galbenă de 3 ori, la 3 încercări eșuate pescuitul se va oprii.
    • Șansa de a prinde un pește cât și șansele peștilor în parte sunt setate în fishing.lua
    • fishing.txt a devenit fishing.lua

    Exemplu fishing.lua:
    Code:
    FishingConfig = {
        general_catch_chance = 100,
        fishes = {
            { vnum = 50002, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27992, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27993, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27994, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27802, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 27803, dead_vnum = 27833, grill_vnum = 27863, chance = 10 },
            { vnum = 27804, dead_vnum = 27834, grill_vnum = 27864, chance = 10 },
            { vnum = 27805, dead_vnum = 27835, grill_vnum = 27865, chance = 10 },
            { vnum = 27806, dead_vnum = 27836, grill_vnum = 27866, chance = 10 },
            { vnum = 27807, dead_vnum = 27837, grill_vnum = 27867, chance = 10 },
            { vnum = 27808, dead_vnum = 27838, grill_vnum = 27868, chance = 10 },
            { vnum = 27809, dead_vnum = 27839, grill_vnum = 27869, chance = 10 },
            { vnum = 27810, dead_vnum = 27840, grill_vnum = 27870, chance = 10 },
            { vnum = 27811, dead_vnum = 27841, grill_vnum = 27871, chance = 10 },
            { vnum = 27812, dead_vnum = 27842, grill_vnum = 27872, chance = 10 },
            { vnum = 27813, dead_vnum = 27843, grill_vnum = 27873, chance = 10 },
            { vnum = 27814, dead_vnum = 27844, grill_vnum = 27874, chance = 10 },
            { vnum = 27815, dead_vnum = 27845, grill_vnum = 27875, chance = 10 },
            { vnum = 27816, dead_vnum = 27846, grill_vnum = 27876, chance = 10 },
            { vnum = 27817, dead_vnum = 27847, grill_vnum = 27877, chance = 10 },
            { vnum = 27818, dead_vnum = 27848, grill_vnum = 27878, chance = 10 },
            { vnum = 27819, dead_vnum = 27849, grill_vnum = 27879, chance = 10 },
            { vnum = 27820, dead_vnum = 27850, grill_vnum = 27880, chance = 10 },
            { vnum = 27821, dead_vnum = 27851, grill_vnum = 27881, chance = 10 },
            { vnum = 27822, dead_vnum = 27852, grill_vnum = 27882, chance = 10 },
            { vnum = 27823, dead_vnum = 27853, grill_vnum = 27883, chance = 10 },
            { vnum = 70201, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70202, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70203, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70204, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70205, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70206, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70048, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70049, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70050, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 70051, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 80008, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 50009, dead_vnum = 0, grill_vnum = 0, chance = 10 },
            { vnum = 50008, dead_vnum = 0, grill_vnum = 0, chance = 10 },
        }
    }
    


    Imagini:


    Avatar utilizator
    Wedow1710
    Membru Începător
    Membru Începător
  • Mesaje: 4
    Membru din: 03 Dec 2024, 17:35
  • Reacții: 2
  • Mesaje utile: 0
  • Medalii

    Avatar utilizator
    Wedow1710
    Membru Începător
    Membru Începător

    Mesaj

    recomand ,este un băiat de nota 1000 am lucrat cu el de foarte mult timp, este foarte atent la detalii și face mereu pe placul clienților cu calm și răbdare , servicii de top plus dacă se gândește orice problemă repară cu drag și dacă nu este muncit de el . Mult succes în vânzare , Te respect mult 😊

    Înapoi la “Serverfiles de vânzare”

    Discord ID copiat: