Započeo elemental.
•26. Avg. 2011.[POMOC] - /report CMD
1,640
pregleda
14
postova
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,060
Postovi:
194
Teme:
Pridružio se:Mar. 2011
26. Avg. 2011.
Skripta koju koristim: Noxicus edit, kako vec xD
Detaljan opis problema: Ovako, napravio sam, ono kad posalje /report adminima, da mu pise ono: Vasa prijava je poslana online Administratorima. Vasa prijava glasi: Pa u drugom redu dolje napisem: - %s!. Al mi ne bude tako, evo dole slika.
Dio skripte:
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{168BFF}Cyclone komanda | Komanda: {959561} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " {FFFF80}Cyclone | {FF4444}Ne mozes pricati jer si utisan! Preostalo vrijeme: {FFFF80}%d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, 0xFF4444FF, string);
return 1;
}
format(string, sizeof(string), "Report od %s: {B1B1D8}*%s", sendername, (result));
ABroadCast(0x8080C0FF,string,2);
SendClientMessage(string, sizeof(string), "Tvoja prijava je poslana online {0x33CCFFAA}Adminima / GameMasterima. Vasa prijava glasi:", (result));
format(string, sizeof(string), "{0xF5DEB3AA}- %s!", (result));
SendClientMessage(playerid, 0x8080C0FF, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
}
Neke slike/video za lakse dobijanje pomoci: Evo slika:
Nema mi onog reda Vasa prijava je poslana online Administratorima. Vasa prijava glasi:
Detaljan opis problema: Ovako, napravio sam, ono kad posalje /report adminima, da mu pise ono: Vasa prijava je poslana online Administratorima. Vasa prijava glasi: Pa u drugom redu dolje napisem: - %s!. Al mi ne bude tako, evo dole slika.
Dio skripte:
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{168BFF}Cyclone komanda | Komanda: {959561} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " {FFFF80}Cyclone | {FF4444}Ne mozes pricati jer si utisan! Preostalo vrijeme: {FFFF80}%d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, 0xFF4444FF, string);
return 1;
}
format(string, sizeof(string), "Report od %s: {B1B1D8}*%s", sendername, (result));
ABroadCast(0x8080C0FF,string,2);
SendClientMessage(string, sizeof(string), "Tvoja prijava je poslana online {0x33CCFFAA}Adminima / GameMasterima. Vasa prijava glasi:", (result));
format(string, sizeof(string), "{0xF5DEB3AA}- %s!", (result));
SendClientMessage(playerid, 0x8080C0FF, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
}
Neke slike/video za lakse dobijanje pomoci: Evo slika:
Nema mi onog reda Vasa prijava je poslana online Administratorima. Vasa prijava glasi:26. Avg. 2011.
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{168BFF}Cyclone komanda | Komanda: {959561} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " {FFFF80}Cyclone | {FF4444}Ne mozes pricati jer si utisan! Preostalo vrijeme: {FFFF80}%d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, 0xFF4444FF, string);
return 1;
}
format(string, sizeof(string), "Report od %s: {B1B1D8}*%s", sendername, (result));
ABroadCast(0x8080C0FF,string,2);
format(string, sizeof(string), "Tvoja prijava je poslana online {0x33CCFFAA}Adminima / GameMasterima. Vasa prijava glasi: %s!", (result));
SendClientMessage(playerid, 0x8080C0FF, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
} Mislim da si to hteo da uradis. U SCM nemoze ici onako kako si uradio. I da bolje koristi SSCANF jer je lakse napraviti komandu i brza je.
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,060
Postovi:
194
Teme:
Pridružio se:Mar. 2011
26. Avg. 2011.
Gagi_Corleone wrote on August 26, 2011, 3:29 pm:
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{168BFF}Cyclone komanda | Komanda: {959561} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " {FFFF80}Cyclone | {FF4444}Ne mozes pricati jer si utisan! Preostalo vrijeme: {FFFF80}%d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, 0xFF4444FF, string);
return 1;
}
format(string, sizeof(string), "Report od %s: {B1B1D8}*%s", sendername, (result));
ABroadCast(0x8080C0FF,string,2);
format(string, sizeof(string), "Tvoja prijava je poslana online {0x33CCFFAA}Adminima / GameMasterima. Vasa prijava glasi: %s!", (result));
SendClientMessage(playerid, 0x8080C0FF, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
} Mislim da si to hteo da uradis. U SCM nemoze ici onako kako si uradio. I da bolje koristi SSCANF jer je lakse napraviti komandu i brza je.
Nisam na to mislio. Mislio sam da bude ovako, npr:
Vasa prijava je poslana online Administratorima. Vasa prijava glasi:
- ID 3 ima cheat ! (( npr ))
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
67
Postovi:
20
Teme:
Pridružio se:Avg. 2011
26. Avg. 2011.
evo ti moja...
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{00C0FF}Koristi:{FFFFFF} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " Utisan | Zabranjeno ti je pisanje jos %d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, COLOR_YELLOW, string);
return 1;
}
format(string, sizeof(string), "Report od %s[%d]: {B1B1D8}*%s", sendername, playerid, (result));
ABroadCast(COLOR_NEWS,string,1);
format(string, sizeof(string), "*Vas report glasi: {FFFFFF}*%s", (result));
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_YELLOW, "*CroSvera: Hvala na upitu! Admini ce brzo odgovoriti!");
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
}
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{00C0FF}Koristi:{FFFFFF} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " Utisan | Zabranjeno ti je pisanje jos %d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, COLOR_YELLOW, string);
return 1;
}
format(string, sizeof(string), "Report od %s[%d]: {B1B1D8}*%s", sendername, playerid, (result));
ABroadCast(COLOR_NEWS,string,1);
format(string, sizeof(string), "*Vas report glasi: {FFFFFF}*%s", (result));
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_YELLOW, "*CroSvera: Hvala na upitu! Admini ce brzo odgovoriti!");
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
}
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,060
Postovi:
194
Teme:
Pridružio se:Mar. 2011
26. Avg. 2011.
Gagi_Corleone wrote on August 26, 2011, 3:29 pm:
COMMAND:report(playerid, params[])
{
new string;
new sendername;
new idx;
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(params);
while ((idx < length) && (params <= ' '))
{
idx++;
}
new offset = idx;
new result;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = params;
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{168BFF}Cyclone komanda | Komanda: {959561} /report ");
return 1;
}
if(Reporter == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Moras sacekati minutu prije ponovnog slanja reporta.");
return 1;
}
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " {FFFF80}Cyclone | {FF4444}Ne mozes pricati jer si utisan! Preostalo vrijeme: {FFFF80}%d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, 0xFF4444FF, string);
return 1;
}
format(string, sizeof(string), "Report od %s: {B1B1D8}*%s", sendername, (result));
ABroadCast(0x8080C0FF,string,2);
format(string, sizeof(string), "Tvoja prijava je poslana online {0x33CCFFAA}Adminima / GameMasterima. Vasa prijava glasi: %s!", (result));
SendClientMessage(playerid, 0x8080C0FF, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
}
return 1;
} Mislim da si to hteo da uradis. U SCM nemoze ici onako kako si uradio. I da bolje koristi SSCANF jer je lakse napraviti komandu i brza je.

Ovako bi ja 😉
26. Avg. 2011.
Dude wrote on August 26, 2011, 3:48 pm:
koristite sscanf za parametre, puno je efikasnije i brze...
Sa tim se slazem ali neki opet idu na to Sto jednostavno kada moze komplikovano.
Evo komanda /report sa sscanf sada sam je pisao:
CMD:report(playerid, params[])
{
new text,string;
if(sscanf(params, "s", text)) return SendClientMessage(playerid, -1, "Uputstvo: /report ");
if(Reporter == 1) return SendClientMessage(playerid, COLOR_GRAD1, "Moras sacekati minutu prije ponovnog slanja reporta.");
if(PlayerInfo >= 1)
{
format(string, sizeof(string), " Utisan | Zabranjeno ti je pisanje jos %d sekundi(%d minuta)", PlayerInfo, (PlayerInfo/60)+1);
SCM(playerid, COLOR_YELLOW, string);
return 1;
}
format(string, sizeof(string), "Report od %s[%d]: {B1B1D8}*%s", sendername, playerid, text);
ABroadCast(COLOR_NEWS,string,1);
SendClientMessage(playerid, COLOR_WHITE, *Vasa prijava je poslana online Administratorima. Vasa prijava glasi:);
format(string, sizeof(string), "%s", text);
SendClientMessage(playerid, COLOR_YELLOW, string);
Reporter = 1;
SetTimerEx("Report1",60000, false, "i", playerid);
return 1;
}Mozda ima neka greska posto sam napisao u notepad-u. Pa ti sada vidi sta je tebi jednostavnije.
26. Avg. 2011.
new text;
if(sscanf(params,"s",text))return SendClientMessage(playerid, 0xFF0000AA, "INFO: /report ");
evo ti linija tj 2 lakse ti je sa ovim
if(sscanf(params,"s",text))return SendClientMessage(playerid, 0xFF0000AA, "INFO: /report ");
evo ti linija tj 2 lakse ti je sa ovim
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
241 / 250 XP
Početnik(0)
731
Postovi:
54
Teme:
Pridružio se:Sep. 2010
26. Avg. 2011.
@gagi
Neka ude primjer 50 ljudi na server i neka 25 posalju /report pa onda neka izadu svih 50 i neka udu NOVIH 50 i neka ponovno 25 koristi /report to ti je 50 timera koje ti NE UBIJAS sto znaci da ce ova tvoj komanda kad-tad crashati server! Za ovakve stvari nema potrebe za pravljenje novog timera nego se varijablama spoji na jedan lokalni ili koristi TickCount kako i ja koristim za ovakve stvari npr.
Neka ude primjer 50 ljudi na server i neka 25 posalju /report pa onda neka izadu svih 50 i neka udu NOVIH 50 i neka ponovno 25 koristi /report to ti je 50 timera koje ti NE UBIJAS sto znaci da ce ova tvoj komanda kad-tad crashati server! Za ovakve stvari nema potrebe za pravljenje novog timera nego se varijablama spoji na jedan lokalni ili koristi TickCount kako i ja koristim za ovakve stvari npr.
static SomeVar[MAX_PLAYERS char]; // jer vjerojatno neces koristiti za vise od 255 max input
// i onda koristis
if(SomeVar{playerid} != 0 && GetTickCount() - SomeVar{playerid} < Sec(60)) // ako NIJE proslo 60 sekundi (1 minuta)
// i evo ti ovaj Sec() koji sam objavio u korisne skripte i kodove
#define Sec(%0) \
((%0*1000))
26. Avg. 2011.
Quote from August 26, 2011, 4:06 pm:
@gagi
Neka ude primjer 50 ljudi na server i neka 25 posalju /report pa onda neka izadu svih 50 i neka udu NOVIH 50 i neka ponovno 25 koristi /report to ti je 50 timera koje ti NE UBIJAS sto znaci da ce ova tvoj komanda kad-tad crashati server! Za ovakve stvari nema potrebe za pravljenje novog timera nego se varijablama spoji na jedan lokalni ili koristi TickCount kako i ja koristim za ovakve stvari npr.
Neka ude primjer 50 ljudi na server i neka 25 posalju /report pa onda neka izadu svih 50 i neka udu NOVIH 50 i neka ponovno 25 koristi /report to ti je 50 timera koje ti NE UBIJAS sto znaci da ce ova tvoj komanda kad-tad crashati server! Za ovakve stvari nema potrebe za pravljenje novog timera nego se varijablama spoji na jedan lokalni ili koristi TickCount kako i ja koristim za ovakve stvari npr.
static SomeVar[MAX_PLAYERS char]; // jer vjerojatno neces koristiti za vise od 255 max input
// i onda koristis
if(SomeVar{playerid} != 0 && GetTickCount() - SomeVar{playerid} < Sec(60))
// i evo ti ovaj Sec() koji sam objavio u korisne skripte i kodove
#define Sec(%0) \
((%0*1000))
Ja sam njegovu komandu samo prebacio u ZCMD + SSCANF u kojoj je vec bio timer. Ali ovo sto si rekao to stoji i tako i jeste. 😉
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,060
Postovi:
194
Teme:
Pridružio se:Mar. 2011
26. Avg. 2011.
CycloneRPG.pwn(27185) : error 017: undefined symbol "sendername"
format(string, sizeof(string), "Report od %s[%d]: {B1B1D8}*%s", sendername, playerid, text);
format(string, sizeof(string), "Report od %s[%d]: {B1B1D8}*%s", sendername, playerid, text);
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,060
Postovi:
194
Teme:
Pridružio se:Mar. 2011
26. Avg. 2011.
- Nickâ„¢ wrote on August 26, 2011, 4:13 pm:
Dodaj new sendername; u cmd
Gdje ?
Pod sto da dodam ?
26. Avg. 2011.
new sendername;
GetPlayerName(playerid, sendername, sizeof(sendername)); To dodas ispod:
new text,string;
Ako si dodao tu moj komandu.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava