Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

[Pomoc] Cuvanje

Započeo vlada966
pre 13 godina
782
pregleda
12
postova
vlada966
Wheel Man
pre 13 godina
Skripta koju koristim:TechLand Xperia
Detaljan opis problema:Imam FS za tablice,ali kako da napravim da trajno cuva broj ili slova na tablicama,na primer kada izadjem iz servera pa opet udjem pisu oni isti znakovi sto sam ja stavio
Dio skripte:
    #include a_samp
    #include zcmd
    #include sscanf2
   
    /* ==== */
    /* FS:Plate is a filterscript made by Marricio. */
    /* ==== */
   
    new v_Plate;
   
    CMD:plate( playerid, params[] )
    {
            if( isnull( params ) )
                return SendClientMessage( playerid, -1, "Kucaj: /plate [plate(1-32 letters)]" );
   
            if( strlen( params ) > 32 )
                return SendClientMessage( playerid, -1, "Kucaj: /plate [plate(1-32 letters)]" );
   
            if( !IsPlayerInAnyVehicle( playerid ) )
                return SendClientMessage( playerid, -1, "Greska: Morate biti u autu." );
   
   
            new szString, pVeh, Float:vPos;
            pVeh = GetPlayerVehicleID( playerid );
   
            format( v_Plate, 32, "%s", params );
            SetVehicleNumberPlate( pVeh, params );
   
            GetPlayerPos( playerid, vPos, vPos, vPos );
            GetVehicleZAngle( pVeh, vPos );
            SetVehicleToRespawn( pVeh );
            SetVehiclePos( pVeh, vPos, vPos, vPos );
            SetVehicleZAngle( pVeh, vPos );
            PutPlayerInVehicle( playerid, pVeh, 0 );
   
            format( szString, 128, "Tablice vaseg vozila su uspesno promenjene u %s.", params );
            SendClientMessage( playerid, -1, szString );
   
            return 1;
    }
   
    CMD:setplate( playerid, params[] )
    {
            new iVictim, szPlate;
            if( sscanf( params, "us", iVictim, szPlate ) )
                return SendClientMessage( playerid, -1, "Kucaj: /plate [plate(1-32 letters)]" );
   
            if( strlen( szPlate ) > 32 )
                return SendClientMessage( playerid, -1, "Kucaj: /plate [plate(1-32 letters)]" );
   
            if( !IsPlayerAdmin( playerid ) )
                return SendClientMessage( playerid, -1, "Greska: Ti nis admin." );
   
            if( !IsPlayerConnected( iVictim ) )
                return SendClientMessage( playerid, -1, "Greska: Taj igrac nije na serveru." );
   
            if( !IsPlayerInAnyVehicle( iVictim ) )
                return SendClientMessage( playerid, -1, "Greska:Taj igrac nije u vozilu." );
   
            new szString, pVeh, Float:vPos;
            pVeh = GetPlayerVehicleID( iVictim );
   
            format( v_Plate, 32, "%s", szPlate );
            SetVehicleNumberPlate( pVeh, szPlate );
   
            GetPlayerPos( iVictim, vPos, vPos, vPos );
            GetVehicleZAngle( pVeh, vPos );
            SetVehicleToRespawn( pVeh );
            SetVehiclePos( pVeh, vPos, vPos, vPos );
            SetVehicleZAngle( pVeh, vPos );
            PutPlayerInVehicle( iVictim, pVeh, 0 );
   
            format( szString, 128, "Admin ti je podesio tablice na %s.", szPlate );
            SendClientMessage( playerid, -1, szString );
   
            return 1;
    }
   
    CMD:getplate( playerid, params[] )
    {
            if( isnull( params ) )
                    return SendClientMessage( playerid, -1, "Kucaj: /getplate [ID vozila]" );
   
            new szString;
            format( szString, 128, "[ VEHICLE ID: %d | PLATE: %s ]", strval( params ), v_Plate[strval( params )] );
            SendClientMessage( playerid, -1, szString );
   
            return 1;
    }

ovo je cela FS .
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
POMOC !!!!
Obrisan korisnik Obrisan korisnik
pre 13 godina
Mozda ako napravis enum za tablice i sa tim enumom napravis da mu cuva podatke u ini fajl ? Ako me ne bude mrzelo ovih dana cu napraviti takav sistem 🙂
Marko Koprivanac
Underboss
pre 13 godina
Joj majko zar opet ove tablice...

Komanda :
CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid,COLOR_GRAD1,"[ Komanda ]: /registracija ( TEXT - NAJVISE 8 ZNAKOVA / SLOVA )");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GRAD1,"[ GRESKA ]: Moras biti u vozilu .");
if(IsPlayerInRangeOfPoint(playerid,5,-1990.6874,137.4902,27.5391))
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );
    new string;
    format(string, 40, "Vozilo: %d\nText tablice: %s", vozilo, tablica);
    SacuvajTablicu(string);

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}


Negde na dno moda dodaj :
stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("Vozila/tablice.ini", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("Vozila/tablice.ini", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
    if(strsrc==delimiter || i==strlen(strsrc)){
        len = strmid(strdest, strsrc, li, i, 128);
        strdest = 0;
        li = i+1;
        aNum++;
}
i++;
}
return 1;
}


i pod OnGameModeInit :
UcitajTablice();


I sad u Scriptfiles napravi folder Vozila ,udji u njega i napravi fajl tablice.ini
markinjo98
Shot Caller
pre 13 godina
''KopriVa' wrote on June 5, 2012, 2:39 pm:
Joj majko zar opet ove tablice...

Komanda :
CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid,COLOR_GRAD1,"[ Komanda ]: /registracija ( TEXT - NAJVISE 8 ZNAKOVA / SLOVA )");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GRAD1,"[ GRESKA ]: Moras biti u vozilu .");
if(IsPlayerInRangeOfPoint(playerid,5,-1990.6874,137.4902,27.5391))
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );
    new string;
    format(string, 40, "Vozilo: %d\nText tablice: %s", vozilo, tablica);
    SacuvajTablicu(string);

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}


Negde na dno moda dodaj :
stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("Vozila/tablice.ini", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("Vozila/tablice.ini", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

stock split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
    if(strsrc==delimiter || i==strlen(strsrc)){
        len = strmid(strdest, strsrc, li, i, 128);
        strdest = 0;
        li = i+1;
        aNum++;
}
i++;
}
return 1;
}


i pod OnGameModeInit :
UcitajTablice();


I sad u Scriptfiles napravi folder Vozila ,udji u njega i napravi fajl tablice.ini
KopriVa brate ono sve sacuva i kada restartujes server nece da ucita tablice 😕 STO TO 😕
Obrisan korisnik Obrisan korisnik
pre 13 godina
Jesi li napravio folder "Vozila" u scriptfiles? Ako nisi napravi ili jednostavno stavi da cuva odmah u scriptfiles :
stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("tablice.ini", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("tablice.ini", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}
markinjo98
Shot Caller
pre 13 godina
@Vladimire napravio sam sve i sve uradio kako je on rekao i sacuva ono u tablice.ini ali kad ponovo pokrenem server nece da ucita ... Da li me razumes ?
Obrisan korisnik Obrisan korisnik
pre 13 godina
Jesi li stavio pod OnGameModeInit da cita iz tog fajla? Poslacu ti na PM sta da ubacis.Pozdrav
markinjo98
Shot Caller
pre 13 godina
Владимир Плавшић aka Plavša wrote on June 5, 2012, 6:44 pm:
Jesi li stavio pod OnGameModeInit da cita iz tog fajla? Poslacu ti na PM sta da ubacis.Pozdrav
Ubacio sam pod OnGameModeInit UcitajTablice(); kao sto je KopriVa rekao ali nece
markinjo98
Shot Caller
pre 13 godina
Vladimire hoces poslati ?
Obrisan korisnik Obrisan korisnik
pre 13 godina
Ne radi DP,rekao sam ti sta da uradis. I ne spamaj.
markinjo98
Shot Caller
pre 13 godina
Vladimire nisam te uopste razumeo sta ti je to loop (petlja)  😕
danijel123
Kingpin
pre 13 godina
ovo ti je loop(petlja)
for(new i = 0; i < MAX_PLAYERS; i++)

ili
foreach(Player, i)


to ti je loop za sve igrace

nz kakav tebi loop treba!

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava