Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Arnel_Bp poslato Maj 23, 2014, 13:03:12 POSLE PODNE

Naslov: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 13:03:12 POSLE PODNE
Skripta koju koristim: moja od 0
Detaljan opis problema: Gledao sam Hit komandu, ali ne radi nzm sta ju je problem
Dio skripte:
CMD:hit(playerid, params[])
{
    if(Ulogiran[playerid] == 0) return SendClientMessage(playerid,  0xFF0000FF, "Moras se spawnati da bi mogao da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_HITMAN) return SendClientMessage(playerid,  0xFF0000FF, "Ti si placeni ubica, i ne mozes da platis nekoga...");
new id,novac,hitmoney,string[126];
new hittername[24];
    new hiteename[24];
if(sscanf(params, "ui", id,novac)) return SCM(playerid,  0xFF0000FF, "Koristi: /hit [id] [novac]");
if(hitmoney <= 6999 || hitmoney > 1000001)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");
    if(GetPlayerMoney(playerid) < hitmoney) return SCM(playerid,  0xFF0000FF, "Vi nemozete priustiti da platite $%d za placenog ubicu na %s(%d)",hitmoney,hiteename,id);
if(!IsPlayerConnected(id)) return SCM(playerid,  0xFF0000FF, "ID igraca koji ste unijeli nije online.");
    if(Ulogiran[id] == 0) return SendClientMessage(playerid,  0xFF0000FF, "Igrac %s(%d) je mrtav, nemozes platiti na njega placenog ubicu!",hiteename,id);
if(HasHitOnHim[id] >= 1) return SCM(playerid,  0xFF0000FF, "%s(%d) je vec placen da ga ubiju placene ubice. Trenutno ne mozes platiti hit na ovoga igraca.",hiteename,id);
    SendClientMessage(playerid, 0xA9A9A9AA, "|_Platio si da ubiju_|");
    format(string, sizeof(string), "Ti si platio placenog ubicu da ubiju %s(%d) za $%d",hiteename,id,hitmoney);
    SendClientMessage(playerid, 0x00C7FFAA, string);
    SendClientMessage(id, 0xA9A9A9AA, "|_Obavestenje_|");
    SendClientMessage(id, 0x00C7FFAA, "Na tebe je placen placeni ubica da te ubiju. Cuvaj se!");
    format(string, sizeof(string), "%s(%d) je platio placenog ubicu da ubiju %s(%d) za $%d",hittername,playerid,hiteename,id,hitmoney);
    printf("%s",string);
    return 1;
    }


ima warninge na sledece linije sa sledecim teksto

if(GetPlayerMoney(playerid) < hitmoney) return SCM(playerid,  0xFF0000FF, "Vi nemozete priustiti da platite $%d za placenog ubicu na %s(%d)",hitmoney,hiteename,id);
if(Ulogiran[id] == 0) return SendClientMessage(playerid,  0xFF0000FF, "Igrac %s(%d) je mrtav, nemozes platiti na njega placenog ubicu!",hiteename,id);

if(HasHitOnHim[id] >= 1) return SCM(playerid,  0xFF0000FF, "%s(%d) je vec placen da ga ubiju placene ubice. Trenutno ne mozes platiti hit na ovoga igraca.",hiteename,id);
warning 202: number of arguments does not match definition

i kad kucam u igricu /hit pise mi /hit [id] [novac] Ali kad kucam koji bilo broj na neki id np. 10000 pise mi tekst

Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 13:39:21 POSLE PODNE
warning na prvoj liniji jeste sto SCM nepodrzava string parametar
kao i na drugom i trecem warningu

koristi formatiran string ili SCMF izvedenicu...
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 13:51:02 POSLE PODNE
mozes li mi ispraviti to ili malo bolje obijasniti ? molim te...
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 13:53:39 POSLE PODNE
stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
   new n=(numargs()-3)*4;
   if(n)
   {
      new message[128],arg_start,arg_end;
      #emit CONST.alt                fstring
      #emit LCTRL                    5
      #emit ADD
      #emit STOR.S.pri               arg_start
      #emit LOAD.S.alt               n
      #emit ADD
      #emit STOR.S.pri               arg_end
      do
      {
         #emit LOAD.I
         #emit PUSH.pri
         arg_end-=4;
         #emit LOAD.S.pri           arg_end
      }
      while(arg_end>arg_start);
      #emit PUSH.S                   fstring
      #emit PUSH.C                   255
      #emit PUSH.ADR                 message
      n+=4*3;
      #emit PUSH.S                   n
      #emit SYSREQ.C                 format
      n+=4;
      #emit LCTRL                    4
      #emit LOAD.S.alt               n
      #emit ADD
      #emit SCTRL                    4
      return SCM(playerid,color,message);
   }
   else return SCM(playerid,color,fstring);
}


kad u nekom slanju koristis string parametar mozes koristit formatiranje stringa ili ovu funkciju iznad znaci ovako

SCMF(playerid,boja,"string");
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Joy poslato Maj 23, 2014, 13:56:43 POSLE PODNE
Citat: Arnel_Bp poslato Maj 23, 2014, 13:51:02 POSLE PODNE
mozes li mi ispraviti to ili malo bolje obijasniti ? molim te...
Umjesto ovoga SCM(playerid,  0xFF0000FF, "Vi nemozete priustiti da platite $%d za placenog ubicu na %s(%d)",hitmoney,hiteename,id);

stavis
new nekistring[200];
format(nekistring,sizeof(nekistring), "Vi nemozete priustiti da platite $%d za placenog ubicu na %s(%d)",hitmoney,hiteename,id);
SCM(playerid, 0xFF0000FF, nekistring);
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 13:57:56 POSLE PODNE
Zasto kad kucam u igricu /hit pise mi /hit [id] [novac] Ali kad kucam koji bilo broj na neki id np. 10000 pise mi tekst

Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000

a tamo je stavljeno

if(hitmoney <= 6999 || hitmoney > 1000001)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");

mozeli kakva pomoc za ovo ? :) i hvala C++ za SCMF :P
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Joy poslato Maj 23, 2014, 13:58:52 POSLE PODNE
Citat: Arnel_Bp poslato Maj 23, 2014, 13:57:56 POSLE PODNE
Zasto kad kucam u igricu /hit pise mi /hit [id] [novac] Ali kad kucam koji bilo broj na neki id np. 10000 pise mi tekst

Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000

a tamo je stavljeno

if(hitmoney <= 6999 || hitmoney > 1000001)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");

mozeli kakva pomoc za ovo ? :) i hvala C++ za SCMF :P
To probaj ovako
if(hitmoney <= 6999 && hitmoney > 1000001)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 14:00:37 POSLE PODNE

if(hitmoney < 7000 || hitmoney > 1000000)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");

i kako molim te u sscanf koristis novac a proveravas hitmoney koji nigde nekoristis
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Joy poslato Maj 23, 2014, 14:01:28 POSLE PODNE
Citat: [SF]C++ poslato Maj 23, 2014, 14:00:37 POSLE PODNE


if(hitmoney < 7000 || hitmoney > 1000000)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ");
ma zbunim se kako brzam,sad sam mu htjeo to napisati
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 14:02:28 POSLE PODNE
Problem je u tome sto on u sscanf koristi novac a proverava hitmoney
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 14:03:28 POSLE PODNE
ovo sto mi je Joy  kada kucam /hit id pare pise mi ovako ovo, mogo sam sa kolko bilo para da ga hitujem

[14:00:25] |_Platio si da ubiju_|

[14:00:25] Ti si platio placenog ubicu da ubiju (0) za $0

[14:00:25] |_Obavestenje_|

[14:00:25] Na tebe je placen placeni ubica da te ubiju. Cuvaj se!



A C++ sto si mi ti dao, kolko god para da stavim hi pise mi  Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ....
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 14:04:55 POSLE PODNE
provera koju sam ti dao proverava da li si stavio manje od 7000 i vise od 1000000 u tom slucaju salje poruku
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Joy poslato Maj 23, 2014, 14:05:38 POSLE PODNE
Citat: Arnel_Bp poslato Maj 23, 2014, 14:03:28 POSLE PODNE
ovo sto mi je Joy  kada kucam /hit id pare pise mi ovako ovo, mogo sam sa kolko bilo para da ga hitujem

[14:00:25] |_Platio si da ubiju_|

[14:00:25] Ti si platio placenog ubicu da ubiju (0) za $0

[14:00:25] |_Obavestenje_|

[14:00:25] Na tebe je placen placeni ubica da te ubiju. Cuvaj se!



A C++ sto si mi ti dao, kolko god para da stavim hi pise mi  Najmanje sto mozete da uplatite na nekoga je $7000 a najvise $1000000 ....
Probaj onda dvije provjere ubacit
if(hitmoney < 7000)  return SCM(playerid,  0xFF0000FF, "Najmanje sto mozete da uplatite na nekoga je $7000");
if(hitmoney > 1000000)  return SCM(playerid,  0xFF0000FF, "Najvise $1000000 ");
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 14:08:11 POSLE PODNE
Citat: [SF]C++ poslato Maj 23, 2014, 14:04:55 POSLE PODNE
provera koju sam ti dao proverava da li si stavio manje od 7000 i vise od 1000000 u tom slucaju salje poruku

znam pa zato mi nije jasno a Joy sad mi izbacuje kolko god da kucam milion ili 7000 ili 100$ pise da ne mogu manje od 7000 nzm sta je ovo....
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Joy poslato Maj 23, 2014, 14:09:29 POSLE PODNE
Citat: Arnel_Bp poslato Maj 23, 2014, 14:08:11 POSLE PODNE
Citat: [SF]C++ poslato Maj 23, 2014, 14:04:55 POSLE PODNE
provera koju sam ti dao proverava da li si stavio manje od 7000 i vise od 1000000 u tom slucaju salje poruku

znam pa zato mi nije jasno a Joy sad mi izbacuje kolko god da kucam milion ili 7000 ili 100$ pise da ne mogu manje od 7000 nzm sta je ovo....
Jooj zbunjujuce je sta da ti kazem izmjenjuj te strelice  :D
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 14:09:52 POSLE PODNE
jesi li ti u sscanfu promenio novac u hitmoney?
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 14:22:49 POSLE PODNE
Citat: [SF]C++ poslato Maj 23, 2014, 14:09:52 POSLE PODNE
jesi li ti u sscanfu promenio novac u hitmoney?

a evo zamijenih :P Sad radi dobro samo kad hitujem nekoga pise

Ti si platio placenog ubicu da ubiju (0) za $7000

A ne kako bi trebalo

Ti si platio placenog ubicu da ubiju Arnel_Bp(0) za $7000 kao sto sam stavio, pname,id

...

Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: youngdeal poslato Maj 23, 2014, 14:24:40 POSLE PODNE
stock iIme(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}


format(string, sizeof(string), "Ti si platio placenog ubicu da ubiju %s(%d) za $%d",iIme(id),id,hitmoney);
Naslov: Odg: [pomoc]hit komanda ne radi
Poruka od: Arnel_Bp poslato Maj 23, 2014, 14:28:25 POSLE PODNE
a zaboravio sam imam GetName definisano, sad dobro radi, hvala vam na pomoci, posebno tebi C++. :) :). Lock..