Dobrý mám robenu registraciu cez dini a neuklada mi skin teda uloží mi ho ale keď sa prihlasujem skočí na ten skyn čo tam bol od posledneho prihlásenia ale keď dám spawn tak mi tam hodí skyn 0 a nie napr skyn 20...Prosím poradte čo stým
Toť moja registrácia code:
#include<a_samp>
#include<dini>//bere funkce z knihovny dini #include<dudb>//bere funkce z knihovny dudb #include<dutils>//bere funkce z knihovny dutils
#define SCM SendClientMessage #defineSendMessageSendClientMessage // TERAZ MOZES POUZIVAT AJ SendMessage aj len SCM
enum PLAYER_INFO// - něco jako databaze odkud bere informace proměná Informace { bool:Login// pokud už enum máte stačí do něj přidat toto (bool: logická porměnná, true or false) }
newInformace[MAX_PLAYERS][PLAYER_INFO];// info o hráč, využívá seznam z enumu
stock Jmeno(playerid)// zjištění jména { new pName[MAX_PLAYER_NAME];//proměnná na zapsání jména
if(IsPlayerConnected(playerid))//pokud je hráč připojen { if(!IsPlayerNPC(playerid))// a pokud to není NPC { GetPlayerName(playerid, pName,sizeof(pName));//zjistí jeho jméno } } return pName;//odešle jméno }
publicOnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Real.Play1.1"); AddPlayerClass(0,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(5,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(6,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(7,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(8,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(9,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(10,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(11,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(12,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(13,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(14,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(15,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(16,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(17,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(18,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(19,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(20,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); AddPlayerClass(21,1875.2098,1336.1964,16.9223,0.6600,0,0,0,0,0,0); return1; }
publicOnGameModeExit() { return1; }
publicOnPlayerRequestClass(playerid, classid) { if(!Informace[playerid][Login])// kontrola jestli neni prihlasen { if(udb_Exists(Jmeno(playerid)))// pokud je zaregistrován { new message[256];// proměnná pro zprávu format(message,sizeof(message),"Vitej zpatky, %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));//připraví zprávu¨s parametrem do dialogu ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT,"Prihlaseni", message,"OK","Konec");// otevře přihlašovací dialog s kolonkou na heslo } else// ale pokud nemá účet { new message[256];// připraví proměnnou pro zprávu format(message,sizeof(message),"Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));// formát zprávy s parametrem ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT,"Registrace", message,"OK","Konec");// pošle hráči registrační dialog s kolonkou pro heslo } }
SetPlayerPos(playerid,1875.2098,1336.1964,16.9223); SetPlayerCameraPos(playerid,1873.6270,1342.7435,16.9223); SetPlayerCameraLookAt(playerid,1875.2098,1336.1964,16.9223); return1; } publicOnPlayerConnect(playerid) { Informace[playerid][Login]=false;//nejdřív se musí přihlásit SendClientMessage(playerid,ZELENA,"Vytaj Na RoelPlay-Servery,RealPlay1.1"); return1; }
publicOnPlayerDisconnect(playerid, reason) { if(Informace[playerid][Login]==true)//pokud je přihlášen {
dUserSetINT(Jmenp(playerid)).("Skin",GetPlayerSkin(playerid)); dUserSetINT(Jmeno(playerid)).("Penize",GetPlayerMoney(playerid));//zjistí peníze a uloží je to na váš účet Informace[playerid][Login]=false;//aby nebyl přiští hráč již přihlášen } return1; }
publicOnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == REG_DIALOG && response)//pokud je to registrační dialog { if(strlen(inputtext)==0)//pokud nezadá heslo { SendClientMessage(playerid, B_CERV,"[ ! ] Moc kratke heslo!");//napíše informaci new message[256];//proměnná pro zprávu format(message,sizeof(message),"Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));//příprava zprávy s parametrem ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT,"Registrace", message,"OK","Konec");//odešle znova reg. dialog } else//ppokud zadal heslo { if(udb_Create(Jmeno(playerid),inputtext))//pokud se podaří zaregistrovat { new message[256];// proměnná pro zprávu format(message,sizeof(message),"Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));//formát zprávy s parametrem ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT,"Prihlaseni", message,"OK","Konec");//odešle log. dialog } else { new message[256];//proměnná pro zprávu format(message,sizeof(message),"Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));//příprava zprávy s parametrem ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT,"Registrace", message,"OK","Konec");//odešle znova reg. dialog } } }
if(dialogid == LOG_DIALOG)// pokud je to přihlašovací dialog { if(response==1) { if(udb_CheckLogin(Jmeno(playerid),inputtext))//pokud se povede přihlásit { //zde dávejte věci které se provedou po přihlášení - nahrání peněz atp. 1.GivePlayerMoney(playerid,dUserINT(Jmeno(playerid)).("Penize")GetPlayerMoney(playerid));//nahraje uložené peníze 2.SetPlayerSkin(playerid,dUserINT(Jmeno(playerid)).("Skin")-GetPlayerSkin(playerid)); Informace[playerid][Login]=true;// že už je přihlášen new message[256];//proměnná na uložení zprávy format(message,sizeof(message),"[ * ] Vitej ve hre %s!",Jmeno(playerid));// zpráva s parametrem SendMessage(playerid, B_ZELE, message);//odeslání zprávy SendMessage(playerid, B_BILA,"[ * ] Mel by jsi si zaridit obcansky prukaz.");//informace při přihlášení SendMessage(playerid, B_BILA,"[ * ] Bez neho si nic neporidis, ani se nezamestnas.");//informace při přihlášení SendMessage(playerid, B_BILA,"[ * ] Napis /commads pro seznam prikazu.");//informace při přihlášení SendMessage(playerid, B_BILA,"[ * ] Napis /help pokud neco nevis.");//informace při přihlášení } else// pokud dal špatné heslo { SendMessage(playerid, B_CERV,"[ ! ] Spatne heslo!");//napíše informaci new message[256];//proměnná pro zprávu format(message,sizeof(message),"Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));//zpráva s parametrem Jmeno ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT,"Prihlaseni", message,"OK","Konec");//pošle znova přihlašovací dialog } } else//pokud zmáčkne talčítko Konec { SendMessage(playerid, B_CERV,"[ ! ] Prihlaseni je povinne!");//napíše informaci new message[256];//proměnná pro zprávu format(message,sizeof(message),"Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n",Jmeno(playerid));// zpráva ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT,"Prihlaseni", message,"OK","Konec");//zobrazí znova log. dialog s zprávou } } return1; }
Dotaz
swoot 0
Dobrý mám robenu registraciu cez dini a neuklada mi skin teda uloží mi ho ale keď sa prihlasujem skočí na ten skyn čo tam bol od posledneho prihlásenia ale keď dám spawn tak mi tam hodí skyn 0 a nie napr skyn 20...Prosím poradte čo stým
Toť moja registrácia code:
#include <a_samp>
#include <dini> //bere funkce z knihovny dini
#include <dudb> //bere funkce z knihovny dudb
#include <dutils> //bere funkce z knihovny dutils
#define SCM SendClientMessage
#define SendMessage SendClientMessage
// TERAZ MOZES POUZIVAT AJ SendMessage aj len SCM
//#define
#define modra 0x4778C9
#define MODRA 0x0000BBAA
#define MODRA2 0x4682B4AA
#define MODRA3 0x4169FFAA
#define SVMODRA 0x33CCFFAA
#define ZELENA 0x008000AA
#define CYAN 0x00FFFFAA
#define TMAVACYAN 0x008B8BAA
#define BILA 0xFFFFFFAA
#define ZLUTA 0xFFFF00AA
#define HNEDA 0xA52A2AAA
#define HNEDA2 0xBC8F8FAA
#define COKOLADA 0xD2691EAA
#define CERVENA 0xFF0000AA
#define SEDA 0x808080AA
#define FIALOVA 0x800080AA
#define RUZOVA 0xFFC0CBAA
#define CHARTR 0x7FFF00AA
#define ORANZCERV 0xFF4500AA
#define ORANZOVA 0xFF8C00AA
#define NEVIDITE 0x4682B400
#define B_SEDA 0x808080FF //seda barva
#define B_CERV 0xA40000FF //cervena barva
#define B_BILA 0xFFFFFFFF //bila barva
#define B_ZELE 0x00A400FF //zelena barva
#define REG_DIALOG 0
#define LOG_DIALOG 1
enum PLAYER_INFO// - něco jako databaze odkud bere informace proměná Informace
{
bool:Login // pokud už enum máte stačí do něj přidat toto (bool: logická porměnná, true or false)
}
new Informace[MAX_PLAYERS][PLAYER_INFO]; // info o hráč, využívá seznam z enumu
stock Jmeno(playerid) // zjištění jména
{
new pName[MAX_PLAYER_NAME]; //proměnná na zapsání jména
if(IsPlayerConnected(playerid)) //pokud je hráč připojen
{
if(!IsPlayerNPC(playerid)) // a pokud to není NPC
{
GetPlayerName(playerid, pName, sizeof(pName)); //zjistí jeho jméno
}
}
return pName; //odešle jméno
}
main()
{
print("\n----------------------------------");
print("Real.Play1.1");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Real.Play1.1");
AddPlayerClass(0, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(5, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(6, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(7, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(8, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(9, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(10, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(11, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(12, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(13, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(14, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(15, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(16, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(17, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(18, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(19, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(20, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
AddPlayerClass(21, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
if(!Informace[playerid][Login]) // kontrola jestli neni prihlasen
{
if(udb_Exists(Jmeno(playerid))) // pokud je zaregistrován
{
new message[256]; // proměnná pro zprávu
format(message, sizeof(message), "Vitej zpatky, %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //připraví zprávu¨s parametrem do dialogu
ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); // otevře přihlašovací dialog s kolonkou na heslo
}
else // ale pokud nemá účet
{
new message[256]; // připraví proměnnou pro zprávu
format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); // formát zprávy s parametrem
ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); // pošle hráči registrační dialog s kolonkou pro heslo
}
}
SetPlayerPos(playerid, 1875.2098,1336.1964,16.9223);
SetPlayerCameraPos(playerid, 1873.6270,1342.7435,16.9223);
SetPlayerCameraLookAt(playerid,1875.2098,1336.1964,16.9223);
return 1;
}
public OnPlayerConnect(playerid)
{
Informace[playerid][Login] = false; //nejdřív se musí přihlásit
SendClientMessage(playerid,ZELENA, "Vytaj Na RoelPlay-Servery,RealPlay1.1");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(Informace[playerid][Login] == true) //pokud je přihlášen
{
dUserSetINT(Jmenp(playerid)).("Skin",GetPlayerSkin(playerid));
dUserSetINT(Jmeno(playerid)).("Penize",GetPlayerMoney(playerid)); //zjistí peníze a uloží je to na váš účet
Informace[playerid][Login] = false; //aby nebyl přiští hráč již přihlášen
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid,-2034.4553,471.7131,35.1723);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerPos(playerid, -2630.0396,700.8793,27.9495);
SendClientMessage(playerid,ZELENA, "Zomrel si!");
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 == REG_DIALOG && response) //pokud je to registrační dialog
{
if(strlen(inputtext) == 0) //pokud nezadá heslo
{
SendClientMessage(playerid, B_CERV, "[ ! ] Moc kratke heslo!"); //napíše informaci
new message[256]; //proměnná pro zprávu
format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //příprava zprávy s parametrem
ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); //odešle znova reg. dialog
}
else //ppokud zadal heslo
{
if (udb_Create(Jmeno(playerid),inputtext)) //pokud se podaří zaregistrovat
{
new message[256]; // proměnná pro zprávu
format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //formát zprávy s parametrem
ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //odešle log. dialog
}
else
{
new message[256]; //proměnná pro zprávu
format(message, sizeof(message), "Zaregistruj se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //příprava zprávy s parametrem
ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Registrace", message, "OK", "Konec"); //odešle znova reg. dialog
}
}
}
if(dialogid == LOG_DIALOG) // pokud je to přihlašovací dialog
{
if(response==1)
{
if (udb_CheckLogin(Jmeno(playerid),inputtext)) //pokud se povede přihlásit
{
//zde dávejte věci které se provedou po přihlášení - nahrání peněz atp.
1.GivePlayerMoney(playerid,dUserINT(Jmeno(playerid)).("Penize")GetPlayerMoney(playerid)); //nahraje uložené peníze
2.SetPlayerSkin(playerid,dUserINT(Jmeno(playerid)).("Skin")-GetPlayerSkin(playerid));
Informace[playerid][Login] = true; // že už je přihlášen
new message[256]; //proměnná na uložení zprávy
format(message, sizeof(message), "[ * ] Vitej ve hre %s!", Jmeno(playerid)); // zpráva s parametrem
SendMessage(playerid, B_ZELE, message); //odeslání zprávy
SendMessage(playerid, B_BILA, "[ * ] Mel by jsi si zaridit obcansky prukaz."); //informace při přihlášení
SendMessage(playerid, B_BILA, "[ * ] Bez neho si nic neporidis, ani se nezamestnas."); //informace při přihlášení
SendMessage(playerid, B_BILA, "[ * ] Napis /commads pro seznam prikazu."); //informace při přihlášení
SendMessage(playerid, B_BILA, "[ * ] Napis /help pokud neco nevis."); //informace při přihlášení
}
else // pokud dal špatné heslo
{
SendMessage(playerid, B_CERV, "[ ! ] Spatne heslo!"); //napíše informaci
new message[256]; //proměnná pro zprávu
format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); //zpráva s parametrem Jmeno
ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //pošle znova přihlašovací dialog
}
}
else //pokud zmáčkne talčítko Konec
{
SendMessage(playerid, B_CERV, "[ ! ] Prihlaseni je povinne!"); //napíše informaci
new message[256]; //proměnná pro zprávu
format(message, sizeof(message), "Prihlas se %s!\n\n\nDole vypln heslo!\n\n\n", Jmeno(playerid)); // zpráva
ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Prihlaseni", message, "OK", "Konec"); //zobrazí znova log. dialog s zprávou
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
Link to comment
Share on other sites
12 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now