hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.14. 19:15



Jelenlévő felhasználók

Jelenleg 741 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 740 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Karácsonyi fák De_dust2 mapra
HozzászólásElküldve: 2013.11.03. 12:14 
Offline
Beavatott

Csatlakozott: 2013.11.02. 16:01
Hozzászólások: 66
Megköszönt másnak: 7 alkalommal
nekem 1 oja plugin kene amelikel betudnak tenny karacsonyi fakat a de_dust2 mappara :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: fa
HozzászólásElküldve: 2013.11.03. 12:20 
Offline
Felfüggesztve
Avatar

Csatlakozott: 2013.06.09. 18:47
Hozzászólások: 2004
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 220 alkalommal
Nem mappára teszed a modelt, hanem mappra(Angol neve), vagy pályára(Magyar neve)

Leírás:

Az eredeti pluginnal arra az adott helyre rakhatod a modellt, vagy spriteot, ahol éppen voltál. Ebben a pluginban választhatsz, hogy a levegőbe, vagy a földre szeretnéd rakni az adott modellt.

Eredeti plugin: GHW_Chronic (forums.alliedmods.net/showthread.php?t=19115)
Módosítás eredeti postja: http://forums.alliedmods.net/showpost.p ... stcount=74

Leírás:
Ez egy általam átalakított plugin, amivel tudunk a levegőbe és a földre Spriteot és Modellt rakni. A plugin a spawnolt dolgokat eltárolja és újra visszahelyezi ha az adott map újra betöltődik.

Használat:
Az ini fájlba írjuk bele a nevet és a fájlt elérhetőségét, utána pedig a pályát amin használni akarjuk (vagy "all" ha mindenhol) és végül a sorrend.

Példa:
models/player/gign/gign.mdl gign all 0

Felmegyünk a szerverre majd beírjuk a konzolba:
amx_spawn_air "név" - ekkor oda teszi a modellt, ahol éppen vagyunk, akár a levegőbe is.
amx_spawn_floor "név" - ekkor pedig a földre fogja tenni akkor is, ha a levegőben vagyunk a spawnoláskor.

Changelog:
UPDATE! 2011.07.02 1:06
3.0b First Release! + Fix bug.

Plugint készítette: GHW_Chronic, Silverss

Tesztelve, működik! Jó szórakozást!

Plugin:

SMA Forráskód: [ Mindet kijelol ]
  1. #define VERSION "3.0b"
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <engine>
  6. #include <fakemeta>
  7.  
  8. #define MAX_PRECACHES 200
  9.  
  10. new num
  11. new precached[MAX_PRECACHES][32]
  12. new precached_name[MAX_PRECACHES][32]
  13. new precached_sequence[MAX_PRECACHES]
  14. new configsdir[200]
  15. new refferencefile[200]
  16.  
  17. public plugin_init()
  18. {
  19. register_plugin("Model / Sprite Spawner",VERSION,"GHW_Chronic|Silverss")
  20. register_concmd("amx_spawn_air","spawnent_air",ADMIN_LEVEL_G," Spawns a Model / Sprite to the air <part of ent name> [Non-Default Sequence #]")
  21. register_concmd("amx_spawn_floor","spawnent_floor",ADMIN_LEVEL_G," Spawns a Model / Sprite to the floor <part of ent name> [Non-Default Sequence #]")
  22. register_concmd("amx_spawn_remove","removeent",ADMIN_LEVEL_G," Removes Model / Sprite you are standing next to. ")
  23. register_concmd("amx_spawn_list","listents",ADMIN_LEVEL_G," Lists Models / Sprites precached for this map. ")
  24. set_task(1.0,"map_load")
  25. }
  26.  
  27. public plugin_precache()
  28. {
  29. register_dictionary("GHW_Entspawner.txt")
  30.  
  31. get_configsdir(configsdir,199)
  32. new precachefile[200]
  33. format(precachefile,199,"%s/GHW_entspawner.ini",configsdir)
  34. format(refferencefile,199,"%s/GHW_entspawner_refferences.ini",configsdir)
  35. if(file_exists(precachefile))
  36. {
  37. new mapname[32]
  38. get_mapname(mapname,31)
  39. new read[96], trash
  40. new string[96]
  41. new modelname[32]
  42. new modelname2[32]
  43. new map[32]
  44. new sequence
  45. for(new i=0;i<file_size(precachefile,1);i++)
  46. {
  47. read_file(precachefile,i,read,95,trash)
  48. strbreak(read,modelname,31,string,95)
  49. strbreak(string,modelname2,31,string,95)
  50. strbreak(string,map,31,string,95)
  51. sequence = str_to_num(string)
  52. if(strlen(modelname) && strlen(map) && containi(modelname,";")!=0)
  53. {
  54. if(equali(map,mapname) || equali(map,"all"))
  55. {
  56. if(containi(modelname,".spr")!=strlen(modelname)-4 && containi(modelname,".mdl")!=strlen(modelname)-4)
  57. {
  58. log_amx("[Ent-Spawner] %L",0,"MSG_INVALIDLOAD",i+1)
  59. }
  60. else
  61. {
  62. precache_model(modelname)
  63. format(precached[num],31,"%s",modelname)
  64. format(precached_name[num],31,"%s",modelname2)
  65. precached_sequence[num] = sequence
  66. num++
  67. }
  68. }
  69. }
  70. }
  71. }
  72. }
  73.  
  74. public map_load()
  75. {
  76. if(file_exists(refferencefile))
  77. {
  78. new mapname[32]
  79. get_mapname(mapname,31)
  80. format(mapname,31,"[%s]",mapname)
  81. new read[32], trash
  82. new modelname[32], sequence, Float:origin[3], Float:angles[3], Float:v_angle[3]
  83. for(new i=0;i<file_size(refferencefile,1);i++)
  84. {
  85. read_file(refferencefile,i,read,31,trash)
  86. if(equali(read,mapname))
  87. {
  88. i++
  89. read_file(refferencefile,i,read,31,trash)
  90. for(new i2=0;i2<num;i2++)
  91. {
  92. if(equali(precached[i2],read))
  93. {
  94. format(modelname,31,"%s",read)
  95. i++
  96. read_file(refferencefile,i,read,31,trash)
  97. sequence = str_to_num(read)
  98. i++
  99. read_file(refferencefile,i,read,31,trash)
  100. origin[0] = str_to_float(read)
  101. i++
  102. read_file(refferencefile,i,read,31,trash)
  103. origin[1] = str_to_float(read)
  104. i++
  105. read_file(refferencefile,i,read,31,trash)
  106. origin[2] = str_to_float(read)
  107. i++
  108. read_file(refferencefile,i,read,31,trash)
  109. angles[0] = str_to_float(read)
  110. i++
  111. read_file(refferencefile,i,read,31,trash)
  112. angles[1] = str_to_float(read)
  113. i++
  114. read_file(refferencefile,i,read,31,trash)
  115. angles[2] = str_to_float(read)
  116. i++
  117. read_file(refferencefile,i,read,31,trash)
  118. v_angle[0] = str_to_float(read)
  119. i++
  120. read_file(refferencefile,i,read,31,trash)
  121. v_angle[1] = str_to_float(read)
  122. i++
  123. read_file(refferencefile,i,read,31,trash)
  124. v_angle[2] = str_to_float(read)
  125.  
  126. new ent = create_entity("info_target")
  127.  
  128. entity_set_string(ent,EV_SZ_classname,"ghw_spawned_ent")
  129.  
  130. entity_set_model(ent,modelname)
  131.  
  132. entity_set_origin(ent,origin)
  133. entity_set_vector(ent,EV_VEC_v_angle,v_angle)
  134. entity_set_vector(ent,EV_VEC_angles,angles)
  135.  
  136. entity_set_int(ent, EV_INT_solid,SOLID_NOT)
  137. entity_set_int(ent,EV_INT_movetype,MOVETYPE_FLY)
  138. entity_set_edict(ent,EV_ENT_owner,33)
  139.  
  140. entity_set_float(ent,EV_FL_framerate,1.0)
  141. entity_set_int(ent,EV_INT_sequence,sequence)
  142.  
  143. entity_set_size(ent,Float:{-0.1, -0.1, -0.1},Float:{0.1, 0.1, 0.1})
  144.  
  145. break;
  146. }
  147. if(i2==num-1)
  148. {
  149. log_amx("[Ent-Spawner] %L",0,"MSG_INVALIDSPAWN",read)
  150. }
  151. }
  152. }
  153. }
  154. }
  155. return PLUGIN_CONTINUE
  156. }
  157.  
  158. public listents(id,level,cid)
  159. {
  160. if(!cmd_access(id,level,cid,1))
  161. {
  162. return PLUGIN_HANDLED
  163. }
  164. console_print(id,"")
  165. console_print(id,"[AMXX] %L",id,"MSG_LIST_BEGINNING1",num)
  166. console_print(id,"[AMXX] %L",id,"MSG_LIST_BEGINNING2")
  167. console_print(id,"[AMXX] -------")
  168. for(new i=0;i<num;i++)
  169. {
  170. console_print(id,"[AMXX] %L",id,"MSG_LIST_MIDDLE ",i + 1,precached[i],precached_name[i],precached_sequence[i])
  171. }
  172. console_print(id,"[AMXX] -------")
  173. console_print(id,"")
  174. return PLUGIN_HANDLED
  175. }
  176.  
  177. public removeent(id,level,cid)
  178. {
  179. if(!cmd_access(id,level,cid,1))
  180. {
  181. return PLUGIN_HANDLED
  182. }
  183. new Float:origin[3]
  184. entity_get_vector(id,EV_VEC_origin,origin)
  185. new closest=0
  186. new Float:closestdis=99999.0
  187. new ent = find_ent_in_sphere(get_maxplayers(),origin,100.0)
  188. new Float:origin2[3]
  189. new classname[32]
  190. while(ent)
  191. {
  192. entity_get_string(ent,EV_SZ_classname,classname,31)
  193. if(equali(classname,"ghw_spawned_ent_inair"))
  194. if(equali(classname,"ghw_spawned_ent_onfloor"))
  195. {
  196. entity_get_vector(ent,EV_VEC_origin,origin2)
  197. if(get_distance_f(origin,origin2)<closestdis)
  198. {
  199. closestdis=get_distance_f(origin,origin2)
  200. closest=ent
  201. }
  202. }
  203. ent = find_ent_in_sphere(ent,origin,100.0)
  204. }
  205. if(closest)
  206. {
  207. entity_get_vector(closest,EV_VEC_origin,origin)
  208. new read[32], trash
  209. new string[8]
  210. new mapname[32]
  211. get_mapname(mapname,31)
  212. format(mapname,31,"[%s]",mapname)
  213. for(new i=0;i<file_size(refferencefile,1);i++)
  214. {
  215. read_file(refferencefile,i,read,31,trash)
  216. if(equali(read,mapname))
  217. {
  218. i+=3
  219. read_file(refferencefile,i,read,31,trash)
  220. format(string,7,"%f",origin[0])
  221. if(str_to_float(read)==origin[0])
  222. {
  223. console_print(id,"2")
  224. i++
  225. read_file(refferencefile,i,read,31,trash)
  226. format(string,7,"%f",origin[1])
  227. if(str_to_float(read)==origin[1])
  228. {
  229. i++
  230. read_file(refferencefile,i,read,31,trash)
  231. format(string,7,"%f",origin[2])
  232. if(str_to_float(read)==origin[2])
  233. {
  234. remove_entity(closest)
  235. write_file(refferencefile,"",i-5)
  236. write_file(refferencefile,"",i-4)
  237. write_file(refferencefile,"",i-3)
  238. write_file(refferencefile,"",i-2)
  239. write_file(refferencefile,"",i-1)
  240. write_file(refferencefile,"",i)
  241. write_file(refferencefile,"",i+1)
  242. write_file(refferencefile,"",i+2)
  243. write_file(refferencefile,"",i+3)
  244. write_file(refferencefile,"",i+4)
  245. write_file(refferencefile,"",i+5)
  246. write_file(refferencefile,"",i+6)
  247. console_print(id,"[AMXX] %L",id,"MSG_REMOVED")
  248. return PLUGIN_HANDLED
  249. }
  250. }
  251. }
  252. }
  253. }
  254. }
  255. console_print(id,"[AMXX] %L",id,"MSG_NOREMOVE")
  256. return PLUGIN_HANDLED
  257. }
  258.  
  259. public spawnent_air(id,level,cid)
  260. {
  261. if(!cmd_access(id,level,cid,2))
  262. {
  263. return PLUGIN_HANDLED
  264. }
  265. new arg1[32]
  266. read_argv(1,arg1,31)
  267. new arg2[32]
  268. read_argv(2,arg2,31)
  269. new num2=-1
  270. for(new i=0;i<num;i++)
  271. {
  272. if(containi(precached_name[i],arg1)!=-1)
  273. {
  274. if(num2!=-1)
  275. {
  276. console_print(id,"[AMXX] %L",id,"MSG_NOSPAWN_MORE",arg1)
  277. return PLUGIN_HANDLED
  278. }
  279. num2=i
  280. }
  281. }
  282. if(num2==-1)
  283. {
  284. console_print(id,"[AMXX] %L",id,"MSG_NOSPAWN_NONE",arg1)
  285. return PLUGIN_HANDLED
  286. }
  287. new sequence = str_to_num(arg2)
  288. if(!strlen(arg2))
  289. {
  290. sequence = precached_sequence[num2]
  291. }
  292. new Float:origin[3]
  293. new Float:angles[3]
  294. new Float:v_angle[3]
  295. entity_get_vector(id,EV_VEC_origin,origin)
  296. entity_get_vector(id,EV_VEC_v_angle,v_angle)
  297. entity_get_vector(id,EV_VEC_angles,angles)
  298.  
  299. new ent = create_entity("info_target")
  300.  
  301. entity_set_string(ent,EV_SZ_classname,"ghw_spawned_ent")
  302.  
  303. entity_set_model(ent,precached[num2])
  304.  
  305. entity_set_origin(ent,origin)
  306. entity_set_vector(ent,EV_VEC_v_angle,v_angle)
  307. entity_set_vector(ent,EV_VEC_angles,angles)
  308.  
  309. entity_set_int(ent, EV_INT_solid,SOLID_NOT)
  310. entity_set_int(ent,EV_INT_movetype,MOVETYPE_FLY)
  311. entity_set_edict(ent,EV_ENT_owner,33)
  312.  
  313. entity_set_float(ent,EV_FL_framerate,1.0)
  314. entity_set_int(ent,EV_INT_sequence,sequence)
  315.  
  316. entity_set_size(ent,Float:{-0.1, -0.1, -0.1},Float:{0.1, 0.1, 0.1})
  317.  
  318. new mapname[32]
  319. new string[16]
  320. get_mapname(mapname,31)
  321. format(mapname,31,"[%s]",mapname)
  322. write_file(refferencefile,mapname,-1)
  323. write_file(refferencefile,precached[num2],-1)
  324. format(string,15,"%d",sequence)
  325. write_file(refferencefile,string,-1)
  326. format(string,15,"%f",origin[0])
  327. write_file(refferencefile,string,-1)
  328. format(string,15,"%f",origin[1])
  329. write_file(refferencefile,string,-1)
  330. format(string,15,"%f",origin[2])
  331. write_file(refferencefile,string,-1)
  332. format(string,15,"%f",angles[0])
  333. write_file(refferencefile,string,-1)
  334. format(string,15,"%f",angles[1])
  335. write_file(refferencefile,string,-1)
  336. format(string,15,"%f",angles[2])
  337. write_file(refferencefile,string,-1)
  338. format(string,15,"%f",v_angle[0])
  339. write_file(refferencefile,string,-1)
  340. format(string,15,"%f",v_angle[1])
  341. write_file(refferencefile,string,-1)
  342. format(string,15,"%f",v_angle[2])
  343. write_file(refferencefile,string,-1)
  344.  
  345. console_print(id,"[AMXX] %L",id,"MSG_SPAWN",precached_name[num2],sequence)
  346. return PLUGIN_HANDLED
  347. }
  348.  
  349. public spawnent_floor(id,level,cid)
  350. {
  351. if(!cmd_access(id,level,cid,2))
  352. {
  353. return PLUGIN_HANDLED
  354. }
  355. new arg1[32]
  356. read_argv(1,arg1,31)
  357. new arg2[32]
  358. read_argv(2,arg2,31)
  359. new num2=-1
  360. for(new i=0;i<num;i++)
  361. {
  362. if(containi(precached_name[i],arg1)!=-1)
  363. {
  364. if(num2!=-1)
  365. {
  366. console_print(id,"[AMXX] %L",id,"MSG_NOSPAWN_MORE",arg1)
  367. return PLUGIN_HANDLED
  368. }
  369. num2=i
  370. }
  371. }
  372. if(num2==-1)
  373. {
  374. console_print(id,"[AMXX] %L",id,"MSG_NOSPAWN_NONE",arg1)
  375. return PLUGIN_HANDLED
  376. }
  377. new sequence = str_to_num(arg2)
  378. if(!strlen(arg2))
  379. {
  380. sequence = precached_sequence[num2]
  381. }
  382. new Float:origin[3]
  383. new Float:angles[3]
  384. new Float:v_angle[3]
  385. entity_get_vector(id,EV_VEC_origin,origin)
  386. entity_get_vector(id,EV_VEC_v_angle,v_angle)
  387. entity_get_vector(id,EV_VEC_angles,angles)
  388.  
  389. new ent = create_entity("info_target")
  390.  
  391. entity_set_string(ent,EV_SZ_classname,"ghw_spawned_ent")
  392.  
  393. entity_set_model(ent,precached[num2])
  394.  
  395. entity_set_origin(ent,origin)
  396. entity_set_vector(ent,EV_VEC_v_angle,v_angle)
  397. entity_set_vector(ent,EV_VEC_angles,angles)
  398.  
  399. entity_set_int(ent, EV_INT_solid,SOLID_NOT)
  400. entity_set_int(ent,EV_INT_movetype,MOVETYPE_FLY)
  401. entity_set_edict(ent,EV_ENT_owner,33)
  402.  
  403. entity_set_float(ent,EV_FL_framerate,1.0)
  404. entity_set_int(ent,EV_INT_sequence,sequence)
  405.  
  406. entity_set_size(ent,Float:{-0.1, -0.1, -0.1},Float:{0.1, 0.1, 0.1})
  407.  
  408. engfunc(EngFunc_DropToFloor, ent)
  409.  
  410. new mapname[32]
  411. new string[16]
  412. get_mapname(mapname,31)
  413. format(mapname,31,"[%s]",mapname)
  414. write_file(refferencefile,mapname,-1)
  415. write_file(refferencefile,precached[num2],-1)
  416. format(string,15,"%d",sequence)
  417. write_file(refferencefile,string,-1)
  418. format(string,15,"%f",origin[0])
  419. write_file(refferencefile,string,-1)
  420. format(string,15,"%f",origin[1])
  421. write_file(refferencefile,string,-1)
  422. format(string,15,"%f",origin[2])
  423. write_file(refferencefile,string,-1)
  424. format(string,15,"%f",angles[0])
  425. write_file(refferencefile,string,-1)
  426. format(string,15,"%f",angles[1])
  427. write_file(refferencefile,string,-1)
  428. format(string,15,"%f",angles[2])
  429. write_file(refferencefile,string,-1)
  430. format(string,15,"%f",v_angle[0])
  431. write_file(refferencefile,string,-1)
  432. format(string,15,"%f",v_angle[1])
  433. write_file(refferencefile,string,-1)
  434. format(string,15,"%f",v_angle[2])
  435. write_file(refferencefile,string,-1)
  436.  
  437. console_print(id,"[AMXX] %L",id,"MSG_SPAWN",precached_name[num2],sequence)
  438. return PLUGIN_HANDLED
  439. }


Milkywaye írta:
nekem 1 oja plugin kene amelikel betudnak tenny karacsonyi fakat a de_dust2 mappara :)

_________________
Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.


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  [ 2 hozzászólás ] 


Ki van itt

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