Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.18 KB | None | 0 0
  1. @name more ulx
  2. @inputs Hud:wirelink
  3. @outputs
  4. @persist Command:table Hide Homes:table MapName:string Loaded ReturnPos:vector Constantes:table
  5. @persist Folder:string ContentFile:string ContentAvaliableFile WaitForFile RetryFile MaxRetry TimeToRetry FileNameForRetry:string TimeOut
  6. @persist URL:string WaitHTTP AmpEncode:string NbOfRetry Retry RetryUrl:string RetryTime FuncHttp:string HudChoice:array
  7. @persist Content:string ContentAvaliable BlindPlayer:table God:table SpawnPos:vector Dead JumpKey:string HudKey:string HudActive HudMode:string HudPos:vector HudEnt:entity
  8. @persist AutoRespawnActive SlayProp:entity Invisible JailProps:table TempPlayer:entity Froze:table WaitUpdate
  9. @trigger
  10.  
  11. runOnChat(1)
  12. #ifdef runOnDeath(number)
  13. runOnDeath(1)
  14. #endif
  15. #ifdef runOnSpawn(number)
  16. runOnDeath(1)
  17. #endif
  18. runOnKeys(owner(),1)
  19. if(first() | duped()){
  20.  
  21.  
  22.  
  23. ##CONFIG
  24. #save folder
  25. Folder = ""
  26. #number of RetryFile if load failed
  27. MaxRetry = 0
  28. #time between all RetryFile
  29. TimeToRetry = 5000
  30. #Time to check file
  31. TimeOut = 1000
  32. ##END CONFIG
  33.  
  34.  
  35.  
  36. ##GLOBAL VARIABLES
  37. #for save the ContentFile
  38. ContentFile = ""
  39. #to know if the ContentFile is Avaliable
  40. ContentAvaliableFile=0
  41. #to know if the e2 waiting for a file load
  42. WaitForFile=0
  43. #RetryFile cont
  44. RetryFile = 0
  45. #to know the file after RetryFile
  46. FileNameForRetry=""
  47. ##END GLOBAL VARIABLES
  48.  
  49.  
  50.  
  51. ##FUNCTIONS FOR SAVE
  52. #local save for string (basic function)
  53. function void string:lsave(FileName:string){
  54. if(fileCanWrite()){
  55. fileWrite(Folder+FileName,This)
  56. }else{
  57. print("Local save Error: file ("+Folder+FileName+") can't write")
  58. }
  59. }
  60.  
  61. #local save for vector (call string)
  62. function void vector:lsave(FileName:string){
  63. This:toString():lsave(FileName)
  64. }
  65.  
  66. #local save for angle (call string)
  67. function void angle:lsave(FileName:string){
  68. This:toString():lsave(FileName)
  69. }
  70.  
  71. #local save for table (call string)
  72. function void table:lsave(FileName:string){
  73. vonEncode(This):lsave(FileName)
  74. }
  75.  
  76. #local save for array (call string)
  77. function void array:lsave(FileName:string){
  78. vonEncode(This):lsave(FileName)
  79. }
  80. ##END FUNCTIONS FOR SAVE
  81.  
  82.  
  83.  
  84. ##FUNCTIONS FOR LOAD
  85. #return 0 if the file is not loaded,1 otherwise
  86. function number isFileLoaded(){
  87. return ContentAvaliableFile
  88. }
  89.  
  90. #load a file and RetryFile if cant load
  91. function void loadFile(FileName:string){
  92. WaitForFile=1
  93. ContentAvaliableFile=0
  94. if(fileCanLoad()){
  95. fileLoad(Folder+"/"+FileName)
  96. runOnFile(1)
  97. timer("timedout",TimeOut)
  98. }elseif(MaxRetry!=0){
  99. RetryFile=1
  100. FileNameForRetry=Folder+FileName
  101. print("Cant load file ("+FileNameForRetry+") RetryFile in "+TimeToRetry+" --- "+fileStatus())
  102. timer("RetryFile",TimeToRetry)
  103. }else{
  104. print("Cant load the file, no RetryFile")
  105. }
  106. }
  107.  
  108. #return the ContentFile for a string
  109. function string string:getContentFile(){
  110. ContentAvaliableFile=0
  111. return ContentFile
  112. }
  113.  
  114. #return the ContentFile and convert into a table
  115. function table table:getContentFile(){
  116. ContentAvaliableFile=0
  117. return vonDecodeTable(ContentFile)
  118. }
  119.  
  120. #return the ContentFile and convert into a array
  121. function array array:getContentFile(){
  122. ContentAvaliableFile=0
  123. return vonDecode(ContentFile)
  124. }
  125.  
  126. #return the ContentFile and convert into a vector
  127. function vector vector:getContentFile(){
  128. ContentAvaliableFile=0
  129. local X = ContentFile:explode("[")[2,string]:explode(",")[1,string]:toNumber()
  130. local Y = ContentFile:explode("[")[2,string]:explode(",")[2,string]:toNumber()
  131. local Z = ContentFile:explode("[")[2,string]:explode(",")[3,string]:sub(1,ContentFile:explode("[")[2,string]:explode(",")[3,string]:length()-1):toNumber()
  132. return vec(X,Y,Z)
  133. }
  134.  
  135. #return the ContentFile and convert into a angle
  136. function angle angle:getContentFile(){
  137. ContentAvaliableFile=0
  138. local X = ContentFile:explode("[")[2,string]:explode(",")[1,string]:toNumber()
  139. local Y = ContentFile:explode("[")[2,string]:explode(",")[2,string]:toNumber()
  140. local Z = ContentFile:explode("[")[2,string]:explode(",")[3,string]:sub(1,ContentFile:explode("[")[2,string]:explode(",")[3,string]:length()-1):toNumber()
  141. return ang(X,Y,Z)
  142. }
  143. ##END FUNCTIONS FOR LOAD
  144.  
  145.  
  146.  
  147.  
  148.  
  149. ##CONFIG
  150. #url for the http request (server)
  151. URL="http://yanndardot.fr/gmoddb/"
  152. #to transform '&' on the url
  153. AmpEncode="%5578"
  154. #number of retry if cant http
  155. NbOfRetry=3
  156. #number of time between retry
  157. RetryTime=2000
  158. ##END CONFIG
  159.  
  160.  
  161.  
  162. ##GLOBAL VARIABLES
  163. #if waiting for http request
  164. WaitHTTP=0
  165. #retry count
  166. Retry=0
  167. #the retry url
  168. RetryUrl=""
  169. #the function to be executed after the request (FuncHttp(HttpData))
  170. FuncHttp=""
  171. #the content of the request
  172. Content=""
  173. #to know if the content is Avaliable
  174. ContentAvaliable=0
  175. ##END GLOBAL VARIABLES
  176.  
  177.  
  178.  
  179. ##FUNCTION FOR SAVE
  180. #the function who receve the http data
  181. #simply print if there is an error
  182. function void saveHttp(HttpData:string){
  183. if(HttpData:index(1)=="0"){
  184. print("Erreur: "+HttpData:sub(2,HttpData:length()))
  185. }
  186. }
  187.  
  188. #global save for string (the mdp is for safe save)
  189. function void string:gsave(Mdp:string,Index:string){
  190. FuncHttp="saveHttp"
  191. if(httpCanRequest()){
  192. WaitHTTP=1
  193. runOnHTTP(1)
  194. httpRequest(URL+"?mdp="+Mdp+"&index="+Index+"&data="+This:replace("&",AmpEncode))
  195. }elseif(NbOfRetry!=0){
  196. RetryUrl=URL+"?mdp="+Mdp+"&index="+Index+"&data="+This:replace("&",AmpEncode)
  197. Retry=1
  198. timer("retry",RetryTime)
  199. print("Save of "+Index+" Failed, retry in "+RetryTime)
  200. }else{
  201. print("Save of "+Index+" Failed, no retry")
  202. }
  203. }
  204.  
  205. #global save for vector (call gsave for string)
  206. function void vector:gsave(Mdp:string,Index:string){
  207. This:toString():gsave(Mdp,Index)
  208. }
  209.  
  210. #global save for angle (call gsave for string)
  211. function void angle:gsave(Mdp:string,Index:string){
  212. This:toString():gsave(Mdp,Index)
  213. }
  214.  
  215. #global save for table (call gsave for string)
  216. function void table:gsave(Mdp:string,Index:string){
  217. vonEncode(This):gsave(Mdp,Index)
  218. }
  219.  
  220. #global save for array (call gsave for string)
  221. function void array:gsave(Mdp:string,Index:string){
  222. vonEncode(This):gsave(Mdp,Index)
  223. }
  224. ##END FUNCTION FOR SAVE
  225.  
  226.  
  227.  
  228. ##FUNCTION FOR LOAD
  229. #return 1 if the content is avaliable, 0 otherwise
  230. function number isIndexLoaded(){
  231. return ContentAvaliable
  232. }
  233.  
  234. #the function who receve the http data
  235. #print if error and save content
  236. function void loadHttp(HttpData:string){
  237. if(HttpData:index(1)=="0"){
  238. print(HttpData:sub(2,HttpData:length()))
  239. ContentAvaliable=1
  240. Content="-1"
  241. }else{
  242. Content=HttpData:sub(2,HttpData:length()):replace(AmpEncode,"&")
  243. ContentAvaliable=1
  244. }
  245. }
  246.  
  247. #load an index in the content (mdp is for safe load)
  248. function void loadIndex(Mdp:string,Index:string){
  249. FuncHttp="loadHttp"
  250. WaitHTTP=1
  251. if(httpCanRequest()){
  252. runOnHTTP(1)
  253. httpRequest(URL+"?mdp="+Mdp+"&index="+Index)
  254. }elseif(NbOfRetry!=0){
  255. RetryUrl=URL+"?mdp="+Mdp+"&index="+Index
  256. Retry=1
  257. timer("retry",RetryTime)
  258. print("Load of "+Index+" Failed, retry in "+RetryTime)
  259. }else{
  260. print("Load of "+Index+" Failed, no retry")
  261. ContentAvaliable=1
  262. Content="-1"
  263. }
  264. }
  265.  
  266. #return the content for a string
  267. function string string:getContent(){
  268. ContentAvaliable=0
  269. return Content
  270. }
  271.  
  272. #return the content and convert into a table
  273. function table table:getContent(){
  274. ContentAvaliable=0
  275. return vonDecodeTable(Content)
  276. }
  277.  
  278. #return the content and convert into a array
  279. function array array:getContent(){
  280. ContentAvaliable=0
  281. return vonDecode(Content)
  282. }
  283.  
  284. #return the content and convert into a vector
  285. function vector vector:getContent(){
  286. ContentAvaliable=0
  287. local X = Content:explode("[")[2,string]:explode(",")[1,string]:toNumber()
  288. local Y = Content:explode("[")[2,string]:explode(",")[2,string]:toNumber()
  289. local Z = Content:explode("[")[2,string]:explode(",")[3,string]:sub(1,Content:explode("[")[2,string]:explode(",")[3,string]:length()-1):toNumber()
  290. return vec(X,Y,Z)
  291. }
  292.  
  293. #return the content and convert into a angle
  294. function angle angle:getContent(){
  295. ContentAvaliable=0
  296. local X = Content:explode("[")[2,string]:explode(",")[1,string]:toNumber()
  297. local Y = Content:explode("[")[2,string]:explode(",")[2,string]:toNumber()
  298. local Z = Content:explode("[")[2,string]:explode(",")[3,string]:sub(1,Content:explode("[")[2,string]:explode(",")[3,string]:length()-1):toNumber()
  299. return ang(X,Y,Z)
  300. }
  301. ##END FUNCTIONS FOR LOAD
  302.  
  303. JailProps = table()
  304.  
  305. function message(Message:array) {
  306.  
  307. #ifdef chatPrint(...)
  308. if(Message[1,entity]:isPlayer()){
  309. local Ent = Message[1,entity]
  310. Message:shift()
  311. chatPrint(Ent,Message)
  312. }else {
  313. chatPrint(Message)
  314. }
  315. #else
  316. String = ""
  317. for(I=1,Message:count()) {
  318. if(Message[I,string] != "") {
  319. String+=Message[I,string]
  320. }
  321. }
  322. print(String)
  323. #endif
  324. }
  325.  
  326. function entity:move(Pos:vector) {
  327. local TeleportFunc=0
  328. #ifdef entity:teleport(vector)
  329. This:teleport(Pos)
  330. TeleportFunc=1
  331. #endif
  332. #ifdef entity:plySetPos(vector)
  333. if(!TeleportFunc) {
  334. This:plySetPos(Pos)
  335. }
  336. #endif
  337. }
  338.  
  339. function number array:contains(Ent:entity){
  340. for(I=1,This:count()){
  341. if(This[I,entity]==Ent){
  342. return 1
  343. }
  344. }
  345. return 0
  346. }
  347.  
  348.  
  349. function addCommand(Label:string,Func:string,Desc:string,HudType:string){
  350. local Index = Command:count()+1
  351. Command[Index,table]=table()
  352. Command[Index,table]["label",string]=Label
  353. Command[Index,table]["function",string]=Func
  354. Command[Index,table]["desc",string]=Desc
  355. Command[Index,table]["hudType",string]=HudType
  356. }
  357. function addCommand(Label:string,Func:string){
  358. addCommand(Label,Func,"Description par default.","none")
  359. }
  360.  
  361.  
  362. function cgoto(Args:array){
  363. local Player = findPlayerByName(Args:concat(" "))
  364. if(Player:isPlayer()){
  365. message(array(Constantes["AllPlayerTextColor",vector],"Teleported to",teamColor(Player:team())," "+Player:name()))
  366. ReturnPos=owner():pos()
  367. owner():move(Player:pos()+Player:forward()*40)
  368. }else{
  369. message(array(owner(),Constantes["ErrorTextColor",vector],"Nom de joueur incorrect."))
  370. }
  371. }
  372.  
  373. function ctp(Args:array){
  374. local Player = findPlayerByName(Args:concat(" "))
  375. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  376.  
  377. message(array(Constantes["AllPlayerTextColor",vector],"Teleport",teamColor(Player:team())," "+Player:name()))
  378. Player:move(owner():aimPos()+owner():aimNormal()*40)
  379. }else{
  380. if(Player:isPlayer()){
  381. message(array(owner(),Constantes["ErrorTextColor",vector],"Vous n'etes pas dans ses PP friends de ce joueur."))
  382. }else{
  383. message(array(owner(),Constantes["ErrorTextColor",vector],"Le joueur n'existe pas"))
  384. }
  385. }
  386. }
  387. function csethome(Args:array){
  388. local Home = Args:concat(" ")
  389. Homes[Home,vector] = owner():pos()
  390.  
  391. message(array(owner(),Constantes["NormalTextColor",vector],"Home ",Constantes["HomesTextColor",vector],Home,Constantes["NormalTextColor",vector]," placer."))
  392. Homes:lsave(MapName+"_homes.txt")
  393. }
  394.  
  395. function chome(Args:array){
  396. local Home = Args:concat(" ")
  397. if(Homes:exists(Home)){
  398. ReturnPos=owner():pos()
  399. owner():move(Homes[Home,vector])
  400.  
  401. }else{
  402. message(array(owner(),Constantes["ErrorTextColor",vector],"Nom de home incorrect"))
  403. }
  404. }
  405.  
  406. function chomes(Args:array){
  407. message(array(owner(),Constantes["NormalTextColor",vector],"Homes: ",Constantes["HomesTextColor",vector],Homes:keys():concat(", ")))
  408. }
  409.  
  410. function cdelhome(Args:array){
  411. local Home = Args:concat(" ")
  412. if(Homes:exists(Home)){
  413. Homes:remove(Home)
  414. message(array(owner(),Constantes["CorrectTextColor",vector],"Home ",Constantes["HomesTextColor",vector],Home,Constantes["CorrectTextColor",vector]," supprimer."))
  415. Homes:lsave(MapName+"_homes.txt")
  416. }else{
  417. message(array(owner(),Constantes["ErrorTextColor",vector],"Nom de home incorrect"))
  418. }
  419. }
  420. function creturn(Args:array){
  421. local ReturnPosTemp = owner():pos()
  422. local TeleportFunc=0
  423. owner():move(ReturnPos)
  424. ReturnPos=ReturnPosTemp
  425. message(array(owner(),Constantes["NormalTextColor",vector],"Vous retourner a votre derniere position."))
  426. }
  427.  
  428. function table getCommande(Label:string){
  429. for(I=1,Command:count()){
  430. if(Command[I,table]["label",string] == Label){
  431. return Command[I,table]
  432. }
  433. }
  434. return table()
  435. }
  436.  
  437. function chide(Args:array){
  438. Hide = !Hide
  439. message(array(owner(),Constantes["NormalTextColor",vector],"Affichage des commandes "+( Hide? "desactive" : "active" )+"."))
  440. }
  441.  
  442. function chelp(Args:array){
  443. if(Args:count()!=0){
  444. Com = getCommande(Args[1,string])
  445. if(Com:count()==0){
  446. message(array(owner(),Constantes["ErrorTextColor",vector],"Commande \"",Constantes["CommandeTextColor",vector],Args[1,string],Constantes["ErrorTextColor",vector],"\" inconnu."))
  447. }else{
  448. message(array(owner(),Constantes["CommandeTextColor",vector],Com["label",string]+": ",Constantes["NormalTextColor",vector],Com["desc",string]))
  449. }
  450. }else{
  451. local List=""
  452. for(I=1,Command:count()){
  453. List=List+Command[I,table]["label",string]+", "
  454. }
  455. message(array(owner(),Constantes["NormalTextColor",vector],"Commandes: ",Constantes["CommandeTextColor",vector],List))
  456.  
  457. message(array(owner(),Constantes["NormalTextColor",vector],"faites \":help <label>\" pour plus d'info sur une commande"))
  458. }
  459. }
  460.  
  461. function cjump(Args:array){
  462. if(Args:count()==1){
  463. owner():move(Args[1,vector])
  464. }else{
  465. owner():move(owner():aimPos()-vec(0,0,40)+owner():aimNormal()*vec(40,40,40))
  466. }
  467. }
  468.  
  469. function cblind(Args:array){
  470. local Player = findPlayerByName(Args:concat(" "))
  471. if(Player:isPlayer()){
  472. BlindPlayer[Player:id(),entity] = Player
  473.  
  474. message(array(owner(),Constantes["NormalTextColor",vector],"Le joueur a ete aveugler"))
  475. holoCreate(Player:id())
  476. holoScale(Player:id(),vec(-10,-10,-10))
  477. holoPos(Player:id(),Player:pos()+vec(0,0,40))
  478. holoModel(Player:id(),"hq_sphere")
  479. holoColor(Player:id(),vec(0,0,0))
  480. holoParentAttachment(Player:id(),Player,"eyes")
  481. }else{
  482. message(array(owner(),Constantes["ErrorTextColor",vector],"Le joueur est incorrect"))
  483. }
  484. }
  485.  
  486. function cunblind(Args:array){
  487. local Player = findPlayerByName(Args:concat(" "))
  488. if(Player:isPlayer()){
  489. if(BlindPlayer:exists(Player:id())){
  490. BlindPlayer[Player:id(),entity] = Player
  491.  
  492. message(array(owner(),Constantes["NormalTextColor",vector],"Le joueur n'est plus aveugler"))
  493. holoDelete(Player:id())
  494. BlindPlayer:removeEntity(Player:id())
  495. }else{
  496. message(array(owner(),Constantes["ErrorTextColor",vector],"Le joueur n'est pas aveugler"))
  497. }
  498. }else{
  499. message(array(owner(),Constantes["ErrorTextColor",vector],"Le joueur est incorrect"))
  500. }
  501. }
  502.  
  503. function cinfo(Args:array){
  504. if(Args:count()==0){
  505. message(array(owner(),Constantes["ErrorTextColor",vector],"Veuillez mettre un nom de joueur en ligne"))
  506. }else{
  507. local Player = findPlayerByName(Args:concat(" "))
  508. if(Player:isPlayer()){
  509. message(array(owner(),Constantes["NormalTextColor",vector],"----- ",teamColor(Player:team()),Player:name(),Constantes["NormalTextColor",vector]," -----"))
  510. message(array(owner(),Constantes["NormalTextColor",vector],"Steam id: ",Constantes["HomesTextColor",vector],Player:steamID()))
  511. message(array(owner(),Constantes["NormalTextColor",vector],"entity id: ",Constantes["HomesTextColor",vector],Player:id()+""))
  512. message(array(owner(),Constantes["NormalTextColor",vector],"Arme en main: ",Constantes["HomesTextColor",vector],Player:weapon():type()+(Player:weapon():type()=="gmod_tool"?" ("+Player:tool()+")" :"")))
  513. findIncludePlayerProps(Player)
  514. findExcludeModel("/weapons/")
  515. findExcludeModel("/camera.mdl")
  516. findExcludeClass("player")
  517. findInSphere(Player:pos(),1000000)
  518. local Find = findToArray()
  519. message(array(owner(),Constantes["NormalTextColor",vector],"nombre de props: ",Constantes["HomesTextColor",vector],Find:count()+""))
  520. message(array(owner(),Constantes["NormalTextColor",vector],"vie/armure: ",Constantes["HomesTextColor",vector],Player:health()+"/"+Player:armor()))
  521. message(array(owner(),Constantes["NormalTextColor",vector],"Groupe: ",teamColor(Player:team()),Player:team():teamName()))
  522. }
  523. }
  524. }
  525.  
  526. function cpm(Args:array){
  527. Player = findPlayerByName(Args[1,string])
  528. if(Player:isPlayer()){
  529. message(array(owner(),Constantes["NormalTextColor",vector],"PM envoyer"))
  530. Args:shift()
  531. message(array(Player,Constantes["NormalTextColor",vector],"(pm) : ",vec(255,255,255),Args:concat(" ")))
  532. }else{
  533. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  534. }
  535. }
  536.  
  537. function cgod(Args:array){
  538. if(Args[1,string]!=""){
  539. Player = findPlayerByName(Args:concat(" "))
  540. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  541. God[Player:name(),number] = !God[Player:name(),number]
  542. #ifdef entity:plyGod(number)
  543. Player:plyGod(God[Player:name(),number])
  544. #endif
  545.  
  546. message(array(Constantes["AllPlayerTextColor",vector],(God[Player:name(),number]?"granted" :"remove")+" godmod to",teamColor(Player:team())," "+Player:name()))
  547. }else{
  548. if(Player:isPlayer()){
  549. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  550. }else{
  551. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  552. }
  553. }
  554. }else{
  555. God[owner():name(),number] = !God[owner():name(),number]
  556. #ifdef entity:plyGod(number)
  557. owner():plyGod(God[owner():name(),number])
  558. #endif
  559. message(array(Constantes["AllPlayerTextColor",vector],(God[owner():name(),number]?"granted" :"remove")+" godmod to",teamColor(owner():team())," "+owner():name()))
  560. }
  561. }
  562.  
  563. function cnoclip(Args:array){
  564. if(Args[1,string]!=""){
  565. Player = findPlayerByName(Args:concat(" "))
  566. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  567. #ifdef entity:plyNoclip(number)
  568. Player:plyNoclip(!Player:inNoclip())
  569. #endif
  570. message(array(Constantes["AllPlayerTextColor",vector],(Player:inNoclip()?"granted" :"remove")+" noclip to",teamColor(Player:team())," "+Player:name()))
  571. }else{
  572. if(Player:isPlayer()){
  573. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  574. }else{
  575. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  576. }
  577. }
  578. }else{
  579. #ifdef entity:plyNoclip(number)
  580. owner():plyNoclip(!owner():inNoclip())
  581. #endif
  582.  
  583. message(array(Constantes["AllPlayerTextColor",vector],(owner():inNoclip()?"granted" :"remove")+" noclip to",teamColor(owner():team())," "+owner():name()))
  584. }
  585. }
  586.  
  587.  
  588. function csethealth(Args:array){
  589. local Vie = Args[1,string]:toNumber()
  590. if(Args[2,string]!=""){
  591. Args:shift()
  592. Player = findPlayerByName(Args:concat(" "))
  593. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  594. #ifdef entity:plySetHealth(number)
  595. Player:plySetHealth(Vie)
  596. #endif
  597.  
  598. message(array(Constantes["AllPlayerTextColor",vector],"set the health of",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  599. }else{
  600. if(Player:isPlayer()){
  601. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  602. }else{
  603. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  604. }
  605. }
  606. }else{
  607. #ifdef entity:plySetHealth(number)
  608. owner():plySetHealth(Vie)
  609. #endif
  610.  
  611. message(array(Constantes["AllPlayerTextColor",vector],"set the health of",teamColor(owner():team())," "+owner():name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  612. }
  613. }
  614.  
  615.  
  616. function csetarmor(Args:array){
  617. local Vie = Args[1,string]:toNumber()
  618. if(Args[2,string]!=""){
  619. Args:shift()
  620. Player = findPlayerByName(Args:concat(" "))
  621. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  622. #ifdef entity:plySetArmor(number)
  623. Player:plySetArmor(Vie)
  624. #endif
  625. message(array(Constantes["AllPlayerTextColor",vector],"set the armor of",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  626. }else{
  627. if(Player:isPlayer()){
  628. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  629. }else{
  630. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  631. }
  632. }
  633. }else{
  634. #ifdef entity:plySetArmor(number)
  635. owner():plySetArmor(Vie)
  636. #endif
  637. message(array(Constantes["AllPlayerTextColor",vector],"set the armor of",teamColor(owner():team())," "+owner():name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  638. }
  639. }
  640.  
  641.  
  642. function csetspeed(Args:array){
  643. local Vie = Args[1,string]:toNumber()
  644. if(Args[2,string]!=""){
  645. Args:shift()
  646. Player = findPlayerByName(Args:concat(" "))
  647. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  648. #ifdef owner:plySetSpeed(number)
  649. Player:plySetSpeed(Vie)
  650. #endif
  651. message(array(Constantes["AllPlayerTextColor",vector],"set the speed of",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  652. }else{
  653. if(Player:isPlayer()){
  654. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  655. }else{
  656. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  657. }
  658. }
  659. }else{
  660. #ifdef entity:plySetSpeed(number)
  661. owner():plySetSpeed(Vie)
  662. #endif
  663. message(array(Constantes["AllPlayerTextColor",vector],"set the speed of",teamColor(owner():team())," "+owner():name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  664. }
  665. }
  666.  
  667. function csetgravity(Args:array){
  668. local Vie = Args[1,string]:toNumber()
  669. if(Args[2,string]!=""){
  670. Args:shift()
  671. Player = findPlayerByName(Args:concat(" "))
  672. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  673. #ifdef entity:plySetGravity(number)
  674. Player:plySetGravity(Vie)
  675. #endif
  676. message(array(Constantes["AllPlayerTextColor",vector],"set the gravity of",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  677. }else{
  678. if(Player:isPlayer()){
  679. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  680. }else{
  681. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  682. }
  683. }
  684. }else{
  685. #ifdef entity:plySetGravity(number)
  686. owner():plySetGravity(Vie)
  687. #endif
  688. message(array(Constantes["AllPlayerTextColor",vector],"set the gravity of",teamColor(owner():team())," "+owner():name(),Constantes["AllPlayerTextColor",vector]," to "+Vie+"."))
  689. }
  690. }
  691.  
  692. function cexit(Args:array){
  693. if(Args[1,string]!=""){
  694. Player = findPlayerByName(Args:concat(" "))
  695. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  696. #ifdef entity:plyExitVehicle()
  697. Player:plyExitVehicle()
  698. #endif
  699.  
  700. message(array(owner(),teamColor(owner():team()),owner():name(),Constantes["NormalTextColor",vector]," a ete expulser de son vehicule"))
  701. }else{
  702. if(Player:isPlayer()){
  703. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  704. }else{
  705. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  706. }
  707. }
  708. }else{
  709. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  710. }
  711. }
  712.  
  713. function cspawn(Args:array){
  714. if(Args[1,string]!=""){
  715. Player = findPlayerByName(Args:concat(" "))
  716. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  717. #ifdef entity:plySpawn()
  718. Player:plySpawn()
  719. #endif
  720. message(array(owner(),teamColor(owner():team()),owner():name(),Constantes["NormalTextColor",vector]," a ete respawn"))
  721. }else{
  722. if(Player:isPlayer()){
  723. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  724. }else{
  725. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  726. }
  727. }
  728. }else{
  729. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  730. }
  731. }
  732.  
  733. function csetspawn(Args:array){
  734. if(Args:count()==1){
  735. SpawnPos=Args[1,vector]
  736. }else{
  737. SpawnPos=owner():pos()
  738. }
  739.  
  740. message(array(owner(),Constantes["NormalTextColor",vector],"Spawn set."))
  741. }
  742.  
  743. function hudChangeState(){
  744. if(HudMode=="player"){
  745. HudActive=0
  746. Hud:egpClear()
  747. }else{
  748. HudActive = !HudActive
  749. Hud:egpClear()
  750. }
  751. }
  752.  
  753. function hudPlayer(Pl:entity){
  754. HudEnt=Pl
  755. Hud:egp3DTracker(1,vec(0,0,80))
  756. Hud:egpParent(1,Pl)
  757.  
  758. Hud:egpBox(2,vec2(0,0),vec2(0,0))
  759. Hud:egpParent(2,1)
  760.  
  761. Hud:egpRoundedBox(4,vec2(0,0),vec2(200,50))
  762. Hud:egpColor(4,vec(0,0,0))
  763. Hud:egpAlpha(4,150)
  764. Hud:egpParent(4,1)
  765.  
  766. Hud:egpText(3,Pl:name(),vec2(0,0))
  767. Hud:egpAlign(3,1,1)
  768. Hud:egpSize(3,30)
  769. Hud:egpParent(3,1)
  770. Index=5
  771. for(I=1,Command:count()){
  772. if(Command[I,table]["hudType",string]=="player"){
  773. local ComNum = (Index-3)/2
  774. local Pos = vec2((((ComNum+1)%2)*200)-100,floor(25*(ComNum-(ComNum+1)%2))+30)
  775. Hud:egpRoundedBox(Index,Pos,vec2(100,35))
  776. Hud:egpColor(Index,vec(255,191,0))
  777. Hud:egpParent(Index,1)
  778.  
  779. Hud:egpText(Index+1,ComNum+" - "+Command[I,table]["label",string],Pos)
  780. Hud:egpColor(Index+1,vec(0,161,255))
  781. Hud:egpAlign(Index+1,1,1)
  782. Hud:egpSize(3,25)
  783. Hud:egpParent(Index+1,1)
  784. Index+=2
  785. }
  786. }
  787. }
  788.  
  789. function cselect(Args:array){
  790. if(Args[1,string]!=""){
  791. Player = findPlayerByName(Args:concat(" "))
  792. if(Player:isPlayer()){
  793. Hud:egpClear()
  794. hudPlayer(Player)
  795. }else{
  796. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  797. }
  798. }else{
  799. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  800. }
  801. }
  802.  
  803. function cautorespawn(Args:array){
  804. AutoRespawnActive = !AutoRespawnActive
  805. message(array(owner(),Constantes["NormalTextColor",vector] ,"Autorespawn "+(AutoRespawnActive ? "Active" : "Desactive")))
  806. }
  807.  
  808. function cslay(Args:array) {
  809. if(Args[1,string]!=""){
  810. Player = findPlayerByName(Args:concat(" "))
  811. if(Player:isPlayer()){
  812. SlayProp:propDelete()
  813. SlayProp = propSpawn("models/hunter/blocks/cube05x05x05.mdl",Player:pos()+vec(0,0,90),0)
  814. SlayProp:setMass(500000)
  815. SlayProp:setAlpha(0)
  816. timer("removeProp",1000)
  817. message(array(owner(),Constantes["NormalTextColor",vector] ,"Joueur kill"))
  818. }else{
  819. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  820. }
  821. }else{
  822. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  823. }
  824. }
  825.  
  826. function cdelspawn(Args:array) {
  827. SpawnPos=vec(0,0,0)
  828. message(array(owner(),Constantes["NormalTextColor",vector] ,"spawn supprime"))
  829. }
  830. function csend(Args:array){
  831. if(Args:count() >= 2){
  832. local Player1 = findPlayerByName(Args[1,string])
  833. local Player2 = findPlayerByName(Args[2,string])
  834. if(Player1:isPlayer()){
  835. if(Player2:isPlayer()){
  836.  
  837. local TeleportFunc=0
  838. Player1:move(Player2:pos()+Player2:forward()*40)
  839. message(array(Constantes["AllPlayerTextColor",vector],"teleport",teamColor(Player1:team())," "+Player1:name(),Constantes["AllPlayerTextColor",vector]," to ",teamColor(Player2:team())," "+Player2:name(),Constantes["AllPlayerTextColor",vector],"."))
  840. }else{
  841. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur 2 n'existe pas"))
  842. }
  843. }else{
  844. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur 1 n'existe pas"))
  845. }
  846. }else{
  847. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre deux nom de joueur."))
  848. }
  849. }
  850.  
  851. function cinvisible(Args:array) {
  852. Invisible =!Invisible
  853. if(Invisible){
  854. owner():weapon():setMaterial("effects/ar2_altfire1b")
  855. owner():setMaterial("effects/ar2_altfire1b")
  856. } else {
  857. owner():weapon():setMaterial("")
  858. owner():setMaterial("")
  859. }
  860. message(array(owner(),Constantes["NormalTextColor",vector] ,"Vous etes "+(Invisible? "" : "plus")+" invisible"))
  861. }
  862.  
  863. function cjail(Args:array) {
  864. if(Args[1,string]!=""){
  865. Player = findPlayerByName(Args:concat(" "))
  866. if(Player:isPlayer()){
  867. if(JailProps:exists(Player:name())){
  868. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur ", teamColor(Player:team()),Player:name(),Constantes["ErrorTextColor",vector] ," est deja jail"))
  869. } else {
  870. JailProps[Player:name(),table] = table()
  871. JailProps[Player:name(),table][0,entity] = propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Player:pos()+vec(40,0,60),1)
  872. JailProps[Player:name(),table][1,entity] = propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Player:pos()+vec(-40,0,60),1)
  873. TempPlayer = Player
  874. timer("finishJail",200)
  875. message(array(owner(),Constantes["NormalTextColor",vector] ,"Le joueur ", teamColor(Player:team()),Player:name(),Constantes["NormalTextColor",vector] ," a ete jail"))
  876. }
  877. }else{
  878. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  879. }
  880. }else{
  881. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  882. }
  883. }
  884.  
  885. function cunjail(Args:array) {
  886. if(Args[1,string]!=""){
  887. Player = findPlayerByName(Args:concat(" "))
  888. if(Player:isPlayer()){
  889. if(!JailProps:exists(Player:name())){
  890. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur ", teamColor(Player:team()),Player:name(),Constantes["ErrorTextColor",vector] ," n'est pas jail"))
  891. } else {
  892. for (I=0,4) {
  893. JailProps[Player:name(),table][I,entity]:propDelete()
  894. }
  895. JailProps:remove(Player:name())
  896. message(array(owner(),Constantes["NormalTextColor",vector] ,"Le joueur ", teamColor(Player:team()),Player:name(),Constantes["NormalTextColor",vector] ," a ete unjail"))
  897. }
  898. }else{
  899. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  900. }
  901. }else{
  902. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  903. }
  904. }
  905.  
  906. function cslap(Args:array) {
  907. if(Args[1,string]!=""){
  908. Player = findPlayerByName(Args:concat(" "))
  909. if(Player:isPlayer()){
  910. SlayProp:propDelete()
  911. Origine = Player:pos()+Player:forward()*50+vec(0,0,50)
  912. SlayProp = propSpawn("models/hunter/blocks/cube05x05x05.mdl",Origine,0)
  913. SlayProp:setMass(5000)
  914. SlayProp:applyOffsetForce((Origine-Player:pos()+vec(0,0,50))*-1000000,(Origine-Player:pos()+vec(0,0,50))*-1000000)
  915. SlayProp:setAlpha(255)
  916. timer("removeProp",100)
  917. message(array(owner(),Constantes["NormalTextColor",vector] ,"Le joueur ",teamColor(Player:team()),Player:name() ,Constantes["NormalTextColor",vector]," a ete slap"))
  918. }else{
  919. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  920. }
  921. }else{
  922. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  923. }
  924. }
  925.  
  926. function hudPos(Pos:vector){
  927. HudPos=Pos
  928. Hud:egp3DTracker(1,Pos)
  929.  
  930. Hud:egpBox(2,vec2(0,0),vec2(0,0))
  931. Hud:egpParent(2,1)
  932.  
  933. Hud:egpTriangle(3,vec2(-20,-20),vec2(20,-20),vec2(0,0))
  934. Hud:egpColor(3,vec(255,0,0))
  935. Hud:egpParent(3,1)
  936.  
  937. Index=4
  938. for(I=1,Command:count()){
  939. if(Command[I,table]["hudType",string]=="pos"){
  940. local ComNum = (Index-2)/2
  941. local Pos = vec2(0,ComNum*-50)
  942. Hud:egpRoundedBox(Index,Pos,vec2(100,35))
  943. Hud:egpColor(Index,vec(255,191,0))
  944. Hud:egpParent(Index,1)
  945.  
  946. Hud:egpText(Index+1,ComNum+" - "+Command[I,table]["label",string],Pos)
  947. Hud:egpColor(Index+1,vec(0,161,255))
  948. Hud:egpAlign(Index+1,1,1)
  949. Hud:egpSize(3,25)
  950. Hud:egpParent(Index+1,1)
  951. Index+=2
  952. }
  953. }
  954.  
  955. }
  956.  
  957. function array getTarget(){
  958. if(HudMode=="player"){
  959. return array(HudEnt:name())
  960. }else{
  961. return array(HudPos)
  962. }
  963. }
  964.  
  965. function runCommand(Num , Type:string ){
  966. local Count=1
  967. for(I=1,Command:count()){
  968. if(Command[I,table]["hudType",string]==Type){
  969. if(Count==Num){
  970. Command[I,table]["function",string](getTarget())
  971. break
  972. }
  973. Count++
  974. }
  975. }
  976. }
  977. Froze = table()
  978. function csuperfreeze(Args:array) {
  979. if(Args[1,string]!=""){
  980. Player = findPlayerByName(Args:concat(" "))
  981. if(Player:isPlayer() & (Player:friends():contains(owner()) | owner():isAdmin())){
  982. if(Player:isFrozen()) {
  983. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur est deja superfreeze"))
  984. return
  985. }
  986. #ifdef entity:plyFreeze(number)
  987. Player:plyFreeze(1)
  988. #endif
  989. message(array(Constantes["AllPlayerTextColor",vector]," froze ",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector],"."))
  990. }else{
  991. if(Player:isPlayer()){
  992. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  993. }else{
  994. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  995. }
  996. }
  997. }else{
  998. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  999. }
  1000. }
  1001.  
  1002. function cupdate(Args:array) {
  1003. message(array(owner(),Constantes["NormalTextColor",vector] ,"Le more ulx vas etre mis a jours, lorsque l'e2 sera redemarer merci de reenregistrer l'e2."))
  1004. if(httpCanRequest()) {
  1005. httpRequest("http://rush-site.fr/moreulx/more_ulx.txt")
  1006. WaitUpdate = 1
  1007. runOnHTTP(1)
  1008. }else {
  1009. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Impossible d'envoyer une requete vers le serveur veuillez reessayer plus tard."))
  1010. }
  1011. }
  1012.  
  1013. function cfreeze(Args:array) {
  1014. if(Args[1,string]!=""){
  1015. Player = findPlayerByName(Args:concat(" "))
  1016. if(Player:isPlayer()){
  1017. if(Froze:exists(Player:steamID())) {
  1018. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur est deja freeze"))
  1019. return
  1020. }
  1021. Froze[Player:steamID(),entity] = propSpawn("models/hunter/blocks/cube2x2x2.mdl",Player:pos()+vec(0,0,40),1)
  1022. Froze[Player:steamID(),entity]:setAlpha(0)
  1023. message(array(Constantes["AllPlayerTextColor",vector]," froze ",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector],"."))
  1024. }else{
  1025. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  1026. }
  1027. }else{
  1028. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  1029. }
  1030. }
  1031.  
  1032. function cunfreeze(Args:array) {
  1033. if(Args[1,string]!=""){
  1034. Player = findPlayerByName(Args:concat(" "))
  1035. if(Player:isPlayer()){
  1036. local F = 0
  1037. if(Froze:exists(Player:steamID())) {
  1038. Froze[Player:steamID(),entity]:propDelete()
  1039. Froze:remove(Player:steamID())
  1040. F=1
  1041. }
  1042. #ifdef entity:plyFreeze(number)
  1043. Player:plyFreeze(0)
  1044. #endif
  1045. message(array(Constantes["AllPlayerTextColor",vector]," unfroze ",teamColor(Player:team())," "+Player:name(),Constantes["AllPlayerTextColor",vector],"."))
  1046. }else{
  1047. if(Player:isPlayer()){
  1048. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Vous n'etes pas dans ses PP friends de ce joueur."))
  1049. }else{
  1050. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Le joueur n'existe pas"))
  1051. }
  1052. }
  1053. }else{
  1054. message(array(owner(),Constantes["ErrorTextColor",vector] ,"veuillez mettre un nom de joueur."))
  1055. }
  1056. }
  1057. Hide=1
  1058. BlindPlayer=table()
  1059. Command=table()
  1060. Constantes = table()
  1061. God = table()
  1062. Constantes["NormalTextColor",vector] = vec(88,218,255)
  1063. Constantes["AllPlayerTextColor",vector] = vec(150,220,255)
  1064. Constantes["CommandeTextColor",vector] = vec(255,191,0)
  1065. Constantes["ErrorTextColor",vector] = vec(200,25,25)
  1066. Constantes["CorrectTextColor",vector] = vec(25,200,25)
  1067. Constantes["HomesTextColor",vector] = vec(200,150,25)
  1068. Constantes["Version",number]=2.3
  1069.  
  1070. Homes=table()
  1071. Loaded=0
  1072. MapName=map()
  1073. SpawnPos=vec(0,0,0)
  1074. ReturnPos=entity():pos()
  1075. Hud:egpClear()
  1076. HudKey = "lalt"
  1077. HudChoice=array("pad_1","pad_2","pad_3","pad_4","pad_5","pad_6","pad_7","pad_8","pad_9")
  1078.  
  1079. local TeleportFunc=0
  1080. #ifdef entity:teleport(vector)
  1081. addCommand("goto","cgoto","Permet de se teleporter a un joueur.","player")
  1082. addCommand("tp","ctp","Permet de teleporter un joueur a vous.","none")
  1083. addCommand("sethome","csethome","Place un home a votre position.","none")
  1084. addCommand("send","csend","Permet de teleporter un joueur a un autre joueur","none")
  1085. addCommand("delhome","cdelhome","Supprime le home <args1>.","none")
  1086. addCommand("home","chome","Vous teleport au home <args1>.","none")
  1087. addCommand("homes","chomes","Affiche la liste de tout vos homes.","none")
  1088. addCommand("return","creturn","Vous teleporte la ou vous etiez.","none")
  1089. addCommand("hide","chide","Permet d'activer/desactiver l'affichage des commandes dans le chat.","none")
  1090. addCommand("j","cjump","Permet de se teleporter la ou vous regarder.","pos")
  1091. addCommand("setspawn","csetspawn","Permet de set son propre spawn","pos")
  1092. addCommand("delspawn","cdelspawn","Permet de suprimer le setspawn","pos")
  1093. addCommand("autorespawn","cautorespawn","Permet de respawn automatiquement","none")
  1094. TeleportFunc=1
  1095. #endif
  1096. #ifdef entity:setPos(vector)
  1097. if(!TeleportFunc) {
  1098. addCommand("goto","cgoto","Permet de se teleporter a un joueur.","player")
  1099. addCommand("tp","ctp","Permet de teleporter un joueur a vous.","none")
  1100. addCommand("sethome","csethome","Place un home a votre position.","none")
  1101. addCommand("send","csend","Permet de teleporter un joueur a un autre joueur","none")
  1102. addCommand("delhome","cdelhome","Supprime le home <args1>.","none")
  1103. addCommand("home","chome","Vous teleport au home <args1>.","none")
  1104. addCommand("homes","chomes","Affiche la liste de tout vos homes.","none")
  1105. addCommand("return","creturn","Vous teleporte la ou vous etiez.","none")
  1106. addCommand("hide","chide","Permet d'activer/desactiver l'affichage des commandes dans le chat.","none")
  1107. addCommand("j","cjump","Permet de se teleporter la ou vous regarder.","pos")
  1108. addCommand("setspawn","csetspawn","Permet de set son propre spawn","pos")
  1109. addCommand("delspawn","cdelspawn","Permet de suprimer le setspawn","pos")
  1110. addCommand("autorespawn","cautorespawn","Permet de respawn automatiquement","none")
  1111. }
  1112. #endif
  1113. addCommand("freeze","cfreeze","Permet de freeze hors noclip un joueur","none")
  1114. #ifdef entity:plyFreeze(number)
  1115. addCommand("superfreeze","csuperfreeze","Permet de freeze un joueur meme si il noclip","none")
  1116. #endif
  1117. addCommand("unfreeze","cunfreeze","Permet de unfreeze un joueur","none")
  1118. addCommand("slay","cslay","Permet de tuer un joueur","player")
  1119. addCommand("help","chelp","affiches toutes les commandes et leurs informations.","none")
  1120. addCommand("info","cinfo","affiches des informations sur un joueurs.","player")
  1121. JumpKey = "mouse_middle"
  1122. addCommand("blind","cblind","Permet d'aveugler un joueur.","player")
  1123. addCommand("unblind","cunblind","Permet d'aretter l'aveuglement sur un joueur.","player")
  1124. #ifdef chatPrint(entity,...)
  1125. addCommand("pm","cpm","Permet d'envoyer un message priver a un joueur.","none")
  1126. #endif
  1127. #ifdef entity:plyGod(number)
  1128. addCommand("god","cgod","Permet de mettre un joueur invincible","player")
  1129. #endif
  1130. #ifdef entity:plyNoclip(number)
  1131. addCommand("noclip","cnoclip","Permet de mettre le noclip a un joueur","player")
  1132. #endif
  1133. #ifdef entity:plySetHealth(number)
  1134. addCommand("seth","csethealth","Permet de set la vie d'un joueur","none")
  1135. #endif
  1136. #ifdef entity:plySetArmor(number)
  1137. addCommand("seta","csetarmor","Permet de set l'armure d'un joueur","none")
  1138. #endif
  1139. #ifdef entity:plySetSpeed(number)
  1140. addCommand("sets","csetspeed","Permet de set le speed d'un joueur","none")
  1141. #endif
  1142. #ifdef entity:plyExitVehicle()
  1143. addCommand("exit","cexit","Permet d'exclure un joueur d'un vehicule","none")
  1144. #endif
  1145. #ifdef entity:plySpawn()
  1146. addCommand("spawn","cspawn","Permet de faire respawn un joueur","none")
  1147. #endif
  1148. #ifdef entity:plySetGravity(number)
  1149. addCommand("setg","csetgravity","Permet de set la gravite d'un joueur","none")
  1150. #endif
  1151. addCommand("s","cselect","Permet de selectioner un joueurs","none")
  1152. addCommand("slap","cslap","Permet de slap un joueur","player")
  1153. addCommand("invisible","cinvisible","Permet de devenir invisible","none")
  1154. addCommand("jail","cjail","Permet de jail un joueur","player")
  1155. addCommand("unjail","cunjail","Permet de unjail un joueur","player")
  1156. loadIndex("game","moreulx")
  1157. }
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164. if(WaitForFile){
  1165. if(clk("RetryFile")){ #case if file load failed
  1166. if(fileCanLoad()){
  1167. #if can load load the file
  1168. fileLoad(FileNameForRetry)
  1169. runOnFile(1)
  1170. }elseif(RetryFile < MaxRetry){
  1171. #RetryFile if nessecesary
  1172. RetryFile++
  1173. print("Cant load file RetryFile in "+TimeToRetry)
  1174. timer("RetryFile",TimeToRetry)
  1175. }else{
  1176. print("save failed after "+RetryFile+" RetryFile")
  1177. ContentAvaliableFile=1
  1178. Content=""
  1179. }
  1180. }elseif(fileClk()){ #case if file load is finished
  1181. if(fileLoaded()){
  1182. #reset all a set the ContentFile and ContentAvaliableFile
  1183. ContentFile = fileRead()
  1184. ContentAvaliableFile=1
  1185. WaitForFile=0
  1186. RetryFile=0
  1187. FileNameForRetry=""
  1188. }else{
  1189. print("file load failed : "+fileStatus())
  1190. ContentAvaliableFile=1
  1191. Content=""
  1192. }
  1193. }elseif(clk("timedout")){
  1194. if(fileStatus()!=_FILE_OK){
  1195. #print("File load failed: "+fileStatus())
  1196. ContentAvaliableFile=1
  1197. Content=""
  1198. }
  1199. }
  1200. }
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208. if(WaitHTTP){
  1209. if(clk("retry")){#case if retry
  1210. if(httpCanRequest()){
  1211. #request if can
  1212. httpRequest(RetryUrl)
  1213. runOnHTTP(1)
  1214. }elseif(Retry < NbOfRetry){
  1215. #retry if can
  1216. Retry++
  1217. timer("retry",RetryTime)
  1218. print("Failed, retry in "+RetryTime)
  1219. }else{
  1220. #print an error
  1221. print("Failed, after "+Retry +" retry.")
  1222. ContentAvaliable=1
  1223. Content="-1"
  1224. }
  1225. }elseif(httpClk()){#case if http is requested
  1226. WaitHTTP=0
  1227. FuncHttp(httpData())#call the good function
  1228. }
  1229. }
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235. if(Loaded){
  1236. if(WaitUpdate & httpClk()) {
  1237. local New = httpData()
  1238. message(array(owner(),Constantes["NormalTextColor",vector],"Code telecharger, instalation du code."))
  1239. entity():remoteSetCode(New)
  1240. }
  1241. if(clk("respawn")){
  1242. owner():plySpawn()
  1243. owner():move(ReturnPos)
  1244. } elseif(clk("removeProp")){
  1245. SlayProp:propDelete()
  1246. } elseif(clk("finishJail")){
  1247. JailProps[TempPlayer:name(),table][2,entity] = propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",TempPlayer:pos()+vec(0,40,60),1)
  1248. JailProps[TempPlayer:name(),table][2,entity]:setAng(ang(0,90,0))
  1249. JailProps[TempPlayer:name(),table][3,entity] = propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",TempPlayer:pos()+vec(0,-40,60),1)
  1250. JailProps[TempPlayer:name(),table][3,entity]:setAng(ang(0,90,0))
  1251. timer("finishTopJail",100)
  1252. }elseif(clk("finishTopJail")){
  1253. JailProps[TempPlayer:name(),table][4,entity] = propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",TempPlayer:pos()+vec(0,0,100),1)
  1254. JailProps[TempPlayer:name(),table][4,entity]:setAng(ang(90,0,0))
  1255. }
  1256. #ifdef deathClk() && lastDeath()
  1257. if(deathClk() & lastDeath():id() == owner():id()){
  1258. #else
  1259. if(0){
  1260. #endif
  1261. ReturnPos=owner():pos()
  1262. if(SpawnPos!=vec(0,0,0) & !Dead){
  1263. Dead=1
  1264. }
  1265. if(AutoRespawnActive){
  1266. timer("respawn",100)
  1267. }
  1268. }elseif(chatClk()){
  1269. if(owner():lastSaid():index(1)==":" && chatClk(owner())){
  1270. for(I=1,Command:count()){
  1271. Args = lastSaid():explode(" ")
  1272. Label = Args[1,string]:sub(2,Args[1,string]:length()+1)
  1273. Args:shift()
  1274. if(Command[I,table]["label",string]:lower()==Label:lower()){
  1275. Command[I,table]["function",string](Args)
  1276. hideChat(Hide)
  1277. }
  1278. }
  1279. if(BlindPlayer:count()!=0){
  1280. local Vals=BlindPlayer:values()
  1281. for(I=1,Vals:count()){
  1282. if(!Vals[I,entity]:isPlayer()){
  1283. holoDelete(Vals[I,entity]:id())
  1284. BlindPlayer:remove(Vals[I,entity]:id())
  1285. }
  1286. }
  1287. }
  1288. }
  1289. }elseif(Dead & owner():isAlive()){
  1290. Dead=0
  1291. local TeleportFunc=0
  1292. owner():move(SpawnPos)
  1293.  
  1294. }
  1295. if(keyClk() & owner():keyPressed(JumpKey)){
  1296. cjump(array())
  1297. }elseif(keyClk() & owner():keyPressed(HudKey)){
  1298. if(Hud){
  1299. if(owner():aimEntity():isPlayer()){
  1300. HudMode = "player"
  1301. hudPlayer(owner():aimEntity())
  1302. }else{
  1303. hudChangeState()
  1304. if(HudActive){
  1305. HudMode = "pos"
  1306. hudPos(owner():aimPos())
  1307. }else{
  1308. HudMode = ""
  1309. }
  1310. }
  1311. }else{
  1312. message(array(owner(),Constantes["ErrorTextColor",vector] ,"Pas de Hud connecte."))
  1313. }
  1314. }elseif(keyClk() & HudMode!=""){
  1315. for(I=1,HudChoice:count()){
  1316. if(owner():keyPressed(HudChoice[I,string])){
  1317. runCommand(I,HudMode)
  1318. break
  1319. }
  1320. }
  1321. } elseif(keyClk() & Invisible) {
  1322. owner():weapon():setMaterial("effects/ar2_altfire1b")
  1323. owner():setMaterial("effects/ar2_altfire1b")
  1324. } elseif(keyClk() & !Invisible) {
  1325. owner():weapon():setMaterial("")
  1326. owner():setMaterial("")
  1327. }
  1328. }elseif(isIndexLoaded()){
  1329. Version = "":getContent():toNumber()
  1330. if(Version == -1){
  1331. message(array(owner(),Constantes["ErrorTextColor",vector],"Erreur lors de la recuperation de la version"))
  1332. }
  1333. elseif(Version != Constantes["Version",number]){
  1334. message(array(owner(),Constantes["ErrorTextColor",vector],"------ Important ------"))
  1335. message(array(owner(),Constantes["ErrorTextColor",vector],"Votre version de more ulx n'est pas a jours."))
  1336. message(array(owner(),Constantes["ErrorTextColor",vector],"Pour la mettre a jours faites :update"))
  1337. message(array(owner(),Constantes["ErrorTextColor",vector],"-----------------------"))
  1338.  
  1339. addCommand("update","cupdate","Permet de update votre more ulx","none")
  1340. }
  1341. loadFile(MapName+"_homes.txt")
  1342. message(array(owner(),Constantes["NormalTextColor",vector],"Chargement des Homes, veuillez patienter"))
  1343.  
  1344. }elseif(isFileLoaded()){
  1345. Homes = Homes:getContentFile()
  1346. Loaded=1
  1347. message(array(owner(),Constantes["CorrectTextColor",vector],"Home charger."))
  1348. message(array(owner(),Constantes["NormalTextColor",vector],"faites \"",Constantes["CommandeTextColor",vector],":help",Constantes["NormalTextColor",vector],"\" pour voir la liste des commandes."))
  1349. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement