Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Milos Pajic poslato Januar 25, 2016, 20:24:13 POSLE PODNE

Naslov: [Pomoc]Errori(ProxDetector)
Poruka od: Milos Pajic poslato Januar 25, 2016, 20:24:13 POSLE PODNE
Skripta koju koristim: UP
Detaljan opis problema: imam neke warninge koji mi nisu bas jasni

C:\Users\Milos\Desktop\My document\Milos\New folder (2)\gamemodes\up-rp.pwn(8331) : error 035: argument type mismatch (argument 4)
C:\Users\Milos\Desktop\My document\Milos\New folder (2)\gamemodes\up-rp.pwn(27812) : error 021: symbol already defined: "ProxDetector"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.


Dio skripte:
error sa linije 8331:

new ime[24];
GetPlayerName(playerid, ime, sizeof ime);
format(string, sizeof(string), "Event | %s kaze:(( %s ))", ime, result);
~~>ovde tacno ProxDetector(80.0, playerid, string,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT); <~~
//format(CmdString,128, "ACMD | Komanda: /ekazi | Igrac: %s", ime);
//HeadAdminPoruka(SVIJETLOPLAVA,CmdString);
return 1;


error sa linije 27812

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
~~>tu {<~~
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
foreach(Player,i)
{
if(IsPlayerConnected(i))
{
if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, string);
}
}   }
}
}
return 1;
}


Neke slike/video za lakse dobivanje pomoci(neobavezno): ako treba dodacu
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Arkoo poslato Januar 25, 2016, 21:19:29 POSLE PODNE
27812 ti kaze da vec imas definisan negdje ProxDetector tako da ti taj ne treba obrisi
a za 8331 posalji taj drugi public proxdetector da vidim
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Milos Pajic poslato Januar 25, 2016, 21:33:03 POSLE PODNE
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
//radi = 2.0; //Trigger Radius
foreach(Player,i)
{
if(IsPlayerConnected(i) == 1)
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz= (oldposz -posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, string);
}
}
}
return 1;
}


Ovvaj sam imao eto ti :D
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Arkoo poslato Januar 25, 2016, 21:52:31 POSLE PODNE
[pawn]ProxDetector(80.0, playerid, string,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT);[/pawn]
radis ovako onda
[pawn]
ProxDetector(80.0, playerid, string, col1, col2, col3, col4, col5);[/PAWN]
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Milos Pajic poslato Januar 25, 2016, 22:05:44 POSLE PODNE
Koja je razlika?? ja sam stavio mesto col1, col2... splava koji imam definisanu i imam opet isti error
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Arkoo poslato Januar 25, 2016, 22:09:52 POSLE PODNE
Zbog ovog

forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)

Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Arkoo poslato Januar 25, 2016, 22:12:50 POSLE PODNE
Moja greska sry trebao bi moci koristit druge boje probaj na stock postaviti evo ti kod
[pawn]
stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
   if(IsPlayerConnected(playerid))
   {
      new Float:posx, Float:posy, Float:posz;
      new Float:oldposx, Float:oldposy, Float:oldposz;
      new Float:tempposx, Float:tempposy, Float:tempposz;
      new invehicle[MAX_PLAYERS];
      new virtualworld = GetPlayerVirtualWorld(playerid);
      new interior = GetPlayerInterior(playerid);
      new vehicleid = GetPlayerVehicleID(playerid);
      new ivehicleid;
      if(vehicleid)
      {
         GetVehiclePos(vehicleid,oldposx,oldposy,oldposz);
      }
      else
      {
         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
         vehicleid = GetPlayerVehicleID(playerid);
      }
      for(new i; i<MAX_PLAYERS; i++)
      {
         if(IsPlayerConnected(i))
         {
               if(GetPlayerVirtualWorld(i) == virtualworld)
               {
                  if((GetPlayerInterior(i) == interior))
                  {
                      if(vehicleid)
                      {
                         if(IsPlayerInVehicle(i,vehicleid))
                         {
                               invehicle = 1;
                        }
                     }
                     if(!invehicle)
                     {
                         if(IsPlayerInAnyVehicle(i))
                        {
                            ivehicleid = GetPlayerVehicleID(i);
                            GetVehiclePos(ivehicleid,posx,posy,posz);
                        } else {
                            GetPlayerPos(i,posx,posy,posz);
                        }
                        tempposx = (oldposx -posx);
                        tempposy = (oldposy -posy);
                        tempposz = (oldposz -posz);
                        if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                        {
                           SendClientMessage(i, col1, string);
                        }
                        else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                        {
                           SendClientMessage(i, col2, string);
                        }
                        else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                        {
                           SendClientMessage(i, col3, string);
                        }
                        else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                        {
                           SendClientMessage(i, col4, string);
                        }
                        else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                        {
                           SendClientMessage(i, col5, string);
                        }
                     }
                     else
                     {
                        SendClientMessage(i, col1, string);
                     }
                  }
               }
            } else {
               SendClientMessage(i, col1, string);
            }
         }
   }
   return 1;
}[/pawn]
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Milos Pajic poslato Januar 25, 2016, 22:21:53 POSLE PODNE
Opet isti error sve sam sem tvog izbrisao tacnije /* <~> */ al opet isti problem
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Arkoo poslato Januar 25, 2016, 22:34:27 POSLE PODNE
Nez, nek se neko ko bolje zna pozabavi s ovim  :D
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: Milos Pajic poslato Januar 25, 2016, 22:37:43 POSLE PODNE
Ok opet hvala  ;D
Naslov: Odg: [Pomoc]Errori(ProxDetector)
Poruka od: // xunder poslato Januar 25, 2016, 23:51:09 POSLE PODNE
nemoj koristiti 2 proxydetetora u jednu skriptu nije optimizovano
ali ako vec hoces promijeni jednom ime u npr proxydetector2 :)