Guest User

Untitled

a guest
Feb 27th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.84 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. // COLOURS FOR CLIENTMESSAGES
  6.  
  7. //PLAYER SPAWN MONEY
  8.  
  9.  
  10.  
  11. #include <a_samp>
  12. #include <dini>
  13. #include <ocmd>
  14. #include <sscanf2>
  15.  
  16. // HP TIMER//
  17. forward HPTimer(); //forward goes above OnFilterScriptInit()
  18. //
  19.  
  20. //COLOURS//
  21. #define lightblue 0x007DFFFF
  22. #define green 0x00FF3CFF
  23. #define red 0xF50000FF
  24. #define yellow 0xFFF000FF
  25.  
  26. //DIALOGES//
  27. #define DIALOG_BSN_EAT 1 // 1 for the first Dialog
  28. #define DIALOG_REGISTER 2 //when connecting
  29. #define DIALOG_LOGIN 3
  30.  
  31.  
  32. #if defined FILTERSCRIPT
  33.  
  34. public OnFilterScriptInit()
  35. {
  36. print("\n--------------------------------------");
  37. print(" Blank Filterscript by your name here");
  38. print("--------------------------------------\n");
  39. return 1;
  40. }
  41.  
  42.  
  43. public OnFilterScriptExit()
  44. {
  45. return 1;
  46. }
  47.  
  48. #else
  49. //BurgerShot Nord
  50. new bsnenter;
  51. new bsnexit;
  52. new bsnpickupeat;
  53.  
  54. //
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. main()
  62. {
  63. print("\n----------------------------------");
  64. print(" Blank Gamemode by your name here");
  65. print("----------------------------------\n");
  66. }
  67.  
  68. #endif
  69.  
  70.  
  71.  
  72.  
  73. public OnGameModeInit()
  74. {
  75. //PICKUP FOR ENTERING BUILDINGS
  76. //BSN
  77. bsnenter=CreatePickup(1318,1,1199.5436,-918.6185,43.1177);
  78. bsnexit=CreatePickup(1318,1,362.8422,-75.1400,1001.5078);
  79. bsnpickupeat=CreatePickup(1239,1,377.3936,-67.9661,1001.5151);
  80. Create3DTextLabel("Type /get food to eat.",lightblue,377.3936,-67.9661,1001.5151,10,0);
  81. //NO Interiors
  82. DisableInteriorEnterExits();
  83. // Don't use these lines if it's a filterscript
  84. UsePlayerPedAnims();
  85. SetGameModeText("Blank Script");
  86. //------------------------[PLAYER CLASS SELECTION]--------------------------
  87. AddPlayerClass(1,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  88. AddPlayerClass(6,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  89. AddPlayerClass(7,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  90. AddPlayerClass(22,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  91. AddPlayerClass(39,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  92. AddPlayerClass(101,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  93. AddPlayerClass(135,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  94. AddPlayerClass(4,1728.8132,-1111.8784,24.0859,179.3718,0,0,0,0,0,0);
  95. AddPlayerClass(5,1728.8132,-1111.8784,24.0859,179.3718,38,600,0,0,0,0);
  96. //---------------------------[SERVER VEHICLES RANDOM FOOR ALL]------------------------------
  97. AddStaticVehicle(429,1232.2089,-925.7410,42.3040,99.1981,14,14);
  98. AddStaticVehicle(481,1735.9449,-1129.8723,23.5980,265.9641,1,1); // SPAWNBIKE 1
  99. AddStaticVehicle(481,1736.6962,-1121.7760,23.6053,357.4325,1,1); // SPAWNBIKE 2
  100. AddStaticVehicle(481,1721.5541,-1120.7041,23.6004,89.8596,1,1); // SPAWNBIKE 3
  101. AddStaticVehicle(481,1721.2747,-1126.9692,23.6023,90.8709,1,1); // SPAWNBIKE 4
  102. AddStaticVehicle(481,1721.2085,-1122.8856,23.6015,83.5050,1,1); // SPAWNBIKE 5
  103. //---------------------------[TIMERS]------------------------------
  104. SetTimer("HPTimer",1000000,1); //interval has to be in milliseconds. and repeating 1 or true
  105. return 1;
  106. }
  107.  
  108.  
  109.  
  110. public OnGameModeExit()
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnPlayerRequestClass(playerid, classid)
  116. {
  117. SetPlayerPos(playerid,2106.5654,1788.9365,10.6719);
  118. SetPlayerFacingAngle(playerid,245.1837);
  119. SetPlayerCameraPos(playerid,2111.6599,1786.5791,10.6719);
  120. SetPlayerCameraLookAt(playerid,2106.5654,1788.9365,10.6719);
  121. return 1;
  122. }
  123.  
  124. public OnPlayerConnect(playerid)
  125. {
  126. new Spielerdatei[64];
  127. new name[MAX_PLAYER_NAME];
  128. GetPlayerName(playerid,name,sizeof(name));
  129. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); //s steht für string für spielername
  130. if(dini_Exists(Spielerdatei))
  131. {
  132. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account has been found. Please enter your password.","Login","Cancel");
  133. }
  134. else
  135. {
  136. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registering","Choose a password:","Register!","Cancel");
  137. new string[64], pName[MAX_PLAYER_NAME];
  138. GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  139. format(string,sizeof string,"%s has joined the server. Welcome!",pName);
  140. SendClientMessageToAll(0xFEFEFEFF,string);
  141. }
  142. return 1;
  143. }
  144.  
  145. public OnPlayerDisconnect(playerid, reason)
  146. {
  147. if(GetPVarInt(playerid,"loggedin")==1)
  148. {
  149. SpielerSpeichern(playerid);//Spieler Speichern
  150. }
  151. return 1;
  152. }
  153.  
  154. public OnPlayerSpawn(playerid)
  155. {
  156. new Spielerdatei[64];
  157. new name[MAX_PLAYER_NAME];
  158. GetPlayerName(playerid,name,sizeof(name));
  159. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); //s steht für string für spielername
  160. if(!dini_Exists(Spielerdatei))
  161. {
  162. GivePlayerMoney(playerid,4000);
  163. }
  164. return 1;
  165. }
  166.  
  167. public OnPlayerDeath(playerid, killerid, reason)
  168. {
  169. return 1;
  170. }
  171.  
  172. public OnVehicleSpawn(vehicleid)
  173. {
  174. return 1;
  175. }
  176.  
  177. public OnVehicleDeath(vehicleid, killerid)
  178. {
  179. return 1;
  180. }
  181.  
  182. public OnPlayerText(playerid, text[])
  183. {
  184. return 1;
  185. }
  186.  
  187. //ADMIN Commands
  188.  
  189. ocmd:kick(playerid,params[]) //kick ist befehl an sich, params ist alles was nach /kick eingegeben wird)
  190. {
  191. new pID, reason[128],string[128]; //spieler ID und Grund für den kick [ ist die größe des textes]
  192. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,lightblue,"Usage: /kick [id] [reason]");
  193. format(string,sizeof(string),"AdminCmd: %s was kicked by %s. Reason: %s",SpielerName(pID),SpielerName(playerid),reason);
  194. SendClientMessageToAll(red,string);
  195. Kick(pID);
  196. return 1;
  197. }
  198.  
  199.  
  200. public OnPlayerCommandText(playerid, cmdtext[])
  201. {
  202. if(strcmp(cmdtext,"/restart server",true)==0)
  203. {
  204. if(isPlayerAnAdmin(playerid,3))
  205. {
  206. SendRconCommand("gmx");
  207. return 1;
  208. }
  209. }
  210. if(strcmp(cmdtext,"/golspd",true)==0)
  211. {
  212. if(isPlayerAnAdmin(playerid,3))
  213. {
  214.  
  215. if(IsPlayerInAnyVehicle(playerid))//Checks if player is in vehilce
  216. {
  217. SetVehiclePos(GetPlayerVehicleID(playerid),1520.0825,-1698.6149,13.2266);
  218. SendClientMessage(playerid,0x91FF00FF,"You have been teleported to LSPD");
  219. }
  220. else
  221. {
  222. SetPlayerPos(playerid,1520.0825,-1698.6149,13.2266);
  223. SendClientMessage(playerid,0x91FF00FF,"You have been teleported to LSPD");
  224. }
  225. }
  226. return 1;
  227. }
  228. if(strcmp(cmdtext,"/gobsn",true)==0)
  229. {
  230. if(IsPlayerInAnyVehicle(playerid))//Checks if player is in vehilce
  231. {
  232. SetVehiclePos(GetPlayerVehicleID(playerid),1211.9602,-928.9319,42.5061);
  233. SendClientMessage(playerid,0x91FF00FF,"You have been teleported to BSN");
  234. }
  235. else
  236. {
  237. SetPlayerPos(playerid,1211.9602,-928.9319,42.5061);
  238. SendClientMessage(playerid,0x91FF00FF,"You have been teleported to BSN");
  239. }
  240. return 1;
  241. }
  242. if(strcmp(cmdtext,"/get food",true)==0)
  243. {
  244. if(IsPlayerInRangeOfPoint(playerid,6.0,377.3936,-67.9661,1001.5151))
  245. {
  246. ShowPlayerDialog(playerid,DIALOG_BSN_EAT,DIALOG_STYLE_MSGBOX,"Special offer of the today:","Our special offer for today is the BIG MAC!\nIt cost's 150$.\nDo you want to buy it?","Buy it!","No, thanks");
  247. }
  248. else
  249. {
  250.  
  251. }
  252. return 1;
  253. }
  254. if(strcmp(cmdtext,"/stats",true)==0)
  255. {
  256. new string[128];
  257. new fraktname[64];
  258. switch(GetPVarInt(playerid,"Fraktion"))
  259. {
  260. case 0:{fraktname="Keine";}//Wenn fraktion 0 ist
  261. case 1:{fraktname="Fraktname 1";}
  262. case 2:{fraktname="Fraktname 2";}
  263. case 3:{fraktname="Fraktname 3";}
  264. }
  265. //1 Reihe
  266. format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
  267. SendClientMessage(playerid, lightblue, string);
  268. //2 Reihe
  269. return 1;
  270. }
  271. return 0;
  272. }
  273.  
  274. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  275. {
  276. return 1;
  277. }
  278.  
  279. public OnPlayerExitVehicle(playerid, vehicleid)
  280. {
  281. return 1;
  282. }
  283.  
  284. public OnPlayerStateChange(playerid, newstate, oldstate)
  285. {
  286. return 1;
  287. }
  288.  
  289. public OnPlayerEnterCheckpoint(playerid)
  290. {
  291. return 1;
  292. }
  293.  
  294. public OnPlayerLeaveCheckpoint(playerid)
  295. {
  296. return 1;
  297. }
  298.  
  299. public OnPlayerEnterRaceCheckpoint(playerid)
  300. {
  301. return 1;
  302. }
  303.  
  304. public OnPlayerLeaveRaceCheckpoint(playerid)
  305. {
  306. return 1;
  307. }
  308.  
  309. public OnRconCommand(cmd[])
  310. {
  311. return 1;
  312. }
  313.  
  314. public OnPlayerRequestSpawn(playerid)
  315. {
  316. return 1;
  317. }
  318.  
  319. public OnObjectMoved(objectid)
  320. {
  321. return 1;
  322. }
  323.  
  324. public OnPlayerObjectMoved(playerid, objectid)
  325. {
  326.  
  327. return 1;
  328. }
  329.  
  330. public OnPlayerPickUpPickup(playerid, pickupid)
  331. {
  332. if(pickupid==bsnenter)
  333. {
  334. SetPlayerPos(playerid,366.7109,-73.7267,1001.5078);
  335. SetPlayerInterior(playerid,10);
  336. GameTextForPlayer(playerid,"~w~You have ~r~entered ~g~the bsn.",3000,5);
  337. }
  338. if(pickupid==bsnexit)
  339. {
  340. SetPlayerPos(playerid,1198.0558,-921.6335,43.0405);
  341. SetPlayerFacingAngle(playerid,154.9663);
  342. SetCameraBehindPlayer(playerid);
  343. SetPlayerInterior(playerid,0);
  344. }
  345. if(pickupid==bsnpickupeat)
  346. {
  347.  
  348. }
  349. return 1;
  350. }
  351.  
  352. public OnVehicleMod(playerid, vehicleid, componentid)
  353. {
  354. return 1;
  355. }
  356.  
  357. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  358. {
  359. return 1;
  360. }
  361.  
  362. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  363. {
  364. return 1;
  365. }
  366.  
  367. public OnPlayerSelectedMenuRow(playerid, row)
  368. {
  369. return 1;
  370. }
  371.  
  372. public OnPlayerExitedMenu(playerid)
  373. {
  374. return 1;
  375. }
  376.  
  377. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  378. {
  379. return 1;
  380. }
  381.  
  382. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  383. {
  384. return 1;
  385. }
  386.  
  387. public OnRconLoginAttempt(ip[], password[], success)
  388. {
  389. return 1;
  390. }
  391.  
  392. public OnPlayerUpdate(playerid)
  393. {
  394. return 1;
  395. }
  396.  
  397. public OnPlayerStreamIn(playerid, forplayerid)
  398. {
  399. return 1;
  400. }
  401.  
  402. public OnPlayerStreamOut(playerid, forplayerid)
  403. {
  404. return 1;
  405. }
  406.  
  407. public OnVehicleStreamIn(vehicleid, forplayerid)
  408. {
  409. return 1;
  410. }
  411.  
  412. public OnVehicleStreamOut(vehicleid, forplayerid)
  413. {
  414. return 1;
  415. }
  416. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  417. {
  418. if(dialogid==DIALOG_LOGIN)
  419. {
  420. if(response==0)
  421. {
  422. SendClientMessage(playerid,red,"You have cancelled the process.");
  423. Kick(playerid);
  424. return 1;
  425. }
  426. if(response==1)
  427. {
  428. if(!strlen(inputtext)) // If he is not writing anything..
  429. {
  430. SendClientMessage(playerid, yellow, "Password is too short.");
  431. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account has been found. Please enter your password.","Login","Cancel");
  432. return 1;
  433. }
  434. else
  435. {
  436. Login(playerid,inputtext);
  437. return 1;
  438. }
  439. }
  440. }
  441. if(dialogid==DIALOG_REGISTER)
  442. {
  443. if(response==0)
  444. {
  445. SendClientMessage(playerid,red,"You have cancelled the process.");
  446. Kick(playerid);
  447. return 1;
  448. }
  449. if(response==1)
  450. {
  451. if(!strlen(inputtext)) // If he is not writing anything..
  452. {
  453. SendClientMessage(playerid, yellow, "Password is too short.");
  454. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registering","Please choose a password:","Register","Cancel"); //to show back dialoge
  455. return 1;
  456. }
  457. else
  458. {
  459. Register(playerid,inputtext);
  460. return 1;
  461. }
  462. }
  463. }
  464. if(dialogid==DIALOG_BSN_EAT)
  465. {
  466. if(response==1)
  467. {
  468. new Float:hp;
  469. GetPlayerHealth(playerid,hp);
  470. if(hp<=99)
  471. {
  472. SendClientMessage(playerid, green, "Thanks for buying it! Enjoy it");
  473. SetPlayerHealth(playerid,hp+17.5);
  474. GivePlayerMoney(playerid,-150);
  475. }
  476. else
  477. {
  478. SendClientMessage(playerid,green,"You are full already!");
  479. }
  480. }
  481. if(response==0)
  482. {
  483.  
  484. }
  485. }
  486. return 1;
  487. }
  488.  
  489. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  490. {
  491. return 1;
  492. }
  493.  
  494. // HP TIMER1//
  495. public HPTimer() //Timers are run as publics, required to be forwarded
  496. {
  497. for(new i = 0; i < MAX_PLAYERS; i++) //loops through All players
  498. {
  499. if(IsPlayerConnected(i))//if they are not connected it will not work for them
  500. {
  501. new Float:hptime; //Float for their current hp
  502. GetPlayerHealth(i,hptime);//Get their HP and saves it as the HP FLOAT
  503. SetPlayerHealth(i,hptime -4.00);//Will minus their hp by 4 every 10 sec
  504. }
  505. }
  506. }
  507. //REGISTERING//
  508. stock Register(playerid, key[]) //angeben was angegeben werden muss
  509. {
  510. new Spielerdatei[64];
  511. new name[MAX_PLAYER_NAME];
  512. GetPlayerName(playerid,name,sizeof(name));
  513. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); //s steht für string für spielername
  514. dini_Create(Spielerdatei);
  515. dini_Set(Spielerdatei,"Password",key);
  516. SendClientMessage(playerid,yellow,"Successfully registered!");
  517. SetPlayerScore(playerid,0); //wollen das er level 0 hatw
  518. SetPVarInt(playerid,"loggedin",1);
  519. return 1;
  520. }
  521. //LOGGIN IN//
  522. stock Login(playerid,key[])
  523. {
  524. new Spielerdatei[64];
  525. new name[MAX_PLAYER_NAME];
  526. GetPlayerName(playerid,name,sizeof(name));
  527. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); //s steht für string für spielername
  528. if(!strcmp(key,dini_Get(Spielerdatei,"Password"),true)) //überprüft ob key und password übereinstimme bei false achtet auf groß und kleinund groß schreibung
  529. {
  530. LoadAccount(playerid);
  531. SendClientMessage(playerid,yellow,"Successful login");
  532. return 1;
  533. }
  534. else
  535. {
  536. SendClientMessage(playerid, red, "Wrong password.");
  537. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account has been found. Please enter your password.","Login","Cancel");
  538. return 1;
  539. }
  540. }
  541.  
  542. stock LoadAccount(playerid)
  543. {
  544. new Spielerdatei[64];
  545. new name[MAX_PLAYER_NAME];
  546. GetPlayerName(playerid,name,sizeof(name));
  547. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); //
  548. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level")); //Score wird zurückgesetzt
  549. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  550. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  551. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  552. SetPVarInt(playerid,"loggedin",1);
  553. //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel"); //gespeichert und ausgelesen
  554. //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
  555. return 1;
  556. }
  557.  
  558. stock SpielerSpeichern(playerid)
  559. {
  560. new Spielerdatei[64];
  561. new name[MAX_PLAYER_NAME];
  562. GetPlayerName(playerid,name,sizeof(name));
  563. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  564. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  565. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  566. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  567. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  568. return 1;
  569. }
  570.  
  571. stock isPlayerAnAdmin(playerid, rang)
  572. {
  573. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  574. return 0;
  575. }
  576.  
  577. stock SpielerName(playerid)
  578. {
  579. new name[MAX_PLAYER_NAME];
  580. GetPlayerName(playerid,name,sizeof(name));
  581. return name;
  582. }
Advertisement
Add Comment
Please, Sign In to add comment