Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Wizzard1 poslato Februar 18, 2022, 12:47:08 POSLE PODNE

Naslov: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 12:47:08 POSLE PODNE
Problem(error/warning): ovako pravim komandu /offwarn,e sad ja stavim u cmd ovo INI_WriteInt(File,"Warn", 1);
ali on njemu samo stavi warn na 1 ne dodajemu jos 1 warn pokusao sam da stavim +1 ili +=1 ali ima error zna neko kako da stavim da mu doda jos 1 warn (+1) ?
Deo skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
Deo skripte:
Naslov: Odg: Pomoc
Poruka od: V01D poslato Februar 18, 2022, 13:42:38 POSLE PODNE
Prvo moras da procitas podatak iz fajla i onda upises u fajl
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 14:05:01 POSLE PODNE
Citat: V01D poslato Februar 18, 2022, 13:42:38 POSLE PODNE
Prvo moras da procitas podatak iz fajla i onda upises u fajl
pojasni ?
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 17:00:28 POSLE PODNE
Zna neko ovo  ????
Naslov: Odg: Pomoc
Poruka od: .ysi poslato Februar 18, 2022, 17:21:38 POSLE PODNE
pokusaj staviti "++"
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 17:41:22 POSLE PODNE
Citat: Sync poslato Februar 18, 2022, 17:21:38 POSLE PODNE
pokusaj staviti "++"
error 035: argument type mismatch (argument 3)
Naslov: Odg: Pomoc
Poruka od: V01D poslato Februar 18, 2022, 19:25:32 POSLE PODNE
[pawn]new warnoviIgraca;

forward IzvuciWarnove( name[ ], value[ ] );
public IzvuciWarnove( name[ ], value[ ] ) {
   INI_Int( "Warn", warnoviIgraca); //Citamo warnove igraca i cuvamo u promenljivu
   return 1;
}

CMD:offwarn(playerid, params[]) {
   new imeigraca[24], ifile[ 64 ], warn;
   if( sscanf( params, "s[24]d", imeigraca, warn ) ) return SendUsageMessage( playerid, "/offwarn [ Ime_Prezime ] [warn]" );
   format( ifile, sizeof( ifile ), I_FILE, imeigraca );
   if( !fexist( ifile ) ) return SendErrorMessage( playerid, "Taj igrac ne postoji u bazi podataka!");
   if( IsPlayerConnected( GetPlayerIdFromName( imeigraca ) ) ) {
      SendErrorMessage( playerid, "Taj igrac je online tako da proveri ga online.");
      return 1;
   }

   INI_ParseFile( ifile, "IzvuciWarnove" ); //Citanje informacije iz fajla

   new noviwarn = warnoviIgraca + warn; //Dodajemo warnove koje dajemo i stare warnove iz fajla

   new INI:File = INI_Open( ifile ); //Otvorimo fajl
   INI_WriteInt( File, "Warn", noviwarn ); //Upisemo nove warnove
   INI_Close( File ); //Zatvorimo fajl

   return 1;
}[/pawn]

nesto ovako, trebalo bi da funkcionise
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 21:25:43 POSLE PODNE
Citat: V01D poslato Februar 18, 2022, 19:25:32 POSLE PODNE
[pawn]new warnoviIgraca;

forward IzvuciWarnove( name[ ], value[ ] );
public IzvuciWarnove( name[ ], value[ ] ) {
   INI_Int( "Warn", warnoviIgraca); //Citamo warnove igraca i cuvamo u promenljivu
   return 1;
}

CMD:offwarn(playerid, params[]) {
   new imeigraca[24], ifile[ 64 ], warn;
   if( sscanf( params, "s[24]d", imeigraca, warn ) ) return SendUsageMessage( playerid, "/offwarn [ Ime_Prezime ] [warn]" );
   format( ifile, sizeof( ifile ), I_FILE, imeigraca );
   if( !fexist( ifile ) ) return SendErrorMessage( playerid, "Taj igrac ne postoji u bazi podataka!");
   if( IsPlayerConnected( GetPlayerIdFromName( imeigraca ) ) ) {
      SendErrorMessage( playerid, "Taj igrac je online tako da proveri ga online.");
      return 1;
   }

   INI_ParseFile( ifile, "IzvuciWarnove" ); //Citanje informacije iz fajla

   new noviwarn = warnoviIgraca + warn; //Dodajemo warnove koje dajemo i stare warnove iz fajla

   new INI:File = INI_Open( ifile ); //Otvorimo fajl
   INI_WriteInt( File, "Warn", noviwarn ); //Upisemo nove warnove
   INI_Close( File ); //Zatvorimo fajl

   return 1;
}[/pawn]

nesto ovako, trebalo bi da funkcionise
cmd je ubacena na srv bez errora ali mu opet ne dodaje warnove sad samo kada idem /offwarn Ime i npr 1 njemu samo stavi warn na 1 ne dodajemu jos 1
Naslov: Odg: Pomoc
Poruka od: markosimic poslato Februar 18, 2022, 21:44:12 POSLE PODNE
Citat: Wizzard1 poslato Februar 18, 2022, 21:25:43 POSLE PODNE
cmd je ubacena na srv bez errora ali mu opet ne dodaje warnove sad samo kada idem /offwarn Ime i npr 1 njemu samo stavi warn na 1 ne dodajemu jos 1

Pa hoces da ti doda warn ili ?
Naslov: Odg: Pomoc
Poruka od: V01D poslato Februar 18, 2022, 21:53:51 POSLE PODNE
Citat: Wizzard1 poslato Februar 18, 2022, 21:25:43 POSLE PODNE
cmd je ubacena na srv bez errora ali mu opet ne dodaje warnove sad samo kada idem /offwarn Ime i npr 1 njemu samo stavi warn na 1 ne dodajemu jos 1

Ovo bi u teoriji trebalo da funkcionise ako si sve odradio kako treba i prilagodio svojoj skripti
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 22:02:41 POSLE PODNE
Citat: V01D poslato Februar 18, 2022, 21:53:51 POSLE PODNE
Ovo bi u teoriji trebalo da funkcionise ako si sve odradio kako treba i prilagodio svojoj skripti
naravno sve sam uradio po svojoj skripti nez zasti neradi
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 18, 2022, 22:05:11 POSLE PODNE
Citat: neshallon poslato Februar 18, 2022, 21:44:12 POSLE PODNE
Pa hoces da ti doda warn ili ?
pa da hocu da mi doda warn igracu koji nije na serveru ali ne znam kako
Naslov: Odg: Pomoc
Poruka od: choppa100 poslato Februar 18, 2022, 22:30:41 POSLE PODNE
Posalji trenutnu komandu pa cu ti objasniti.
Naslov: Odg: Pomoc
Poruka od: Goku ^ poslato Februar 18, 2022, 23:19:13 POSLE PODNE
Citat: Wizzard1 poslato Februar 18, 2022, 12:47:08 POSLE PODNE
Problem(error/warning): ovako pravim komandu /offwarn,e sad ja stavim u cmd ovo INI_WriteInt(File,"Warn", 1);
ali on njemu samo stavi warn na 1 ne dodajemu jos 1 warn pokusao sam da stavim +1 ili +=1 ali ima error zna neko kako da stavim da mu doda jos 1 warn (+1) ?
Deo skripte:
Pawno Code: [Izaberi]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem):
Deo skripte:
Void ti je poslao da kad ides /offwarn goku 10 da mu doda taj broj 10 sve sto treba da uradis jeste
[pawn]
if(sscanf(params, "s[24]", imeigraca)) return SCM(playerid,-1, "/offwarn [Ime_Prezime]");[/pawn]
i da dodas dole umesto new noviwarn = warnoviIgraca + warn; da stavis new noviwarn = warnoviIgraca + 1; i reseno sve
Naslov: Odg: Pomoc
Poruka od: choppa100 poslato Februar 18, 2022, 23:51:33 POSLE PODNE
Citat: Goku ^ poslato Februar 18, 2022, 23:19:13 POSLE PODNE
Void ti je poslao da kad ides /offwarn goku 10 da mu doda taj broj 10 sve sto treba da uradis jeste
[pawn]
if(sscanf(params, "s[24]", imeigraca)) return SCM(playerid,-1, "/offwarn [Ime_Prezime]");[/pawn]
i da dodas dole umesto new noviwarn = warnoviIgraca + warn; da stavis new noviwarn = warnoviIgraca + 1; i reseno sve
warnoviIgraca++ mozda?
Naslov: Odg: Pomoc
Poruka od: Goku ^ poslato Februar 18, 2022, 23:53:44 POSLE PODNE
Citat: dre poslato Februar 18, 2022, 23:51:33 POSLE PODNE
warnoviIgraca++ mozda?
++, +1 i +=1, sve to ti na kraj dodje na isto
Ubacio sam ovu komandu za testiram cisto prilagodio svojoj skripti i izpromenio je malo i testirao radi bez problema
[pawn]
CMD:offwarn(playerid, params[])
{
   new imeigraca[24], ifile[64];
    if(UlogovanProvera[playerid] == 0) return SCM(playerid, NS_ADM,"* Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 2) SCM(playerid, NS_ADM, "* Nemate ovlascenje za upotrebu ove komande.");
   if(sscanf(params, "s[24]", imeigraca)) return SCM(playerid,NS_PLAVA, "[KORISCENJE] "BELA"/offwarn [Ime_Prezime (Tacno)]");
   if( IsPlayerConnected( GetPlayerIdFromName( imeigraca ) ) ) { va_SendClientMessage(playerid, ADM,"* Igrac '%s' je na serveru koristite komandu /warn", imeigraca); return 1; }
   format(ifile, sizeof ifile,"Korisnici/%s.ini", imeigraca);
    if(!fexist(ifile)) return va_SendClientMessage(playerid,NS_ADM, "* Igrac '%s' nije pronadjen u bazi podataka.", imeigraca);
    va_SendClientMessage(playerid, NS_ADM, "[WARN] Dali ste warn igracu %s [OFFLINE]", imeigraca);
    INI_ParseFile(ifile, "IzvuciWarnove");
    new noviwarn = warnoviIgraca + 1;
    va_AdminGameMasterTA(NS_ADM, "[WARN] %s %s je dao igracu %s [OFFLINE] warn (%d, %d)", PlayerInfo[playerid][pImeRanka], GetName(playerid), imeigraca, noviwarn, PanelInfo[isWarn]);
    new INI:File = INI_Open(ifile);
    INI_SetTag(File,"data");
    INI_WriteInt(File, "Warn", noviwarn);
    INI_Close(File);
    PanelInfo[isWarn] ++; SacuvajPanel();
    return 1;
}
[/pawn]
Naslov: Odg: Pomoc
Poruka od: choppa100 poslato Februar 18, 2022, 23:59:13 POSLE PODNE
Kazi sta je bolje:

Ovo:
[pawn]new noviwarn = warnoviIgraca + 1;[/pawn]

Ili:
[pawn]warnoviIgraca++;[/pawn]

Cemu pravljenje 50 varijabli za jednu komandu?
Naslov: Odg: Pomoc
Poruka od: Goku ^ poslato Februar 19, 2022, 00:00:46 PRE PODNE
Citat: dre poslato Februar 18, 2022, 23:59:13 POSLE PODNE
Kazi sta je bolje:

Ovo:
[pawn]new noviwarn = warnoviIgraca + 1;[/pawn]

Ili:
[pawn]warnoviIgraca++;[/pawn]

Cemu pravljenje 50 varijabli za jednu komandu?
Ja pravim da meni u kodu izgleda lepse i urednije, tako da mi nije bitno bilo na prvi ili drugi nacin
Naslov: Odg: Pomoc
Poruka od: choppa100 poslato Februar 19, 2022, 00:04:18 PRE PODNE
Ne pricamo ovde o urednosti i lepoti, vec o kvalitetu.

Bukvalno poenta komande je da dodas igracu 1 vrednost u varijablu warn, cemu toliko komplikovanje i proseravanje?

PlayerGuza[playerid][pWarn]++;

A naravno pWarn cuvas i ucitavas tamo gde i ostale varijable, valjda ti se nalazi u nekom enumatoru.
Nema potrebe praviti posebno LoadWarn, SaveWarn i takva sranja, sve se ovo moze uraditi u max 10 linija koda.
Naslov: Odg: Pomoc
Poruka od: Goku ^ poslato Februar 19, 2022, 00:15:52 PRE PODNE
Citat: dre poslato Februar 19, 2022, 00:04:18 PRE PODNE
Ne pricamo ovde o urednosti i lepoti, vec o kvalitetu.

Bukvalno poenta komande je da dodas igracu 1 vrednost u varijablu warn, cemu toliko komplikovanje i proseravanje?

PlayerGuza[playerid][pWarn]++;

A naravno pWarn cuvas i ucitavas tamo gde i ostale varijable, valjda ti se nalazi u nekom enumatoru.
Nema potrebe praviti posebno LoadWarn, SaveWarn i takva sranja, sve se ovo moze uraditi u max 10 linija koda.
Ne nam gde ovde vidis load warn i save warn kod mene?
Naslov: Odg: Pomoc
Poruka od: choppa100 poslato Februar 19, 2022, 00:17:19 PRE PODNE
Nisam rekao da sam video kod tebe..  ::)
Naslov: Odg: Pomoc
Poruka od: Wizzard1 poslato Februar 19, 2022, 10:58:33 PRE PODNE
RESENO! HVALA