Jump to content
  • 0

pomoc DIni


FRajer

Dotaz

Ahoj rad by požadal po moc pawnera ktery by si udělal čas na mně

potřeboval by pomoc hodit věci aby se ukladaly v dini pracuji stim poprve tak nwm a ptam se vás.

 

 

// This is a comment

// uncomment the line below if you want to write a filterscript

#define FILTERSCRIPT

 

#include

#include

 

new bool:logged[MAX_PLAYERS];

new subor[MAX_PLAYERS];

 

#if defined FILTERSCRIPT

 

public OnFilterScriptInit()

{

print("\n--------------------------------------");

print(" Log & Register");

print("--------------------------------------\n");

return 1;

}

 

public OnFilterScriptExit()

{

return 1;

}

 

#else

 

main()

{

print("\n----------------------------------");

print(" Blank Gamemode by your name here");

print("----------------------------------\n");

}

 

 

public OnGameModeInit()

{

// Don't use these lines if it's a filterscript

SetGameModeText("Blank Script");

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

return 1;

}

 

public OnGameModeExit()

{

return 1;

}

 

#endif

 

public OnPlayerRequestClass(playerid, classid)

{

if(logged[playerid] == false)

{

if(dini_Exists(subor[playerid]))

{

ShowPlayerDialog(playerid, 0,3,"Prihlasenie","Vitaj,\nProsim, prihlas sa napisanim hesla!","Prihlasit","Kick");

}

else

{

ShowPlayerDialog(playerid,1,3,"Registracia","Vitaj,\nProsim, zaregistruj sa napisanim hesla!","Register","Kick");

}

}

return 1;

}

 

stock GetPlayerNick(playerid)

{

new nick[255];

GetPlayerName(playerid,nick,sizeof(nick));

return nick;

}

 

 

public OnPlayerConnect(playerid)

{

format(subor[playerid],500,"%s.sav",GetPlayerNick(playerid));

return 1;

}

 

public OnPlayerDisconnect(playerid, reason)

{

return 1;

}

 

public OnPlayerSpawn(playerid)

{

return 1;

}

 

public OnPlayerDeath(playerid, killerid, reason)

{

return 1;

}

 

public OnVehicleSpawn(vehicleid)

{

return 1;

}

 

public OnVehicleDeath(vehicleid, killerid)

{

return 1;

}

 

public OnPlayerText(playerid, text[])

{

return 1;

}

 

public OnPlayerCommandText(playerid, cmdtext[])

{

if (strcmp("/mycommand", cmdtext, true, 10) == 0)

{

// Do something here

return 1;

}

return 0;

}

 

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)

{

return 1;

}

 

public OnPlayerExitVehicle(playerid, vehicleid)

{

return 1;

}

 

public OnPlayerStateChange(playerid, newstate, oldstate)

{

return 1;

}

 

public OnPlayerEnterCheckpoint(playerid)

{

return 1;

}

 

public OnPlayerLeaveCheckpoint(playerid)

{

return 1;

}

 

public OnPlayerEnterRaceCheckpoint(playerid)

{

return 1;

}

 

public OnPlayerLeaveRaceCheckpoint(playerid)

{

return 1;

}

 

public OnRconCommand(cmd[])

{

return 1;

}

 

public OnPlayerRequestSpawn(playerid)

{

return 1;

}

 

public OnObjectMoved(objectid)

{

return 1;

}

 

public OnPlayerObjectMoved(playerid, objectid)

{

return 1;

}

 

public OnPlayerPickUpPickup(playerid, pickupid)

{

return 1;

}

 

public OnVehicleMod(playerid, vehicleid, componentid)

{

return 1;

}

 

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)

{

return 1;

}

 

public OnVehicleRespray(playerid, vehicleid, color1, color2)

{

return 1;

}

 

public OnPlayerSelectedMenuRow(playerid, row)

{

return 1;

}

 

public OnPlayerExitedMenu(playerid)

{

return 1;

}

 

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)

{

return 1;

}

 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

{

return 1;

}

 

public OnRconLoginAttempt(ip[], password[], success)

{

return 1;

}

 

public OnPlayerUpdate(playerid)

{

return 1;

}

 

public OnPlayerStreamIn(playerid, forplayerid)

{

return 1;

}

 

public OnPlayerStreamOut(playerid, forplayerid)

{

return 1;

}

 

public OnVehicleStreamIn(vehicleid, forplayerid)

{

return 1;

}

 

public OnVehicleStreamOut(vehicleid, forplayerid)

{

return 1;

}

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

{

if(dialogid == 1)

{

if(response == 1)

{

dini_Create(subor[playerid]);

dini_Set(subor[playerid],"heslo",hash(inputtext));

 

 

logged[playerid] = true;

}

if(response == 0)

{

Kick(playerid);

}

}

if(dialogid == 0)

{

if(response == 1)

{

if(!strcmp(hash(inputtext),dini_Get(subor[playerid],"heslo"),true))

{

 

logged[playerid] = true;

}

else ShowPlayerDialog(playerid, 0,3,"Prihlasenie","Zle heslo,\nProsim, prihlas sa napisanim hesla!","Prihlasit","Kick");

}

if(response == 0)

{

Kick(playerid);

}

}

return 1;

}

 

public OnPlayerClickPlayer(playerid, clickedplayerid, source)

{

return 1;

}

 

 

potřeboval by aby tohle bylo v kodu a ukladali by se mi veci a nahravali mohl by mi prosim někdo pomoc mnohokrat děkuji

 

dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));

dUserSetINT(PlayerName(playerid)).("banka",bank[playerid]);//do disconnetu

dUserSetINT(PlayerName(playerid)).("ridicak",ridicak[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("povolani",iPlayerRole[playerid]);

GetPlayerPos(playerid,Pozice[playerid][0],Pozice[playerid][1],Pozice[playerid][2]);

dUserSetINT(PlayerName(playerid)).("PosX",floatround(Pozice[playerid][0]));

dUserSetINT(PlayerName(playerid)).("PosY",floatround(Pozice[playerid][1]));

dUserSetINT(PlayerName(playerid)).("PosZ",floatround(Pozice[playerid][2]));

dUserSetINT(PlayerName(playerid)).("WL",GetPlayerWantedLevel(playerid));//ulozime WantedLevel

dUserSetINT(PlayerName(playerid)).("Skin",GetPlayerSkin(playerid));

dUserSetINT(PlayerName(playerid)).("drogy",droga[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Tele Ovladac",tele[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Obcanka",obcanka[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Letecak",letecak[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Stredni skola",sskola[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Vysoka skola",sskola[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Vojenska skola",vojskola[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Ridicak D",ridd[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Marihuana",marihuana[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Zbrojni Pas",zbrojnipas[playerid]);//tohle do disconnectu

dUserSetINT(PlayerName(playerid)).("Dni:",denn[playerid]);

dUserSetINT(PlayerName(playerid)).("Hodin:",hodinaa[playerid]);

dUserSetINT(PlayerName(playerid)).("Minut:",minutka[playerid]);

 

Link to comment
Share on other sites

1 odpověd na tuto otázku

Recommended Posts

  • 0

pochybuju, že ti to tady někdo udělá, ale myslím, že se najde někdo, kdo ti to vysvětlí (dini i dudb jde mimo mě, používám vlastní fce)

 

Nějak se mi celkově zdá ten kód blbě, hlavně to, jak se soubor při registraci vytvoří přes dini a ty chceš pracovat s dudb)...

 

Každopádně ti poradím, že toto je blbě:

 

new subor[MAX_PLAYERS];
...
public OnPlayerConnect(playerid)
{
   format(subor[playerid],500,"%s.sav",GetPlayerNick(playerid));
   return 1;
}

 

subor sice definuješ jako pole, ale do tohoto pole můžeš zapsat pouze integer (číselná hodnota)... Pokud chceš, aby si pro každého hráče měl možnost uložit string, pak musíš vytvořit dvojrozměrné pole:

new subor[MAX_PLAYERS][28];

První rozměr bude id hráče, druhý rozměr může být i řetězec o délce až 28 znaků (maximální délka hráčova nicku + přípona)

 

format() pak použiješ takto:

format(subor[playerid], 28,"%s.sav",GetPlayerNick(playerid));

Místo 28 taky můžeš použít sizeof(), která ti zjišťuje velikost pole (kdyby sis nepamatoval délku, např.)

 

Avšak jelikož jsou tato pole pro 500 hráčů zbytečnými žrouty RAM, tak ti doporučím naučit se používat PVary - jsou sice pomalejší, než definované proměnné, ale nežerou RAM a při odpojení hráče se mažou... :v::boss:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...