[Pomoc] Oko ticketa

Započeo Markoni990
11. Sep. 2014. Zaključano
252
pregleda
8
postova
Markoni990
4
Shot Caller
11. Sep. 2014.
Skripta koju koristim:BE
Detaljan opis problema:Interesuje me kako odraditi kad kuca /ticked id razlog cena da ne placa preko /accept ticket nego da ide u pd i kuca /payticket i da plati kaznu
Dio skripte:
if(strcmp(cmd, "/ticket", true) == 0 || strcmp(cmd, "/kazna", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        //if(gTeam != 2)
        if(PlayerInfo==20)
{
    SendClientMessage(playerid, COLOR_GREY, "  Niste Saobracajac!");
    return 1;
}
        if(OnDuty != 1 && PlayerInfo == 20)
{
    SendClientMessage(playerid, COLOR_GREY, "  Niste na Duznosti!");
    return 1;
}
    tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /kazna [ID Igraca/Dio Imena] ");
return 1;
}
giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /ticket [ID Igraca/Dio Imena] ");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 2001) { SendClientMessage(playerid, COLOR_GREY, "  Cena kazne ne moze biti ispod 1 ni preko 2000 !"); return 1; }
if(IsPlayerConnected(giveplayerid))
{
    if(giveplayerid != INVALID_PLAYER_ID)
    {
        if (ProxDetectorS(8.0, playerid, giveplayerid))
{
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /ticket [ID Igraca/Dio Imena] ");
return 1;
}
if (GetPlayerMoney(giveplayerid) < moneys)
{
SendClientMessage(playerid, COLOR_WHITE, "* Taj igrac nema dovoljno novca da plati kaznu.");
return 1;
}
format(string, sizeof(string), "* Napisali ste %s-u kaznu od $%d, razlog: %s", giveplayer, moneys, (result));
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Saobracajac %s vam je napisao kaznu od $%d, razlog: %s", sendername, moneys, (result));
SendClientMessage(giveplayerid, COLOR_WHITE, string);
SendClientMessage(giveplayerid, COLOR_WHITE, "* Kucajte /accept ticket, da je prihvatite.");
SendClientMessage(giveplayerid, COLOR_WHITE, "* Ako ne prihvatite kaznu, ici cete u zatvor!");
TicketOffer = playerid;
TicketMoney = moneys;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "  Taj igrac nije blizu vas !");
return 1;
}
}
}
else
{
    SendClientMessage(playerid, COLOR_GREY, "  Igrac je offline !");
    return 1;
}
}
return 1;
}
  return 1;//SendClientMessage(playerid,  COLOR_LIGHTRED, "{C77D87}: {C0C0C0}Komanda koju ste upisali ne postoji kucajte {C77D87}/help {C0C0C0}da vidite listu komandi!");
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Amar Tinjak
4
Enforcer
11. Sep. 2014.
Samo uradis variable i sccanf . Znaci kreiras variablu postavljas mu na 0 na connectu i onda povecavas variablu kada uradi prekrsaj odnonsno u komandi mu stavis toj tiket vrijednost neku . U /payticket provjeravas variablu i to je to.
Markoni990
4
Shot Caller
11. Sep. 2014.
Brt sve si mi reko, daj komandu kako ide
Amar Tinjak
4
Enforcer
11. Sep. 2014.
Markoni990 wrote on September 11, 2014, 12:35 pm:
Brt sve si mi reko, daj komandu kako ide


Znaci evo ti primjer
new Saobracajnakazna;
pod register igraca
Saobracajnakazna = 0;
u komandi kazna
CMD:kazna(playerid,params[])
{
if(!IsPlayerConnected(playerid)) return SCM(playerid, -1,"Nisi se konektovao.");
new razlog,novac,ID;
if(sscanf(params,"uis",ID,novac,razlog)) return SCM(playerid, -1,"Koristi /kazna ID/dio imena | Novac Kazna | Razlog");
new string;
new pare = novac * 1000;
format(string,sizeof(string),"Dobio si kaznu od %s , te trebas platiti %d. | Razlog: %s",GetName(playerid),pare,razlog);
SCM(ID,-1,string);
Saobacajnakazna = novac;
return 1;
}
CMD:payticket(playerid,params[])
{
if(Saobracajnakazna == 0) return SCM(playerid,-1,"Ti ne trebas platiti kaznu.");
new pare = Saobracajnakazna * 1000;
if(GetPlayerMoney(playerid) < pare) return SCM(playerid ,-1,"Nemas dovoljno.");
GivePlayerMoney(playerid, -pare);
return 1;
}


Na brzinu sam iskuco tako da....
seiz
4
Enforcer
11. Sep. 2014.
Amar Tinjak wrote on September 11, 2014, 12:35 pm:
Brt sve si mi reko, daj komandu kako ide


Znaci evo ti primjer
new Saobracajnakazna;
pod register igraca
Saobracajnakazna = 0;
u komandi kazna
CMD:kazna(playerid,params[])
{
if(!IsPlayerConnected(playerid)) return SCM(playerid, -1,"Nisi se konektovao.");
new razlog,novac,ID;
if(sscanf(params,"uis",ID,novac,razlog)) return SCM(playerid, -1,"Koristi /kazna ID/dio imena | Novac Kazna | Razlog");
new string;
new pare = novac * 1000;
format(string,sizeof(string),"Dobio si kaznu od %s , te trebas platiti %d. | Razlog: %s",GetName(playerid),pare,razlog);
SCM(ID,-1,string);
Saobacajnakazna = novac;
return 1;
}
CMD:payticket(playerid,params[])
{
if(Saobracajnakazna == 0) return SCM(playerid,-1,"Ti ne trebas platiti kaznu.");
new pare = Saobracajnakazna * 1000;
if(GetPlayerMoney(playerid) < pare) return SCM(playerid ,-1,"Nemas dovoljno.");
GivePlayerMoney(playerid, -pare);
return 1;
}


Na brzinu sam iskuco tako da....

Po tom tvom ako igrac dobije tickete samo ode relog i vrate mu se na 0.
Amar Tinjak
4
Enforcer
11. Sep. 2014.
Amar Tinjak wrote on September 11, 2014, 12:35 pm:
Brt sve si mi reko, daj komandu kako ide


Znaci evo ti primjer
new Saobracajnakazna;
pod register igraca
Saobracajnakazna = 0;
u komandi kazna
CMD:kazna(playerid,params[])
{
if(!IsPlayerConnected(playerid)) return SCM(playerid, -1,"Nisi se konektovao.");
new razlog,novac,ID;
if(sscanf(params,"uis",ID,novac,razlog)) return SCM(playerid, -1,"Koristi /kazna ID/dio imena | Novac Kazna | Razlog");
new string;
new pare = novac * 1000;
format(string,sizeof(string),"Dobio si kaznu od %s , te trebas platiti %d. | Razlog: %s",GetName(playerid),pare,razlog);
SCM(ID,-1,string);
Saobacajnakazna = novac;
return 1;
}
CMD:payticket(playerid,params[])
{
if(Saobracajnakazna == 0) return SCM(playerid,-1,"Ti ne trebas platiti kaznu.");
new pare = Saobracajnakazna * 1000;
if(GetPlayerMoney(playerid) < pare) return SCM(playerid ,-1,"Nemas dovoljno.");
GivePlayerMoney(playerid, -pare);
return 1;
}


Na brzinu sam iskuco tako da....

Ovo sam mu uradio u igri sve medjutim moze i preko pvar da se uradi ako oce da mu sacuva no nije to naveo.
denis_lapi
5
Godfather
11. Sep. 2014.
Nije Amarova duznost da mu kreira sistem za spremanje.
Inace izbacio sam ti neke delove koji nisu potrebni u Amarovoj komandi

CMD:kazna(playerid,params[])
{
new razlog,novac,ID;
if(sscanf(params,"uis",ID,novac,razlog)) return SCM(playerid, -1,"Koristi /kazna ID/dio imena | Novac Kazna | Razlog");
new string;
new pare = novac * 1000;
format(string,sizeof(string),"Dobio si kaznu od %s , te trebas platiti %d. | Razlog: %s",GetName(playerid),pare,razlog);
SCM(ID,-1,string);
Saobacajnakazna = novac;
return 1;
}
CMD:payticket(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,7.0, x, y, z)) // Postavi koordinate policije tj. one koje zelis
{
if(Saobracajnakazna == 0) return SCM(playerid,-1,"Ti ne trebas platiti kaznu.");
new pare = Saobracajnakazna * 1000;
if(GetPlayerMoney(playerid) < pare) return SCM(playerid ,-1,"Nemas dovoljno.");
GivePlayerMoney(playerid, -pare);
}
else return SCM(playerid,-1,"Niste u policiji, ne mozete platiti kaznu");
return 1;
}



Ovo je sad ono sto si ti trazio..
Markoni990
4
Shot Caller
11. Sep. 2014.
Hvala namestio sam

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha