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)://
warning na prvoj liniji jeste sto SCM nepodrzava string parametar
kao i na drugom i trecem warningu
koristi formatiran string ili SCMF izvedenicu...
mozes li mi ispraviti to ili malo bolje obijasniti ? molim te...
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");
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);
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
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 ");
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
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
Problem je u tome sto on u sscanf koristi novac a proverava hitmoney
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 ....
provera koju sam ti dao proverava da li si stavio manje od 7000 i vise od 1000000 u tom slucaju salje poruku
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 ");
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....
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
jesi li ti u sscanfu promenio novac u hitmoney?
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
...
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);
a zaboravio sam imam GetName definisano, sad dobro radi, hvala vam na pomoci, posebno tebi C++. :) :). Lock..