Guest User

Event sistem

a guest
Jun 24th, 2012
1,586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.01 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define FILTERSCRIPT
  4.  
  5. enum EINFO{Float:P1,Float:P2,Float:P3,Float:P4,Aberto,Criado,Carro,Arma[13],Balas[13],Mundo,Interior,cde[MAX_VEHICLES]};
  6. new EventoInfo[EINFO];
  7. new Float:POS[4];
  8. new InEvento[MAX_PLAYERS];
  9.  
  10. main ()
  11. {
  12.     print("FS Event By Jaime_Sta , Preveo Marin_Mandic"); // Ne uklanjaj Credits-e. Hvala
  13.     return 1;
  14. }
  15.  
  16. public OnFilterScriptInit()
  17. {
  18.     print("FS Event By Jaime_Star , Preveo Marin_Mandic");// Ne uklanjaj Credits-e. Hvala
  19.     return 1;
  20. }
  21.  
  22. public OnFilterScriptExit()
  23. {
  24.     return 1;
  25. }
  26.  
  27. public OnPlayerCommandText(playerid,cmdtext[])
  28. {
  29.     new cmd[128],idx,tmp[128];
  30.     cmd = strtok(cmdtext,idx);
  31.  
  32.     if(!strcmp(cmd,"/infoevent",true))
  33.     {
  34.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  35.         SendClientMessage(playerid,0xFF0000FF,"Komande: /napravievent /otvorievent /zatvorievent /eventauta /eventoruzije /zavrsievent");
  36.         SendClientMessage(playerid,0xFF0000FF,"Komande: /izbaci /napustievent");
  37.         SendClientMessage(playerid,0xFF0000FF,"Credits: Napravio Jaime_Star, Preveo Marin_Mandic");
  38.         return 1;
  39.     }
  40.     if(!strcmp(cmd,"/napravievent",true))
  41.     {
  42.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  43.         if(EventoInfo[Criado] == 1)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Vec je napravljen event");
  44.         GetPlayerPos(playerid,POS[0],POS[1],POS[2]); GetPlayerFacingAngle(playerid,POS[3]);
  45.         EventoInfo[P1] = Float:POS[0];
  46.         EventoInfo[P2] = Float:POS[1];
  47.         EventoInfo[P3] = Float:POS[2];
  48.         EventoInfo[P4] = Float:POS[3];
  49.  
  50.         EventoInfo[Interior] = GetPlayerInterior(playerid);
  51.         EventoInfo[Mundo] = GetPlayerVirtualWorld(playerid);
  52.         for(new i,k=13; i != k; ++i)
  53.         {
  54.             GetPlayerWeaponData(playerid,i,EventoInfo[Arma][i],EventoInfo[Balas][i]);
  55.         }
  56.         if(IsPlayerInAnyVehicle(playerid))
  57.         {
  58.             EventoInfo[Carro] = GetVehicleModel(GetPlayerVehicleID(playerid));
  59.         }
  60.         EventoInfo[Criado] = 1;
  61.         EventoInfo[Aberto] = 0;
  62.         SendClientMessage(playerid,0x00FF00FF,"[INFO]: Event je spreman za otvaranje ( /otvorievent )");
  63.         return 1;
  64.     }
  65.     if(!strcmp(cmd,"/otvorievent",true))
  66.     {
  67.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  68.         if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Nije napravljen event ( /napravievent ) da ga stvoris");
  69.         EventoInfo[Aberto] = 1;
  70.         SendClientMessage(playerid,0x00FF00FF,"[INFO]: Event je uspijesno otvoren!");
  71.         return 1;
  72.     }
  73.     if(!strcmp(cmd,"/zatvorievent",true))
  74.     {
  75.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA: Samo RCON admini smiju koristiti ovo");
  76.         if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Nije event napravljen!");
  77.         if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Event je vec zatvoren");
  78.         EventoInfo[Aberto] = 0;
  79.         SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Event was opened");
  80.         return 1;
  81.     }
  82.     if(!strcmp(cmd,"/event",true))
  83.     {
  84.         if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Nema napravljenog eventa!");
  85.         if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Event nije jos otvoren");
  86.         InEvento[playerid] = 1;
  87.         SetPlayerPos(playerid,EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]);
  88.         SetPlayerFacingAngle(playerid,EventoInfo[P4]);
  89.         SetPlayerInterior(playerid,EventoInfo[Interior]);
  90.         SetPlayerVirtualWorld(playerid,EventoInfo[Mundo]);
  91.         for(new i, k = 13; i != k; ++i)
  92.         {
  93.             GivePlayerWeapon(playerid,EventoInfo[Arma][i],EventoInfo[Balas][i]);
  94.         }
  95.         if(EventoInfo[Carro] >= 400 && EventoInfo[Carro] <= 611)
  96.         {
  97.             new car;
  98.             car = CreateVehicle(EventoInfo[Carro],EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]+5,EventoInfo[P4],-1,-1,-1);
  99.             PutPlayerInVehicle(playerid,car,0);
  100.             SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
  101.             LinkVehicleToInterior(car,EventoInfo[Interior]);
  102.             EventoInfo[cde][car] = 1;
  103.         }
  104.         return 1;
  105.     }
  106.     if(!strcmp(cmd,"/zavrsievent",true))
  107.     {
  108.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  109.         if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Event nije napravljen jos!");
  110.         for(new i, x = GetMaxPlayers(); i != x; ++i)
  111.         {
  112.             if(IsPlayerConnected(i) && InEvento[i] == 1)
  113.             {
  114.                 SpawnPlayer(i);
  115.                 InEvento[i] = 0;
  116.             }
  117.         }
  118.         for(new k, a = MAX_VEHICLES; k != a; ++k)
  119.         {
  120.             if(EventoInfo[cde][k] == 1)
  121.             {
  122.                 DestroyVehicle(k);
  123.             }
  124.         }
  125.         EventoInfo[Carro] = 0;
  126.         EventoInfo[Criado] = 0;
  127.         EventoInfo[Aberto] = 0;
  128.         SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Event je zavrsio");
  129.         return 1;
  130.     }
  131.     if(!strcmp(cmd,"/eventoruzije",true))
  132.     {
  133.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  134.         tmp = strtok(cmdtext,idx);
  135.         if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Koristi: /eventoruzije [ID oruzija] [meci]");
  136.         new arma,balas;
  137.         arma = strval(tmp);
  138.         if(arma > 46)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Neispravno oruzije");
  139.         tmp = strtok(cmdtext,idx);
  140.         if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Koristi: /eventoruzije [ID oruzija] [meci");
  141.         balas = strval(tmp);
  142.         for(new i, x = GetMaxPlayers(); i != x; ++i)
  143.         {
  144.             if(IsPlayerConnected(i) && InEvento[i] == 1)
  145.             {
  146.                 GivePlayerWeapon(i,arma,balas);
  147.              }
  148.         }
  149.         return 1;
  150.     }
  151.     if(!strcmp(cmd,"/eventauta",true))
  152.     {
  153.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  154.         tmp = strtok(cmdtext,idx);
  155.         if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Koristi: /eventauta [ID auta]");
  156.         new carro = strval(tmp);
  157.         if(carro < 400 || carro > 611)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Neispravno vozilo (koristi ID od 400-611)");
  158.         new Float:GPOS[4];
  159.         for(new i, x = GetMaxPlayers(); i != x; ++i)
  160.         {
  161.             if(IsPlayerConnected(i) && InEvento[i] == 1 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  162.             {
  163.             GetPlayerPos(playerid,GPOS[0],GPOS[1],GPOS[2]);
  164.             GetPlayerFacingAngle(playerid,GPOS[3]);
  165.             new car = CreateVehicle(carro,GPOS[0],GPOS[1],GPOS[2]+3,GPOS[3],-1,-1,-1);
  166.             SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
  167.             LinkVehicleToInterior(car,EventoInfo[Interior]);
  168.             PutPlayerInVehicle(i,car,0);
  169.             EventoInfo[cde][GetPlayerVehicleID(i)] = 1;
  170.             }
  171.         }
  172.         return 1;
  173.     }
  174.     if(!strcmp(cmd,"/izbacit",true))
  175.     {
  176.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Samo RCON admini smiju koristiti ovo");
  177.         tmp = strtok(cmdtext,idx);
  178.         if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Koristi: /izabaci [id]");
  179.         new id = strval(tmp);
  180.         if(!IsPlayerConnected(id))return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Igrac je offline ili neispravan ID");
  181.         if(InEvento[id] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Igrac nije na eventu");
  182.         InEvento[id] = 0;
  183.         SpawnPlayer(id);
  184.         SetPlayerVirtualWorld(id,0);
  185.         SetPlayerInterior(id,0);
  186.         return 1;
  187.     }
  188.     if(!strcmp(cmd,"/napustievent",true))
  189.     {
  190.         if(InEvento[playerid] == 0)return SendClientMessage(playerid,0xFF0000FF,"[GRESKA]: Nisi na eventu");
  191.         SpawnPlayer(playerid);
  192.         SetPlayerVirtualWorld(playerid,0);
  193.         SetPlayerInterior(playerid,0);
  194.         return 1;
  195.     }
  196.     return 0;
  197. }
  198. strtok(const string[], &index)
  199. {
  200.     new length = strlen(string);
  201.     while ((index < length) && (string[index] <= ' '))
  202.     {
  203.         index++;
  204.     }
  205.  
  206.     new offset = index;
  207.     new result[20];
  208.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  209.     {
  210.         result[index - offset] = string[index];
  211.         index++;
  212.     }
  213.     result[index - offset] = EOS;
  214.     return result;
  215. }
Advertisement
Add Comment
Please, Sign In to add comment