Szerző Téma: Dini kérdés  (Megtekintve 577 alkalommal)

Nem elérhető Petrik

  • 318
    • Profil megtekintése
Dini kérdés
« Dátum: 2012. november 27. - 16:08:58 »
0 Show voters
Sziasztok!
Igen, elkezdett érdekelni a dini, ezért mostantól ebbõl lesz 200 kérdésem  >:D
Régebben akartam egy bool mentést, amit nem nagyon értetter, úgyhogy otthagytam. Kértem a fórumon, hogy hogyan is lehet, de hiába, ha nem értem. Most elkészítettem, és minden okés. Ha a bool megváltozik, akkor az érték a \'0\' helyett \'1\'-re ugrik. Ez idáig okés, viszont ha \'1\'-en van a bool a .ini fileban (true), azt nagy ívben lesz*rja, és csinálná úgy a következõ belépéskor, ahogy falsen van az érték.
Szóval nem fogja fel, hogy az érték \'1\'-en, azaz truen van, és következõ belépéskor ugyanazt csinálja, mintha \'0\' lenne.
Itt van pár részlet (Igen, a szerveremhez kéne, amit már megnyitottam a \'Hamarosan nyíló szerverek\'-hez.):
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 300 && response)
    {
    switch(listitem)
    {
     case 0:
{
       csonak = true;//Ez az a dialog, ahol a \'false\' true lesz.
    }
  }
}
    return 1;
}

 
Ez lesz a mentés:
 
public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerName(playerid,utazas,24);
    new name[25];
    GetPlayerName(playerid,name,sizeof(name));
    format(utazas,sizeof(utazas),\"%s.ini\",name);//Itt kilépéskor elmenti a játékos nevét a scriptfilesben
    dini_Create(utazas);
    dini_IntSet(utazas, \"változó\", csonak);//Itt teszi bele a cuccot
return 1;
}

 
Ez lesz a betöltés:
 
public OnPlayerConnect(playerid)
{
    csonak = !!dini_Int(utazas, \"változó\");
return 1;
}

 
Ez pedig az, hogy leenõrzi, hogy a bool milyen értéken van
 
public OnPlayerSpawn(playerid)
{
if(csonak == true)
{
SendClientMessage(playerid,-1,\"Az érték truen van\");
}
else
{
SendClientMessage(playerid,-1,\"Jelenleg falsen\");
}
return 1;

 
Meg persze a new dolgok, a define, stb. Valami ötlet? Vagy, hogy mit kéne még beletenni?
}

Nem elérhető bendor

  • 2949
    • Profil megtekintése
Dini kérdés
« Válasz #1 Dátum: 2012. november 27. - 16:19:44 »
0 Show voters
Ha integerként mented,soha a büdös életbe nem fog igazként,vagy hamisként visszatérni (szerintem).
Én a helyedben a dini_BoolSet-et alkalmaznám
[pawn]dini_BoolSet(file,\"bool\",true/false);[/pawn]
[pawn]dini_Bool(file,\"bool\");[/pawn]

Nem elérhető Petrik

  • 318
    • Profil megtekintése
Dini kérdés
« Válasz #2 Dátum: 2012. november 27. - 16:27:38 »
0 Show voters
Idézetet írta: Bendor date=1354029584\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30323\" data-ipsquote-contentclass=\"forums_Topic
Ha integerként mented,soha a büdös életbe nem fog igazként,vagy hamisként visszatérni (szerintem).
Én a helyedben a dini_BoolSet-et alkalmaznám
 
dini_BoolSet(file,\"bool\",true/false);

 

dini_Bool(file,\"bool\");

 


D:\\Játékok\\GTA\\Genesis Survival\\filterscripts\\csonak.pwn(18) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

 
Átírtam a cuccokat pedig. Erroros sor: dini_BoolSet(utazas,\"csonak\",true/false);

Nem elérhető bendor

  • 2949
    • Profil megtekintése
Dini kérdés
« Válasz #3 Dátum: 2012. november 27. - 16:43:59 »
+1 Show voters
Azért írtam true/false-t,hogy ezek a lehetõségek vannak.
Azthiszem így lesz a helyes:
[pawn]dini_BoolSet(utazas,\"csonak\",csonak);[/pawn]
Egyébként nállad az onplayerdisconnect-nél mindenféleképpen létrehozza az \"utazas\" fájlt.
Ha lekérdezed,hogy létezik-e,akkor rögtön tudsz bele írni.
valahogy így:
[pawn]
public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerName(playerid,utazas,24);
    new name[25];
    GetPlayerName(playerid,name,sizeof(name));
    format(utazas,sizeof(utazas),\"%s.ini\",name);//Itt kilépéskor elmenti a játékos nevét a scriptfilesben
    if(!dini_Exists(utazas))
    {
    dini_Create(utazas);
    dini_IntSet(utazas, \"változó\", csonak);//Itt teszi bele a cuccot
    }
    else
    {
    dini_IntSet(utazas, \"változó\", csonak);//Itt teszi bele a cuccot
    }
        return 1;
}[/pawn]

Nem elérhető Petrik

  • 318
    • Profil megtekintése
Dini kérdés
« Válasz #4 Dátum: 2012. november 27. - 17:27:48 »
0 Show voters
Idézetet írta: Bendor date=1354031039\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30323\" data-ipsquote-contentclass=\"forums_Topic
Azért írtam true/false-t,hogy ezek a lehetõségek vannak.
Azthiszem így lesz a helyes:
 
dini_BoolSet(utazas,\"csonak\",csonak);

 
Egyébként nállad az onplayerdisconnect-nél mindenféleképpen létrehozza az \"utazas\" fájlt.
Ha lekérdezed,hogy létezik-e,akkor rögtön tudsz bele írni.
valahogy így:
 

public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerName(playerid,utazas,24);
    new name[25];
    GetPlayerName(playerid,name,sizeof(name));
    format(utazas,sizeof(utazas),\"%s.ini\",name);//Itt kilépéskor elmenti a játékos nevét a scriptfilesben
    if(!dini_Exists(utazas))
    {
    dini_Create(utazas);
    dini_IntSet(utazas, \"változó\", csonak);//Itt teszi bele a cuccot
    }
    else
    {
    dini_IntSet(utazas, \"változó\", csonak);//Itt teszi bele a cuccot
    }
        return 1;
}

 

Nagyon köszi!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal