hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.17. 02:12



Jelenlévő felhasználók

Jelenleg 714 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 714 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: config fájl sma-ba írás
HozzászólásElküldve: 2016.12.20. 11:22 
Offline
Jómunkásember

Csatlakozott: 2014.10.30. 10:18
Hozzászólások: 468
Megköszönt másnak: 235 alkalommal
Megköszönték neki: 34 alkalommal
Sziasztok!

Remélem tudtok segíteni mert már nincs ötletem hogy miként próbáljam meg.

Leírás:
Adott egy plugin ami egy cfg fájlból olvassa ki a fegyversorrendet. A sorrend maponként változtatható 10 lehetőség közül. A konfig fájlból szeretném kivenni ezt a sorrendet és vissza szeretném tenni a pluginba, hogy ott legyen ez eldöntve és beállítva :)

Plugin 8879. sor:
Így állítaná a plugin (gondolom):
  1. // analyzes the weapon order and saves it into our variables
  2. public setup_weapon_order()
  3. {
  4.     new weaponOrder[(MAX_WEAPONS*16)+1], temp[27];
  5.     get_pcvar_string(gg_weapon_order,weaponOrder,MAX_WEAPONS*16);
  6.    
  7.     new Float:killsperlvl = get_pcvar_float(gg_kills_per_lvl), i, done, colon, goal[6];
  8.    
  9.     // cut them apart
  10.     for(i=0;i<MAX_WEAPONS;i++)
  11.     {
  12.         // out of stuff
  13.         if(strlen(weaponOrder) <= 1)
  14.         {
  15.             i--; // for our count
  16.             break;
  17.         }
  18.  
  19.         // we still have a comma, go up to it
  20.         if(contain_char(weaponOrder,',') != -1)
  21.         {
  22.             strtok(weaponOrder,temp,26,weaponOrder,MAX_WEAPONS*16,',');
  23.             trim(temp);
  24.             strtolower(temp);
  25.         }
  26.  
  27.         // otherwise, finish up
  28.         else
  29.         {
  30.             copy(temp,26,weaponOrder);
  31.             trim(temp);
  32.             strtolower(temp);
  33.             done = 1; // flag for end of loop
  34.         }
  35.        
  36.         colon = contain_char(temp,':');
  37.        
  38.         // no custom requirement, easy
  39.         if(colon == -1)
  40.         {
  41.             copy(weaponName[i],23,temp);
  42.             if(equal(temp,KNIFE) || equal(temp,HEGRENADE)) weaponGoal[i] = (killsperlvl > 1.0) ? 1.0 : killsperlvl;
  43.             else weaponGoal[i] = killsperlvl;
  44.         }
  45.         else
  46.         {
  47.             copyc(weaponName[i],23,temp,':');
  48.             copy(goal,5,temp[colon+1]);
  49.             weaponGoal[i] = floatstr(goal);
  50.         }


Plugin 4705. sor
Gondolom hogy itt állítja az ordner számát:
  1. new i, maxRandom, cvar[20], weaponOrder[(MAX_WEAPONS*16)+1];
  2.     for(i=1;i<=MAX_WEAPON_ORDERS+1;i++) // +1 so we can detect final
  3.     {
  4.         formatex(cvar,19,"gg_weapon_order%i",i);
  5.         get_cvar_string(cvar,weaponOrder,MAX_WEAPONS*16);
  6.         trim(weaponOrder);
  7.  
  8.         // found a blank one, stop here
  9.         if(!weaponOrder[0])
  10.         {
  11.             maxRandom = i - 1;
  12.             break;
  13.         }
  14.     }
  15.    
  16.     // there is just one
  17.     if(maxRandom == 1)
  18.     {
  19.         // get its weapon order and set as current
  20.         formatex(cvar,19,"gg_weapon_order1");
  21.         get_cvar_string(cvar,weaponOrder,MAX_WEAPONS*16);
  22.         set_pcvar_string(gg_weapon_order,weaponOrder);
  23.         return;
  24.     }
  25.  
  26.     // we found some random ones
  27.     if(maxRandom)
  28.     {
  29.         new randomOrder[30], lastOIstr[6], lastOI, orderAmt;
  30.         get_localinfo("gg_rand_order",randomOrder,29);
  31.         get_localinfo("gg_last_oi",lastOIstr,5);
  32.         lastOI = str_to_num(lastOIstr);
  33.         orderAmt = get_rOrder_amount(randomOrder);
  34.  
  35.         // no random order yet, or amount of random orders changed
  36.         if(!randomOrder[0] || orderAmt != maxRandom)
  37.         {
  38.             shuffle_rOrder(randomOrder,29,maxRandom);
  39.             lastOI = 0;
  40.         }
  41.  
  42.         // reached the end, reshuffle while avoiding this one
  43.         else if(get_rOrder_index_val(orderAmt,randomOrder) == get_rOrder_index_val(lastOI,randomOrder))
  44.         {
  45.             shuffle_rOrder(randomOrder,29,maxRandom,lastOI);
  46.             lastOI = 0;
  47.         }
  48.  
  49.         new choice = get_rOrder_index_val(lastOI+1,randomOrder);
  50.  
  51.         // get its weapon order
  52.         formatex(cvar,19,"gg_weapon_order%i",choice);
  53.         get_cvar_string(cvar,weaponOrder,MAX_WEAPONS*16);
  54.  
  55.         // set as current
  56.         set_pcvar_string(gg_weapon_order,weaponOrder);
  57.  
  58.         // remember for next time
  59.         num_to_str(lastOI+1,lastOIstr,5);
  60.         set_localinfo("gg_last_oi",lastOIstr);
  61.     }
  62. }


A konfig fájl (részlet):
Kód:
gg_weapon_order1 "mp5navy:1,usp:3,m4a1:6"
gg_weapon_order2 "famas:1,m4a1:1,usp,"
gg_weapon_order3 "p90:4,famas:4,aug:4"


És így tovább egészen 10-ig! Amikor meghatározza hogy melyiket válassza és beolvassa azt nem értem! Gondolom hogy a weapon ordner alapján switch case-el el lehetne dönteni melyiket válassza, de nem tudom hogy pontosan mit és hogy kellene beírni. Habár kipróbáltam 13 verziót még mindig nem megy! Legyen szíves valaki segíteni!

Itt az egész plugin:
Csatolmány:
Magyarázat: Teljes plugin
gungame.sma [281.31 KiB]
Letöltve 42 alkalommal.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 49 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole