Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dnes vás vítám nebudu to popisovat..
- Ale hned vám to dám..
- Duel Systém 1.0
- #include <a_samp>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define BARVA_MODRA 0x33CCFFAA
- #define BARVA_BILA 0xEFEFF7AA
- #define MAX_PLAYERS_EX 200
- forward duelTimerStart();
- forward duelTimerUpdate();
- enum DUEL_INFO
- {
- Started,
- Counter,
- Pocethracu,
- TimerStart,
- TimerUpdate
- }
- new Duel[DUEL_INFO];
- new IsPlayerInDuel[MAX_PLAYERS_EX];
- new DuelZbran[MAX_PLAYERS_EX];
- stock WeaponName(weapon)
- {
- new Nazev[50];
- if (weapon == 0) Nazev = "Nic";
- else if(weapon == 1) Nazev = "Boxer";
- else if(weapon == 2) Nazev = "Golfova hul";
- else if(weapon == 3) Nazev = "Hul";
- else if(weapon == 4) Nazev = "Nuz";
- else if(weapon == 5) Nazev = "Baseballka";
- else if(weapon == 6) Nazev = "Lopata";
- else if(weapon == 7) Nazev = "Kulecnikova hul";
- else if(weapon == 8) Nazev = "Katana";
- else if(weapon == 9) Nazev = "Motorovka";
- else if(weapon == 10) Nazev = "Dildo";
- else if(weapon == 11) Nazev = "Dildo2";
- else if(weapon == 12) Nazev = "Vibrator";
- else if(weapon == 13) Nazev = "Vibrator2";
- else if(weapon == 14) Nazev = "Kvetiny";
- else if(weapon == 15) Nazev = "Cane";
- else if(weapon == 16) Nazev = "Granat";
- else if(weapon == 17) Nazev = "Slzny plyn";
- else if(weapon == 18) Nazev = "Molotovuv koktejl";
- else if(weapon == 22) Nazev = "Kolt45";
- else if(weapon == 23) Nazev = "Pistole s tlumicem";
- else if(weapon == 24) Nazev = "Desert Eagle";
- else if(weapon == 25) Nazev = "Shotgun";
- else if(weapon == 26) Nazev = "Sawn-off Shotgun";
- else if(weapon == 27) Nazev = "Combat Shotgun";
- else if(weapon == 28) Nazev = "Uzi";
- else if(weapon == 29) Nazev = "Mp5";
- else if(weapon == 30) Nazev = "AK47";
- else if(weapon == 31) Nazev = "M4";
- else if(weapon == 32) Nazev = "Tec9";
- else if(weapon == 33) Nazev = "Rifle";
- else if(weapon == 34) Nazev = "Sniperka";
- else if(weapon == 35) Nazev = "Raketomet";
- else if(weapon == 36) Nazev = "Teplonavadeci Raketomet";
- else if(weapon == 37) Nazev = "Plamenomet";
- else if(weapon == 38) Nazev = "Minigun";
- else if(weapon == 39) Nazev = "Satchel";
- else if(weapon == 40) Nazev = "Bomba";
- else if(weapon == 41) Nazev = "Spray";
- else if(weapon == 42) Nazev = "Hasicak";
- else if(weapon == 43) Nazev = "Fotak";
- else if(weapon == 44) Nazev = "Noční vidění";
- else if(weapon == 45) Nazev = "Infračervená vize";
- else if(weapon == 46) Nazev = "Padak";
- return Nazev;
- }
- stock Jmeno(playerid)
- {
- new p[MAX_PLAYER_NAME];
- if(IsPlayerConnected(playerid)) GetPlayerName(playerid,p,MAX_PLAYER_NAME);
- return p;
- }
- IsNumeric(string[]){ for (new i = 0,j = strlen(string); i < j; i++) if(string[i] > '9' || string[i] < '0') return 0; return 1; }
- public duelTimerStart()
- {
- new string[10];
- Duel[Counter]--;
- if(Duel[Counter] > 0) Duel[TimerStart] = SetTimer("duelTimerStart",1000,0);
- for(new i=0;i<MAX_PLAYERS_EX;i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInDuel[i] != 0)
- {
- if(Duel[Counter] > 0)
- {
- format(string,sizeof(string),"%d",Duel[Counter]);
- GameTextForPlayer(i,string,1000,4);
- }else{
- GameTextForPlayer(i,"~r~START!",2000,4);
- GivePlayerWeapon(i,DuelZbran[i],99999);
- }
- }
- }
- }
- return 1;
- }
- public duelTimerUpdate()
- {
- for(new i=0; i< MAX_PLAYERS_EX; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInDuel[i] != 0)
- {
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(i,X,Y,Z);
- if(X >= 2445.0791 && X <= 2497.3074 && Y >= 2350.9741 && Y <= 2402.0007)
- {
- if(Duel[Counter] == 0)
- {
- if(Duel[Pocethracu] == 1)
- {
- new string[150];
- format(string,sizeof(string),"Vitezem duelu je %s.",Jmeno(i));
- SendClientMessageToAll(BARVA_MODRA,string);
- KillTimer(Duel[TimerUpdate]);
- DuelZbran[i] = 0;
- IsPlayerInDuel[i] = 0;
- SpawnPlayer(i);
- Duel[Started] = 0;
- Duel[Pocethracu] = 0;
- }
- }
- }else{
- DuelZbran[i] = 0;
- IsPlayerInDuel[i] = 0;
- SpawnPlayer(i);
- new string[150];
- format(string,sizeof(string),"Hrac %s opustil duel.",Jmeno(i));
- SendClientMessageToAll(BARVA_MODRA,string);
- Duel[Pocethracu] --;
- if(Duel[Pocethracu] == 0)
- {
- KillTimer(Duel[TimerUpdate]);
- Duel[Started] = 0;
- }
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid,cmdtext[])
- {
- if(IsPlayerConnected(playerid))
- {
- dcmd(duel,4,cmdtext);
- dcmd(dueljoin,8,cmdtext);
- dcmd(duelguest,9,cmdtext);
- dcmd(duelweaponlist,14,cmdtext);
- }
- return 0;
- }
- dcmd_duel(playerid,params[])
- {
- #pragma unused params
- if(IsPlayerConnected(playerid))
- {
- SendClientMessage(playerid,BARVA_MODRA,"Duel:");
- SendClientMessage(playerid,BARVA_MODRA,"/dueljoin");
- SendClientMessage(playerid,BARVA_MODRA,"/duelstart");
- SendClientMessage(playerid,BARVA_MODRA,"/duelguest");
- SendClientMessage(playerid,BARVA_MODRA,"/duelweaponlist");
- }
- return 1;
- }
- dcmd_dueljoin(playerid,params[])
- {
- if(IsPlayerConnected(playerid))
- {
- new string[150];
- new zbranid=strval(params);
- if(!params[0]||!IsNumeric(params)) return SendClientMessage(playerid,BARVA_BILA,"[!] Použití: /dueljoin [zbranid]");
- else if(Duel[Started] != 0) return SendClientMessage(playerid,BARVA_BILA,"[!] Duel jiz probiha,vyckejte!");
- else if(IsPlayerInDuel[playerid] != 0) return SendClientMessage(playerid,BARVA_BILA,"[!] Jiz jste v duelu!");
- else if(zbranid > 47 || zbranid < 0 || zbranid == 44 || zbranid == 45 || zbranid == 19 || zbranid == 20 || zbranid == 21 || zbranid == 38 || zbranid == 43) return SendClientMessage(playerid,BARVA_BILA,"[!] Spatne zvolena zbran! Mrknete se na /duelweaponlist");
- else
- {
- Duel[Pocethracu] ++ ;
- DuelZbran[playerid] = zbranid;
- IsPlayerInDuel[playerid] = 1;
- ResetPlayerWeapons(playerid);
- KillTimer(Duel[TimerUpdate]);
- Duel[TimerUpdate] = SetTimer("duelTimerUpdate",1000,1);
- Duel[Counter] = 3;
- SetPlayerHealth(playerid,100);
- SetPlayerArmour(playerid,0);
- SetPlayerInterior(playerid,0);
- format(string,sizeof(string),"Hrac %s byl pripojen do duelu se zbrani %s (%d)",Jmeno(playerid),WeaponName(zbranid),zbranid);
- SendClientMessageToAll(BARVA_MODRA,string);
- if(Duel[Pocethracu] == 1)
- {
- SetPlayerPos(playerid,2449.7778,2378.5486,71.0496);
- }
- else if(Duel[Pocethracu] == 2)
- {
- SetPlayerPos(playerid,2489.5415,2378.6658,71.0496);
- Duel[Started] = 1;
- SendClientMessageToAll(BARVA_MODRA,"Duel zahajen,pripravit...");
- Duel[TimerStart] = SetTimer("duelTimerStart",1000,0);
- }
- }
- }
- return 1;
- }
- dcmd_duelweaponlist(playerid,params[])
- {
- #pragma unused params
- if(IsPlayerConnected(playerid))
- {
- SendClientMessage(playerid,BARVA_MODRA,"Zakladni Duel Weapons List:");
- SendClientMessage(playerid,BARVA_MODRA,"Desert Eagle - 24");
- SendClientMessage(playerid,BARVA_MODRA,"Shotgun - 25");
- SendClientMessage(playerid,BARVA_MODRA,"Sawn Off Shotgun - 26");
- SendClientMessage(playerid,BARVA_MODRA,"Combat Shotgun - 27");
- SendClientMessage(playerid,BARVA_MODRA,"Uzi - 28");
- SendClientMessage(playerid,BARVA_MODRA,"MP5 - 29");
- SendClientMessage(playerid,BARVA_MODRA,"AK47 - 30");
- SendClientMessage(playerid,BARVA_MODRA,"M4 - 31");
- SendClientMessage(playerid,BARVA_MODRA,"Tec9 -32");
- }
- return 1;
- }
- dcmd_duelguest(playerid,params[])
- {
- #pragma unused params
- if(IsPlayerConnected(playerid))
- {
- new string[150];
- SetPlayerInterior(playerid,0);
- SetPlayerPos(playerid,2460.1892,2336.0178,82.7734);
- ResetPlayerWeapons(playerid);
- format(string,sizeof(string),"Hrac %s se prisel podivat na duel.",Jmeno(playerid));
- SendClientMessageToAll(BARVA_MODRA,string);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement