hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] 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  [ 21 hozzászólás ]  Oldal 1 2 3 Következő
Szerző Üzenet
 Hozzászólás témája: ékezet
HozzászólásElküldve: 2014.03.19. 14:19 
Offline
Senior Tag
Avatar

Csatlakozott: 2014.02.02. 10:59
Hozzászólások: 238
Megköszönt másnak: 63 alkalommal
Megköszönték neki: 12 alkalommal
Heló..Hogyan kell berakni a szeróba az ékezetes írást..Mármint nem a játékosok tudjanak hanem például kiírásnál [INFO:] üdv. a szerveren jó játékot!

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:34 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.09.21. 12:03
Hozzászólások: 318
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 30 alkalommal
UTF-8
ezzel a kódolással mentsd le amit szeretnél hogy kiirjon!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:40 
Offline
Senior Tag
Avatar

Csatlakozott: 2014.02.02. 10:59
Hozzászólások: 238
Megköszönt másnak: 63 alkalommal
Megköszönték neki: 12 alkalommal
Nmértem, bocsi kezdo'' vagyok.. :SS

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:41 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
bbshop írta:
Heló..Hogyan kell berakni a szeróba az ékezetes írást..Mármint nem a játékosok tudjanak hanem például kiírásnál [INFO:] üdv. a szerveren jó játékot!


Szia!
Tessék ezt UTF8-as kódolásban van!
Ez a plugin kell hozzá:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #pragma semicolon 1
  5.  
  6. new const PLUGIN[] = "Autoresponder/Advertiser";
  7. new const VERSION[] = "0.5";
  8. new const AUTHOR[] = "MaximusBrood";
  9.  
  10. #define NORM_AD 0
  11. #define SAY_AD 1
  12.  
  13. #define COND 0
  14. #define STORE 1
  15.  
  16. #define COND_TKN '%'
  17. #define SAY_TKN '@'
  18.  
  19. #define COND_STKN "%"
  20. #define DEVIDE_STKN "~"
  21. #define SAY_STKN "@"
  22.  
  23. //-.-.-.-.-.-.-.-.DEFINES.-.-.-.-.-.-.-.-.-.-.
  24.  
  25. //Maximum amount of ads
  26. #define MAXADS 64
  27.  
  28. //Minimum difference between two different ads (float)
  29. new const Float:RAND_MIN = 45.0;
  30.  
  31. //Maximum difference between two different ads (float)
  32. new const Float:RAND_MAX = 70.0;
  33.  
  34. //-.-.-.-.-.-.-.-.END DEFINES..-.-.-.-.-.-.-.
  35.  
  36. //Stores
  37. new sayConditions[MAXADS][3][32];
  38. new normConditions[MAXADS][3][32];
  39. new normStore[MAXADS][128];
  40. new sayStore[MAXADS][2][128];
  41.  
  42. new gmsgSayText;
  43.  
  44. //Counters
  45. new adCount[2] = {0, 0};
  46.  
  47. public plugin_init() {
  48. register_plugin(PLUGIN, VERSION, AUTHOR);
  49. register_cvar("admanager_version", "0.5", FCVAR_SERVER);
  50.  
  51. register_cvar("ad_react_all", "1");
  52.  
  53. gmsgSayText = get_user_msgid("SayText");
  54.  
  55. register_clcmd("say","eventSay");
  56. register_clcmd("say_team","eventSay");
  57.  
  58. //Delay the load proces by 10 sec because we don't want to get more load
  59. //on the already high-load mapchange.
  60. //Too soon to affect players while playing, too late to create time-out @ mapchange
  61. set_task(10.0, "load");
  62. }
  63.  
  64. public load()
  65. {
  66. //Load the data
  67. new filepath[64];
  68. get_configsdir(filepath, 63);
  69. format(filepath, 63, "%s/hirdetes.ini", filepath);
  70.  
  71. if(file_exists(filepath))
  72. {
  73. new output[512], conditions[128], temp[64], type;
  74.  
  75. //Open file
  76. new fHandle = fopen(filepath, "rt");
  77.  
  78. //Checks for failure
  79. if(!fHandle)
  80. return;
  81.  
  82. //Loop through all lines
  83. for(new a = 0; a < MAXADS && !feof(fHandle); a++)
  84. {
  85. //Get line
  86. fgets(fHandle, output, 511);
  87.  
  88.  
  89. //Work away comments
  90. if(output[0] == ';' || !output[0] || output[0] == ' ' || output[0] == 10)
  91. {
  92. //Line is not counted
  93. a--;
  94. continue;
  95. }
  96.  
  97. //Reset type
  98. type = 0;
  99.  
  100. //Check if it contains conditions
  101. if(output[0] == COND_TKN)
  102. {
  103. //Cut the conditions off the string
  104. split(output, conditions, 127, output, 511, DEVIDE_STKN);
  105.  
  106. //Determine if its say check or normal ad
  107. type = output[0] == SAY_TKN ? 1 : 0;
  108.  
  109. //Put the conditions in own space
  110. for(new b = 0; b < 3; b++)
  111. {
  112. new sort[16], cond[32], numb;
  113.  
  114. //Remove the % from line
  115. conditions[0] = ' ';
  116. trim(conditions);
  117.  
  118. //Get one condition from the line
  119. split(conditions, temp, 64, conditions, 127, COND_STKN);
  120.  
  121. split(temp, sort, 15, cond, 31, " ");
  122.  
  123. if(equali(sort, "map"))
  124. {
  125. numb = 0;
  126. } else if(equali(sort, "min_players"))
  127. {
  128. numb = 1;
  129. } else if(equali(sort, "max_players"))
  130. {
  131. numb = 2;
  132. } else
  133. {
  134. continue;
  135. }
  136.  
  137. //Copy it to its final resting place ^^
  138. setString(COND, type, cond, adCount[type], numb);
  139.  
  140. //Exit if it hasn't got more conditions
  141. if(!conditions[0])
  142. break;
  143. }
  144. }
  145.  
  146. if(type == 0)
  147. type = output[0] == SAY_TKN ? 1 : 0;
  148.  
  149. if(type == SAY_AD)
  150. {
  151. new said[32], answer[128];
  152.  
  153. //Remove the @ from line
  154. output[0] = ' ';
  155. trim(output);
  156.  
  157. split(output, said, 31, answer, 127, DEVIDE_STKN);
  158.  
  159. //Apply color
  160. setColor(answer, 127);
  161.  
  162. //Save it
  163. setString(STORE, SAY_AD, said, adCount[SAY_AD], 0);
  164. setString(STORE, SAY_AD, answer, adCount[SAY_AD], 1);
  165. } else//if(type == NORM_AD)
  166. {
  167. //Apply color
  168. setColor(output, 511);
  169.  
  170. //Save it
  171. setString(STORE, NORM_AD, output, adCount[NORM_AD]);
  172. }
  173.  
  174. //Increment the right counter
  175. adCount[NORM_AD] += type == NORM_AD ? 1 : 0;
  176. adCount[SAY_AD] += type == SAY_AD ? 1 : 0;
  177. }
  178.  
  179. //Set a first task, if there are any normal ads
  180. if(adCount[NORM_AD] != 0)
  181. set_task(random_float(RAND_MIN, RAND_MAX), "eventTask");
  182.  
  183. //Close file to prevent lockup
  184. fclose(fHandle);
  185. }
  186. }
  187.  
  188. new currAd = -1;
  189.  
  190. public eventTask()
  191. {
  192. //Go past all ads and check conditions
  193. for(new a = 0; a < adCount[NORM_AD]; a++)
  194. {
  195. //Put current ad to the next one
  196. currAd = currAd == adCount[NORM_AD] - 1 ? 0 : currAd + 1;
  197.  
  198. if(checkConditions(currAd, NORM_AD))
  199. {
  200. //Display the ad
  201. new data[3];
  202. data[0] = currAd;
  203. data[1] = NORM_AD;
  204. data[2] = 0;
  205. displayAd(data);
  206.  
  207. break;
  208. }
  209. }
  210.  
  211. //Set a new task
  212. set_task(random_float(RAND_MIN, RAND_MAX), "eventTask");
  213.  
  214. return PLUGIN_CONTINUE;
  215. }
  216.  
  217. public eventSay(id)
  218. {
  219. //If nothing is said, don't check
  220. if(adCount[SAY_AD] == 0)
  221. return PLUGIN_CONTINUE;
  222.  
  223. new talk[64], keyword[16];
  224. read_args(talk, 63) ;
  225.  
  226. //En nu rennen voor jullie zakgeld klootzjakken!
  227. for(new a = 0; a < adCount[SAY_AD]; a++)
  228. {
  229. //Get the string
  230. getString(STORE, SAY_AD, keyword, 15, a, 0);
  231.  
  232. if(containi(talk, keyword) != -1)
  233. {
  234. //Check the rest if it fails to conditions
  235. if(!checkConditions(a, SAY_AD))
  236. continue;
  237.  
  238. new data[3];
  239. data[0] = a;
  240. data[1] = SAY_AD;
  241. data[2] = id;
  242.  
  243. //Set the task
  244. set_task(0.3, "displayAd", 0, data, 3);
  245.  
  246. //Don't execute more of them
  247. break;
  248. }
  249. }
  250.  
  251. return PLUGIN_CONTINUE;
  252. }
  253.  
  254. public displayAd(params[])
  255. {
  256. //Get the string that is going to be displayed
  257. new message[128];
  258. getString(STORE, params[1], message, 127, params[0], params[1]);
  259.  
  260. //If its enabled by cvar and id is set, display to person who triggered message only
  261. if(get_cvar_num("ad_react_all") == 0 && params[2] != 0)
  262. {
  263. message_begin(MSG_ONE, gmsgSayText, {0,0,0}, params[2]);
  264. write_byte(params[2]);
  265. write_string(message);
  266. message_end();
  267.  
  268. } else
  269. {
  270. //Display the message to everyone
  271. new plist[32], playernum, player;
  272.  
  273. get_players(plist, playernum, "c");
  274.  
  275. for(new i = 0; i < playernum; i++)
  276. {
  277. player = plist[i];
  278.  
  279. message_begin(MSG_ONE, gmsgSayText, {0,0,0}, player);
  280. write_byte(player);
  281. write_string(message);
  282. message_end();
  283. }
  284. }
  285.  
  286. return PLUGIN_HANDLED;
  287. }
  288.  
  289. //---------------------------------------------------------------------------
  290. // STOCKS
  291. //---------------------------------------------------------------------------
  292.  
  293. stock checkConditions(a, type)
  294. {
  295. //Mapname
  296. if((type == NORM_AD && normConditions[a][0][0]) || (type == SAY_AD && sayConditions[a][0][0]))
  297. {
  298. new mapname[32];
  299. get_mapname(mapname, 31);
  300.  
  301. if(! (type == NORM_AD && equali(mapname, normConditions[a][0]) ) || (type == SAY_AD && equali(mapname, sayConditions[a][0]) ) )
  302. return false;
  303. }
  304.  
  305. //Min Players
  306. if((type == NORM_AD && normConditions[a][1][0]) || (type == SAY_AD && sayConditions[a][1][0]))
  307. {
  308. new playersnum = get_playersnum();
  309.  
  310. if( (type == NORM_AD && playersnum < str_to_num(normConditions[a][1]) ) || (type == SAY_AD && playersnum < str_to_num(sayConditions[a][1]) ) )
  311. return false;
  312. }
  313.  
  314. //Max Players
  315. if((type == NORM_AD && normConditions[a][2][0]) || (type == SAY_AD && sayConditions[a][2][0]))
  316. {
  317. new playersnum = get_playersnum();
  318.  
  319. if( (type == NORM_AD && playersnum > str_to_num(normConditions[a][2]) ) || (type == SAY_AD && playersnum > str_to_num(sayConditions[a][2]) ) )
  320. return false;
  321. }
  322.  
  323. //If everything went fine, return true
  324. return true;
  325. }
  326.  
  327. stock setColor(string[], len)
  328. {
  329. if (contain(string, "!t") != -1 || contain(string, "!g") != -1 || contain(string,"!n") != -1)
  330. {
  331. //Some nice shiny colors ^^
  332. replace_all(string, len, "!t", "^x03");
  333. replace_all(string, len, "!n", "^x01");
  334. replace_all(string, len, "!g", "^x04");
  335.  
  336. //Work away a stupid bug
  337. format(string, len, "^x01%s", string);
  338. }
  339. }
  340.  
  341. stock getString(mode, type, string[], len, one, two = 0)
  342. {
  343. //server_print("mode: %d type: %d len: %d one: %d two %d", mode, type, len, one, two);
  344.  
  345. //Uses the fact that a string is passed by reference
  346. if(mode == COND)
  347. {
  348. if(type == NORM_AD)
  349. {
  350. copy(string, len, normConditions[one][two]);
  351. } else//if(type = SAY_AD)
  352. {
  353. copy(string, len, sayConditions[one][two]);
  354. }
  355. } else//if(mode == STORE)
  356. {
  357. if(type == NORM_AD)
  358. {
  359. copy(string, len, normStore[one]);
  360. } else//if(type == SAY_AD)
  361. {
  362. copy(string, len, sayStore[one][two]);
  363. }
  364. }
  365. }
  366.  
  367. stock setString(mode, type, string[], one, two = 0)
  368. {
  369. if(mode == COND)
  370. {
  371. if(type == NORM_AD)
  372. {
  373. copy(normConditions[one][two], 31, string);
  374. } else//if(type = SAY_AD)
  375. {
  376. copy(sayConditions[one][two], 31, string);
  377. }
  378. } else//if(mode == STORE)
  379. {
  380. if(type == NORM_AD)
  381. {
  382. copy(normStore[one], 127, string);
  383. } else//if(type == SAY_AD)
  384. {
  385. copy(sayStore[one][two], 127, string);
  386. }
  387. }
  388. }


Csatolmányok:
hirdetes.rar [122 bájt]
Letöltve 108 alkalommal.

_________________
****

Ők köszönték meg pixxa112 nek ezt a hozzászólást: bbshop (2014.03.19. 14:45)
  Népszerűség: 2.27%
Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:45 
Offline
Senior Tag
Avatar

Csatlakozott: 2014.02.02. 10:59
Hozzászólások: 238
Megköszönt másnak: 63 alkalommal
Megköszönték neki: 12 alkalommal
Köszi ment a gomb :D

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:47 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
bbshop írta:
Köszi ment a gomb :D


Nincs mit :D

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:49 
Offline
Senior Tag
Avatar

Csatlakozott: 2014.02.02. 10:59
Hozzászólások: 238
Megköszönt másnak: 63 alkalommal
Megköszönték neki: 12 alkalommal
még annyit pls melyik betü melyik szín?.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:55 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
!n -> Alap (Sárga)
!t -> Csapatszín (Kék,Piros)
!g -> Zöld

_________________
Ha segítettem használd a gombot!

Kép
KépKép

Ők köszönték meg Beckx nek ezt a hozzászólást: bbshop (2014.03.19. 15:02)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 14:58 
Offline
Senior Tag
Avatar

Csatlakozott: 2014.02.02. 10:59
Hozzászólások: 238
Megköszönt másnak: 63 alkalommal
Megköszönték neki: 12 alkalommal
oke és azt tudom szabályozni hogy mennyi ido''nként jelenjen meg?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ékezet
HozzászólásElküldve: 2014.03.19. 15:32 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
Kód:
 
new const Float:RAND_MIN = 45.0;
new const Float:RAND_MAX = 70.0;


29. sorba: Legevesebb mennyi idő teljen el a hirdetések között!
32. sorba: Maximum mennyi idő teljen el a hirdetések között!

Asszem így van! :?:

_________________
Ha segítettem használd a gombot!

Kép
KépKép

Ők köszönték meg Beckx nek ezt a hozzászólást: bbshop (2014.03.20. 13:53)
  Népszerűség: 2.27%


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  [ 21 hozzászólás ]  Oldal 1 2 3 Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 28 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