Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Ante_Street poslato Jun 13, 2011, 22:46:01 POSLE PODNE

Naslov: [Pomoc]/duty
Poruka od: Ante_Street poslato Jun 13, 2011, 22:46:01 POSLE PODNE
Skripta koju koristim: LARP
Detaljan opis problema: Definira sam point na kojem se uzima duty,al problem je u tome sto se moze uzet na cijelom serveru....nezz u cemu je problem
Dio skripte:if(strcmp(cmd, "/duty", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if (PlayerToPoint(3, playerid,255.3,77.4,1003.6) || PlayerToPoint(3,playerid,-1616.1294,681.1594,7.1875) || PlayerToPoint(3,playerid,-2455.2380,503.9444,30.0781) ||PlayerInfo[playerid][pLocal] != 255)
{
if(OnDuty[playerid]==0)
       {
    format(string, sizeof(string), "* Cuvar zakona %s je uzeo znacku i oruzje iz ormarica.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 24, 70);
GivePlayerWeapon(playerid, 3, 0);
OnDuty[playerid] = 1;
}
else if(OnDuty[playerid]==1)
{
format(string, sizeof(string), "* Cuvar zakona %s je stavio znacku i oruzje u ormaric.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 23, 150);
GivePlayerWeapon(playerid, 5, 0);
OnDuty[playerid] = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "   Nisi u sobi sa ormaricima !");
return 1;
}
}
else if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
{
   if(JobDuty[playerid] == 1)
   {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  Vise nisi na duznosti sa poslom bolnicara i vise neces primati pozive.");
       JobDuty[playerid] = 0;
       Medics -= 1;
   }
   else
   {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Sad si na duznosti sa poslom bolnicara i primat ces pozive od ozlijedenih ljudi.");
       JobDuty[playerid] = 1;
       Medics += 1;
   }
}
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: (Pomoc)/duty
Poruka od: System32 poslato Jun 13, 2011, 22:56:46 POSLE PODNE
koristi IsPlayerInRangeOfPoint
Naslov: Odg: (Pomoc)/duty
Poruka od: Ante_Street poslato Jun 13, 2011, 23:08:34 POSLE PODNE
Citat: [ST] System32 poslato Jun 13, 2011, 22:56:46 POSLE PODNE
koristi IsPlayerInRangeOfPoint
Nece...ako nemos nac u cem je problem de mi svoj ak nebude radio ni on onda neznam di je problem
Naslov: Odg: [Pomoc]/duty
Poruka od: [TG:RP]$--L84S--$ poslato Jun 13, 2011, 23:43:28 POSLE PODNE
Evo ovako :
if(strcmp(cmd, "/duty", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if (IsPlayerInRangeOfPoint(3, playerid,255.3,77.4,1003.6) || IsPlayerInRangeOfPoint(3,playerid,-1616.1294,681.1594,7.1875) || IsPlayerInRangeOfPoint(3,playerid,-2455.2380,503.9444,30.0781) ||PlayerInfo[playerid][pLocal] != 255)
{
if(OnDuty[playerid]==0)
        {
    format(string, sizeof(string), "* Cuvar zakona %s je uzeo znacku i oruzje iz ormarica.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 24, 70);
GivePlayerWeapon(playerid, 3, 0);
OnDuty[playerid] = 1;
}
else if(OnDuty[playerid]==1)
{
format(string, sizeof(string), "* Cuvar zakona %s je stavio znacku i oruzje u ormaric.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 23, 150);
GivePlayerWeapon(playerid, 5, 0);
OnDuty[playerid] = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "   Nisi u sobi sa ormaricima !");
return 1;
}
}
else if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
{
    if(JobDuty[playerid] == 1)
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  Vise nisi na duznosti sa poslom bolnicara i vise neces primati pozive.");
        JobDuty[playerid] = 0;
        Medics -= 1;
    }
    else
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Sad si na duznosti sa poslom bolnicara i primat ces pozive od ozlijedenih ljudi.");
        JobDuty[playerid] = 1;
        Medics += 1;
    }
}
}
return 1;
}
Naslov: Odg: [Pomoc]/duty
Poruka od: Ante_Street poslato Jun 14, 2011, 00:24:44 PRE PODNE
Citat: [LYG] $--L84S--$ poslato Jun 13, 2011, 23:43:28 POSLE PODNE
Evo ovako :
if(strcmp(cmd, "/duty", true) == 0)
{
   if(IsPlayerConnected(playerid))
   {
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if (IsPlayerInRangeOfPoint(3, playerid,255.3,77.4,1003.6) || IsPlayerInRangeOfPoint(3,playerid,-1616.1294,681.1594,7.1875) || IsPlayerInRangeOfPoint(3,playerid,-2455.2380,503.9444,30.0781) ||PlayerInfo[playerid][pLocal] != 255)
{
if(OnDuty[playerid]==0)
       {
    format(string, sizeof(string), "* Cuvar zakona %s je uzeo znacku i oruzje iz ormarica.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 24, 70);
GivePlayerWeapon(playerid, 3, 0);
OnDuty[playerid] = 1;
}
else if(OnDuty[playerid]==1)
{
format(string, sizeof(string), "* Cuvar zakona %s je stavio znacku i oruzje u ormaric.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 23, 150);
GivePlayerWeapon(playerid, 5, 0);
OnDuty[playerid] = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "   Nisi u sobi sa ormaricima !");
return 1;
}
}
else if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
{
   if(JobDuty[playerid] == 1)
   {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  Vise nisi na duznosti sa poslom bolnicara i vise neces primati pozive.");
       JobDuty[playerid] = 0;
       Medics -= 1;
   }
   else
   {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Sad si na duznosti sa poslom bolnicara i primat ces pozive od ozlijedenih ljudi.");
       JobDuty[playerid] = 1;
       Medics += 1;
   }
}
}
return 1;
}

probao sam neradi.......odnosno radi ali po cijelom serveru,a ne kod lokera u pd kako bi ja htjeo
Naslov: Odg: [Pomoc]/duty
Poruka od: System32 poslato Jun 14, 2011, 08:29:14 PRE PODNE
L84S Sta ti baljezgas?Pa ne idu parametrui u IsPlayerInRangeOfPoint kao u PlayerToPoint
if(strcmp(cmd, "/duty", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if (IsPlayerInRangeOfPoint(playerid, 3, 255.3, 77.4, 1003.6) || IsPlayerInRangeOfPoint(playerid, 3, -1616.1294, 681.1594, 7.1875) || IsPlayerInRangeOfPoint(playerid, 3, -2455.2380, 503.9444, 30.0781) ||PlayerInfo[playerid][pLocal] != 255)
{
if(OnDuty[playerid]==0)
        {
    format(string, sizeof(string), "* Cuvar zakona %s je uzeo znacku i oruzje iz ormarica.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 24, 70);
GivePlayerWeapon(playerid, 3, 0);
OnDuty[playerid] = 1;
}
else if(OnDuty[playerid]==1)
{
format(string, sizeof(string), "* Cuvar zakona %s je stavio znacku i oruzje u ormaric.", sendername);
ProxDetector(30.0, playerid, string, COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN,COLOR_LIGHTGREEN);
GivePlayerWeapon(playerid, 23, 150);
GivePlayerWeapon(playerid, 5, 0);
OnDuty[playerid] = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "   Nisi u sobi sa ormaricima !");
return 1;
}
}
else if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
{
    if(JobDuty[playerid] == 1)
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  Vise nisi na duznosti sa poslom bolnicara i vise neces primati pozive.");
        JobDuty[playerid] = 0;
        Medics -= 1;
    }
    else
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Sad si na duznosti sa poslom bolnicara i primat ces pozive od ozlijedenih ljudi.");
        JobDuty[playerid] = 1;
        Medics += 1;
    }
}
}
return 1;
}

Naslov: Odg: [Pomoc]/duty
Poruka od: Ante_Street poslato Jun 14, 2011, 14:20:27 POSLE PODNE
nevalja ni taj tvoj isto mogu uzimat duty bilo gdje na serveru -.-
Naslov: Odg: [Pomoc]/duty
Poruka od: bake_pg poslato Jun 14, 2011, 18:53:03 POSLE PODNE
Izbrisi ovaj dio iz if uslova (što sam boldirao):

if (IsPlayerInRangeOfPoint(playerid, 3, 255.3, 77.4, 1003.6) || IsPlayerInRangeOfPoint(playerid, 3, -1616.1294, 681.1594, 7.1875) || IsPlayerInRangeOfPoint(playerid, 3, -2455.2380, 503.9444, 30.0781) [b]||PlayerInfo[playerid][pLocal] != 255[/b])