Guest User

Untitled

a guest
Aug 14th, 2014
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.36 KB | None | 0 0
  1. /*
  2.  
  3.     ŠI MODDIFIKACIJA SUKURTA NAUJOKAMS, MOKYMOSI TIKSLAMS ARBA KT.
  4.     VIENINTELIS DEVELOPERIS example' (c) 2014
  5.  
  6.     KREDITUS NUTRYNĘS - SĄŽINĘ SUTEPSI
  7.  
  8. */
  9.  
  10.  
  11. #include <a_samp>
  12. #include <a_mysql>
  13. #include <MD5>
  14.  
  15. #define version "#new 0.0.1"
  16. #define world "mapname Las - Venturas"
  17.  
  18. #define host "localhost"
  19. #define user "root"
  20. #define db "new_gm"
  21. #define pass ""
  22.  
  23. #define calback: public
  24.  
  25. new
  26.     pTimer[ MAX_PLAYERS ],
  27.     bool:online[ MAX_PLAYERS ],
  28.     bool:login[ MAX_PLAYERS ],
  29.     bool:registered[ MAX_PLAYERS ]
  30. ;
  31.  
  32.  
  33. enum pData
  34. {
  35.     xp,
  36.     pinigai,
  37.     admin,
  38.     bool:vip,
  39.     skin
  40. }
  41. new playerDB[ MAX_PLAYERS ][ pData ] ;
  42.  
  43.  
  44. main()
  45. {
  46.     print( "    MODIFIKACIJA / ĮJUNGTA!" ) ;
  47. }
  48.  
  49.  
  50. calback: OnGameModeInit()
  51. {
  52.     SetGameModeText(version);
  53.     SendRconCommand(world);
  54.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  55.     mysql_debug( true ) ;
  56.     mysql_connect( host, user, db, pass ) ;
  57.     if( mysql_ping( ) > 1 ) print( "   + Prie mySQL duomenu bazes prisijungta!" ) ;
  58.     else print( "   - Prie mySQL duomenu bazes neprisijungta!" );
  59.     return 1;
  60. }
  61.  
  62. calback: OnGameModeExit()
  63. {
  64.     mysql_close( ) ;
  65.     return 1;
  66. }
  67.  
  68. calback: OnPlayerRequestClass(playerid, classid)
  69. {
  70.     new
  71.         playerQuery[ 128 ] ;
  72.     format( playerQuery, 128, "SELECT * FROM `new_gm` WHERE Vardas = '%s' ", zName( playerid ) ) ;
  73.     mysql_query( playerQuery ) ;
  74.     mysql_store_result( ) ;
  75.     if( mysql_num_rows( ) > 0 ) ShowPlayerDialog( playerid, 0, DIALOG_STYLE_PASSWORD, "Prisijungimas", "Sveiki.\n\nPrisijunkite:", "Prisijungti", "Atsaukti" ) ;
  76.     else ShowPlayerDialog( playerid, 1, DIALOG_STYLE_PASSWORD, "Registracija", "Sveiki.\n\nRegistruokites:", "Registruotis", "Atsaukti" ) ;
  77.     return 1;
  78. }
  79.  
  80. calback: OnPlayerConnect(playerid)
  81. {
  82.     return 1;
  83. }
  84.  
  85. calback: OnPlayerDisconnect(playerid, reason)
  86. {
  87.     savePlayerData( playerid ) ;
  88.     return 1;
  89. }
  90.  
  91. calback: OnPlayerSpawn(playerid)
  92. {
  93.     if( !online[ playerid ] ) return Kick( playerid ) ;
  94.     if( registered[ playerid ] ) // jeigu zaidejas ka tik uzsiregistravo ir paspaude mygtuka Spawn
  95.     {
  96.         pTimer[ playerid ] = SetTimerEx( "xpTIMERIS", 60*1000, true , "i" , playerid ) ;
  97.         savePlayerData( playerid ) ;
  98.         registered[ playerid ] = false ; // po siuo kodu nieko negalima daryti, tik virs registered[ playerid ] = false ;
  99.     }
  100.     if( login[ playerid ] ) // jeigu zaidejas ka tik prisijunge ir paspaude mygtuka Spawn
  101.     {
  102.         loadPlayerData( playerid ) ;
  103.         pTimer[ playerid ] = SetTimerEx( "xpTIMERIS", 60*1000, true , "i" , playerid ) ;
  104.         login[ playerid ] = false ; // po siuo kodu nieko negali daryti, tik virs login[ playerid ] = false ;
  105.     }
  106.     return 1;
  107. }
  108.  
  109. calback: OnPlayerDeath(playerid, killerid, reason)
  110. {
  111.     return 1;
  112. }
  113.  
  114. calback: OnVehicleSpawn(vehicleid)
  115. {
  116.     return 1;
  117. }
  118.  
  119. calback: OnVehicleDeath(vehicleid, killerid)
  120. {
  121.     return 1;
  122. }
  123.  
  124. calback: OnPlayerText(playerid, text[])
  125. {
  126.     return 1;
  127. }
  128.  
  129. calback: OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  130. {
  131.     return 1;
  132. }
  133.  
  134. calback: OnPlayerExitVehicle(playerid, vehicleid)
  135. {
  136.     return 1;
  137. }
  138.  
  139. calback: OnPlayerStateChange(playerid, newstate, oldstate)
  140. {
  141.     return 1;
  142. }
  143.  
  144. calback: OnPlayerEnterCheckpoint(playerid)
  145. {
  146.     return 1;
  147. }
  148.  
  149. calback: OnPlayerLeaveCheckpoint(playerid)
  150. {
  151.     return 1;
  152. }
  153.  
  154. calback: OnPlayerEnterRaceCheckpoint(playerid)
  155. {
  156.     return 1;
  157. }
  158.  
  159. calback: OnPlayerLeaveRaceCheckpoint(playerid)
  160. {
  161.     return 1;
  162. }
  163.  
  164. calback: OnRconCommand(cmd[])
  165. {
  166.     return 1;
  167. }
  168.  
  169. calback: OnPlayerRequestSpawn(playerid)
  170. {
  171.     if( !online[ playerid ] ) return SendClientMessage( playerid, -1, "Turite prisijungti/prisiregistruoti" ) ;
  172.     return 1;
  173. }
  174.  
  175. calback: OnObjectMoved(objectid)
  176. {
  177.     return 1;
  178. }
  179.  
  180. calback: OnPlayerObjectMoved(playerid, objectid)
  181. {
  182.     return 1;
  183. }
  184.  
  185. calback: OnPlayerPickUpPickup(playerid, pickupid)
  186. {
  187.     return 1;
  188. }
  189.  
  190. calback: OnVehicleMod(playerid, vehicleid, componentid)
  191. {
  192.     return 1;
  193. }
  194.  
  195. calback: OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. calback: OnVehicleRespray(playerid, vehicleid, color1, color2)
  201. {
  202.     return 1;
  203. }
  204.  
  205. calback: OnPlayerSelectedMenuRow(playerid, row)
  206. {
  207.     return 1;
  208. }
  209.  
  210. calback: OnPlayerExitedMenu(playerid)
  211. {
  212.     return 1;
  213. }
  214.  
  215. calback: OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  216. {
  217.     return 1;
  218. }
  219.  
  220. calback: OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  221. {
  222.     return 1;
  223. }
  224.  
  225. calback: OnRconLoginAttempt(ip[], password[], success)
  226. {
  227.     return 1;
  228. }
  229.  
  230. calback: OnPlayerUpdate(playerid)
  231. {
  232.     return 1;
  233. }
  234.  
  235. calback: OnPlayerStreamIn(playerid, forplayerid)
  236. {
  237.     return 1;
  238. }
  239.  
  240. calback: OnPlayerStreamOut(playerid, forplayerid)
  241. {
  242.     return 1;
  243. }
  244.  
  245. calback: OnVehicleStreamIn(vehicleid, forplayerid)
  246. {
  247.     return 1;
  248. }
  249.  
  250. calback: OnVehicleStreamOut(vehicleid, forplayerid)
  251. {
  252.     return 1;
  253. }
  254.  
  255. calback: OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  256. {
  257.     switch( dialogid )
  258.     {
  259.     case 0:
  260.         {
  261.             if( response )
  262.             {
  263.                 new
  264.                     playerQuery[ 128 ] ;
  265.                 format(playerQuery,sizeof(playerQuery),"SELECT * FROM `new_gm` WHERE Vardas='%s' AND Slaptazodis='%s'", zName( playerid ), MD5_Hash( inputtext ) ) ;
  266.                 mysql_query( playerQuery ) ;
  267.                 mysql_store_result( ) ;
  268.                 if( mysql_num_rows( ) == 0 )
  269.                 {
  270.                     SendClientMessage( playerid, -1, "Suvestas slaptažodis neteisingas!" ) ;
  271.                     ShowPlayerDialog( playerid, 0, DIALOG_STYLE_PASSWORD, "Prisijungimas", "Sveiki.\n\nPrisijunkite:", "Prisijungti", "Atsaukti" ) ;
  272.                 }
  273.                 else
  274.                 {
  275.                     login [ playerid ] = true;
  276.                     online [ playerid ] = true;
  277.                 }
  278.                 mysql_free_result();   
  279.             }
  280.         }
  281.         case 1:
  282.         {
  283.             if( response )
  284.             {
  285.                 new playerQuery [ 128 ];
  286.                 if( strlen( inputtext ) < 5 )
  287.                 {
  288.                     SendClientMessage( playerid, -1, "Slaptažodis turi būti sudarytas bent iš 5 simbolių!" ) ;
  289.                     ShowPlayerDialog( playerid, 1, DIALOG_STYLE_PASSWORD, "Registracija", "Sveiki.\n\nRegistruokites:", "Registruotis", "Atsaukti" ) ;
  290.                 }
  291.                 else
  292.                 {
  293.                     format( playerQuery, sizeof(playerQuery), "INSERT INTO new_gm (Vardas, Slaptazodis) VALUES ( '%s', '%s' )", zName ( playerid ) , MD5_Hash(inputtext) ) ;
  294.                     mysql_query( playerQuery ) ;
  295.                     registered [ playerid ] = true;
  296.                     online [ playerid ] = true;
  297.                 }
  298.             }
  299.             else Kick( playerid ) ;
  300.         }
  301.     }
  302.     return 1;
  303.  
  304. }
  305.  
  306. calback: OnPlayerClickPlayer(playerid, clickedplayerid, source)
  307. {
  308.     return 1;
  309. }
  310.  
  311. // funkcijos
  312. stock zName( playerid )
  313. {
  314.     new
  315.         pName[ MAX_PLAYER_NAME+1 ] ;
  316.     GetPlayerName( playerid, pName, MAX_PLAYER_NAME+1  ) ;
  317.     return pName ;
  318. }
  319.  
  320. stock loadPlayerData( playerid )
  321. {
  322.     new
  323.         Float:gpPos[3],
  324.         lQuery[100],
  325.         swx[ 500 ]
  326.     ;
  327.  
  328.     format(lQuery, sizeof(lQuery), "SELECT * FROM `new_gm` WHERE `Vardas` = '%s'", zName(playerid));
  329.     mysql_query(lQuery);
  330.     mysql_store_result();
  331.  
  332.     if(mysql_num_rows() != 0)
  333.     {
  334.         mysql_fetch_row(swx);
  335.         mysql_fetch_field_row(lQuery, "xp"); SetPlayerScore(playerid, strval(lQuery));
  336.         mysql_fetch_field_row(lQuery, "pinigai"); GivePlayerMoney( playerid, strval( lQuery ) ) ;
  337.         mysql_fetch_field_row(lQuery, "vip"); playerDB[playerid][vip] = !!strval(lQuery);
  338.         mysql_fetch_field_row(lQuery, "admin"); playerDB[playerid][admin] = strval(lQuery);
  339.         mysql_fetch_field_row(lQuery, "skin"); playerDB[playerid][skin] = strval(lQuery);
  340.         mysql_fetch_field_row(lQuery, "pos_X"); gpPos[0] = floatstr(lQuery);
  341.         mysql_fetch_field_row(lQuery, "pos_Y"); gpPos[1] = floatstr(lQuery);
  342.         mysql_fetch_field_row(lQuery, "pos_Z"); gpPos[2] = floatstr(lQuery);
  343.         SetPlayerPos(playerid, gpPos[0], gpPos[1], gpPos[2]+1);
  344.     }
  345.     mysql_free_result();
  346.  
  347.     printf( "[ LOAD ] %s žaidėjas pakraunamas .", zName( playerid ) ) ;
  348. }
  349.  
  350. stock savePlayerData( playerid )
  351. {
  352.     new
  353.         zQuery[350],
  354.         Float:gpPos[3]
  355.     ;
  356.  
  357.     GetPlayerPos(playerid, gpPos[0], gpPos[1], gpPos[2]);
  358.     format(zQuery, sizeof(zQuery), "UPDATE `new_gm` SET `pos_X` = '%f', `pos_Y` = '%f', pos_Z = '%f', `xp` = '%d', `pinigai` = '%d', skin = '%d' WHERE `Vardas` = '%s'", gpPos[0], gpPos[1],gpPos[2],playerDB[playerid ][ xp ], playerDB[ playerid ][ pinigai ], playerDB[ playerid ][ skin ], zName(playerid));
  359.     mysql_query(zQuery);
  360.     format( zQuery, sizeof( zQuery ), "UPDATE `new_gm` SET admin = '%i', vip = '%i' WHERE Vardas = '%s' ", playerDB[ playerid ][admin], playerDB[ playerid ][ vip ], zName( playerid ) ) ;
  361.     mysql_query( zQuery ) ;
  362.  
  363.     printf( "[ SAVE ] %s žaidėjas išsaugomas .", zName( playerid ) ) ;
  364. }
  365.  
  366. // public
  367. forward xpTIMERIS( playerid, score ) ;
  368. calback: xpTIMERIS( playerid, score ) { SetPlayerScore( playerid, GetPlayerScore( playerid )+score ) ; }
Advertisement
Add Comment
Please, Sign In to add comment