Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-01-09, 18:59


sojcef







Wiek: 36
Na forum: 5058 dni
Posty: 30



Respekt: 50

Ostrzeżeń: 20%
Kod:

dcmd_duel(playerid,cmdtext[])
{
if(pInfo[playerid][PlayingArena] || pInfo[playerid][Poczekalnia])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Nie mo?esz u?y? tej komendy b?da? na Arenie.");

new pid[16],gun,gun2,player;
new string[128],tmp[128],idx;
tmp = strtok(cmdtext, idx);

if(!strlen(tmp))return SendClientMessage(playerid, COLOR_ORANGE, "UZYCIE: /duel <invite/accept/leave/disable/enable>");

new wname[32], wname2[32];
strmid(pid, tmp, 0, strlen(cmdtext), 128);

if(strcmp(pid, "invite", true, strlen(pid)) == 0)
{
if(DuelDisable[playerid])return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Musisz odblokowa? wysy?anie/otrzymywanie wyzwa? (/duel enable)");
if(DuelWaiting[playerid])return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Musisz zaczeka?, a? aktualne wyzwania strac? wa?no??.");
tmp = strtok(cmdtext, idx);
if(sscanf(tmp, "u", player))return SendClientMessage(playerid, COLOR_ORANGE, "UZYCIE: /duel invite <id/nick> <id broni> <id broni2>");

if(player == playerid)return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Poda?e? swoje ID.");
if(!IsPlayerConnected(player))return SendDeniedClientMessage(playerid,COLOR_RED, InvalidID);
if(IsDueling[player]) return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Gracz w tej chwili walczy z kim innym.");
if(DuelDisable[player])return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Gracz nie przyjmuje wyzwa?.");
if(DuelWaiting[player])return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Gracz ma ju? inne aktywne wyzwanie.");
if(pInfo[player][PlayingArena] || pInfo[player][Poczekalnia])return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Gracz jest w tej chwili na Arenie.");
tmp = strtok(cmdtext, idx);
//if(strval(tmp) < 22 && strval(tmp) < 39){return SendClientMessage(playerid,COLOR_RED, " (WARN) Nieprawid?owa nazwa lub ID broni.");}
gun = GetWeaponModelIDFromName(tmp);
if(gun == -1)
{
gun = strval(tmp);
if(gun < 22 || gun > 39)
{
SendDeniedClientMessage(playerid, COLOR_RED, " (WARN) Nieprawid?owa nazwa lub ID broni.");
return 1;
}
}
wname = WeaponNames[gun];

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))
{
format(string, 128," (DUEL) \"%s\" wyzywa Ci? na Solo (%s). Wpisz /duel accept (Masz 20 sekund aby przyj?? wyzwanie).",Player(playerid),wname);
//SendClientMessage(playerid,JASKRAWY_ZIELONY," (DUEL) Wyzwanie zosta?o wys?ane. Czekaj na akceptacj?.");
SendClientMessage(player,JASKRAWY_ZIELONY, " ");
SendClientMessage(player,JASKRAWY_ZIELONY,string);
format(string, 128," (DUEL) Wyzwanie zosta?o wys?ane (%s || %s). Czekaj na akceptacj?.",Player(player),wname);
SendClientMessage(playerid,JASKRAWY_ZIELONY, string);
DuelWeapon[playerid][0] = gun;
DuelWeapon[player][0] = gun;
DuelWeapon[playerid][1] = 0;
DuelWeapon[player][1] = 0;
DuelInviter[player] = false;
DuelInviter[playerid] = true;
DuelInvitation[player] = playerid;
DuelWaiting[player] = true;
DuelInvitation[playerid] = player;
DuelWaiting[playerid] = true;
SetTimerEx("EndDuelWait",20000,0,"ii",playerid,player);
return 1;
}
gun2 = GetWeaponModelIDFromName(tmp);
if(gun2 == -1)
{
gun2 = strval(tmp);
if(gun2 < 22 || gun2 > 39)
{
SendDeniedClientMessage(playerid, COLOR_RED, " (WARN) Nieprawid?owa nazwa lub ID broni.");
return 1;
}
}
wname2 = WeaponNames[gun2];

format(string, 128," (DUEL) \"%s\" wyzywa Ci? na Solo (%s & %s). Wpisz /duel accept (Masz 20 sekund aby przyj?? wyzwanie).",Player(playerid),wname, wname2);
SendClientMessage(player,JASKRAWY_ZIELONY, " ");
SendClientMessage(player,JASKRAWY_ZIELONY,string);
format(string, 128," (DUEL) Wyzwanie zosta?o wys?ane (%s || %s & %s). Czekaj na akceptacj?.",Player(player),wname, wname2);
SendClientMessage(playerid,JASKRAWY_ZIELONY, string);
DuelWeapon[playerid][0] = gun;
DuelWeapon[player][0] = gun;
DuelWeapon[playerid][1] = gun2;
DuelWeapon[player][1] = gun2;
DuelInviter[player] = false;
DuelInviter[playerid] = true;
DuelInvitation[player] = playerid;
DuelWaiting[player] = true;
DuelInvitation[playerid] = player;
DuelWaiting[playerid] = true;
SetTimerEx("EndDuelWait",20000,0,"ii",playerid,player);
return 1;

}
else if (strcmp(pid, "accept", true, strlen(pid)) == 0)
{
if(DuelInvitation[playerid] == -1)return SendDeniedClientMessage(playerid,COLOR_RED," (WARN) Nie posiadasz aktywnych wyzwa?.");
if(pInfo[playerid][PlayingArena] || pInfo[playerid][Poczekalnia])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Nie mo?esz u?y? tej komendy b?dac na Arenie.");
if(pInfo[playerid][Dead] || pInfo[playerid][PlayerWybieralka])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Musisz si? zespawnowa?.");
if(DuelInviter[playerid])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Nie mo?esz akceptowa? rzuconych przez Ciebie wyzwa?.");
if(gSpectating[playerid] || pInfo[playerid][Dead] || pInfo[playerid][PlayerWybieralka])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Musisz zespawnowa? si?.");
if(gSpectating[DuelInvitation[playerid]] || pInfo[DuelInvitation[playerid]][Dead] || pInfo[DuelInvitation[playerid]][PlayerWybieralka])return SendDeniedClientMessage(playerid, COLOR_RED," (WARN) Przeciwnik nie zespawnowa? si?.");

DuelInitiate(playerid,DuelInvitation[playerid],5);

TempSpawn(playerid,0);
ResetPlayerWeapons(playerid);
SetPlayerDuelPos(0,playerid);
SetCameraBehindPlayer(playerid);
SetPlayerVWEx(playerid,playerid+10);
IsDueling[playerid] = true;
DuelOdliczanie[playerid] = true;
TogglePlayerControllable(playerid,0);

TempSpawn(DuelInvitation[playerid],0);
ResetPlayerWeapons(DuelInvitation[playerid]);
SetPlayerDuelPos(1,DuelInvitation[playerid]);
SetCameraBehindPlayer(DuelInvitation[playerid]);
SetPlayerVWEx(DuelInvitation[playerid],playerid+10);
IsDueling[DuelInvitation[playerid]] = true;
DuelOdliczanie[DuelInvitation[playerid]] = true;
TogglePlayerControllable(DuelInvitation[playerid],0);

//wname = WeaponNames[DuelWeapon[playerid][0]];
//format(string,128," (DUEL) Initiating || \"%s\" vs. \"%s\" (%s).",NickName[playerid],NickName[DuelInvitation[playerid]],wname,DuelInvitation[playerid]);
//SendClientMessageToAll(MainColors[4],string);

DuelWaiting[playerid] = false;
DuelWaiting[DuelInvitation[playerid]] = false;
return 1;
}
else if(strcmp(pid, "leave", true, strlen(pid)) == 0)
{
if(IsDueling[playerid])
{
DuelEnd(DuelInvitation[playerid],playerid,1);
TempSpawn(playerid, 1);
SpawnPlayer(playerid);
}
}
else if (strcmp(pid, "disable", true, strlen(pid)) == 0)
{
if(DuelDisable[playerid] == false)
{
DuelDisable[playerid] = true;
SendClientMessage(playerid,COLOR_ORANGE," (INFO) Wyzwania zosta?y zablokowane.");
}
else return SendClientMessage(playerid,COLOR_RED," (WARN) Wyzwania s? ju? zablokowane.");
}
else if (strcmp(pid, "enable", true, strlen(pid)) == 0)
{
if(DuelDisable[playerid] == true)
{
DuelDisable[playerid] = false;
SendClientMessage(playerid,COLOR_LIGHTBLUE," (INFO) Wyzwania zosta?y odblokowane.");
}
else return SendClientMessage(playerid,COLOR_RED," (WARN) Wyzwania s? ju? odblokowane.");
}
else return SendClientMessage(playerid, COLOR_ORANGE, "UZYCIE: /duel <invite/accept/leave/disable/enable>");

return 1;
}



m?g?by mi kto? przerobi? to na strcmp, b?d? wdzi?czny :D

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-01-09, 22:24


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

sojcef, Zamieniasz linijk?:
Kod:

dcmd_duel(playerid,cmdtext[])

na tak?:
Kod:

if(strcmp(cmd, "/komenda", true) == 0)


I to wszystko, nic wi?cej :)

Postaw piwo autorowi tego posta
 

 
Tagi: dini :: strcmp
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku