Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4857 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Prikeliu temą vėl.Na aš dariau kad man saugotų ten daugiau visko pvz xp ir x y z,localhoste aš padares eilutes ten taskai,x y z ,ten ir pawne pridėjau iš dar kitos pamokos skripta,kad saugotu daugiau.Tačiau tai padarius,aš nueinu i gta sa nuvažiuoju kurnors,išlipu,atsijungiu,tada vel prisijungiu,ir buna mašina tik toje vietoje kur palikau o aš vėl spawne Kaip padaryt kad ir mano poz.saugotu?

rodyk eilutes, informacijos saugojimo, krovimo ir OnPlayerSpawn.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
{
    case 0: // Šiuo atveju - setskin dialogas
    {
    if(response)
{
 new skinid;
  skinid = strval(inputtext);
    if (skinid < 0 || skinid > 299) { return SendClientMessage(playerid, -1, "[ERROR] Neteisingas skin ID! (0-299)"); }
    else
    {
    SetPlayerSkin(playerid, skinid);
    }
    }
    }
}
{
if(dialogid == 1) // Jeigu dialogo id 1 tai yra jeigu jis nori registruotis.
{
 if(response) // Jeigu įvedė slaptažodį ir spaudžia tęsti.
  {
if(strlen(inputtext) < 6) // jeigu slaptažodis sudaro nemažiau 6 simbolių. Vykdome toliau
 {
  ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registracija","Registracijai įveskite slaptažodį kurį naudosite kas kartą prisijungiant prie sąskaitos","Tęsti","Išeiti"); // rodome vėl DIALOGĄ, kad galėtų pasitaisyti neteisingai įvestą  slaptažodį.
    return SendClientMessage(playerid,SPALVA_ORANDZINE,"Slaptažodis tūrėtų sūdaryti nemažiau 6 simbolių, tai jūsų sąskaitos saugumui."); // pranešame žaidėjui kuris suvedė neteisingai
}
 new query[256], vardas[128]; // Stringai  , užklausai bei vardui.
 GetPlayerName(playerid,vardas,128); // įdedame į kintamajį žaidėjo vardą kurį naudosime atpažinimui.
  MySQLCheck(); // Prieš užklausą visada atnaujinome jungtį, kodėl neatnaujinti ir dabar? Gal užmiršo?
  format(query,sizeof(query),"INSERT INTO `"TABLENAME"` (Vardas,Slaptazodis) VALUES ('%s','%s')",vardas,inputtext); // vykdome u?klaus? // vykdome užklausą kurioje suvesime norimus duomenis į MYSQL duom. Taip, pat naudojamės plugino funkcijomis ir užkoduojame slaptažodį - MD5
    mysql_query(query); // padarome užklausą.
    Logged[playerid] = true; // Nustatome, kad žaidėjas prisijungė automatiškai. // Žaidėjui sąskaitą sukurtą, padarome kintamajį true, kad serveris jį atpažintų kaip prisijungusį.
    SendClientMessage(playerid,SPALVA_ORANDZINE,"Užsiregistravote sėkmingai, jūs automatiškai prijungtas. Tęskite norint žaisti."); // Visą ką aš dabar pasakiau pranešame žaidėjui paprastaja kalba (neskriptinimo)  :D
    }
    else if(!response) // Jei žaidėjas paspaudė buttoną išeiti, tai metam jį iš serverio, right ?
    {
    Kick(playerid); // Išspiriame žaidėja, todėl kad nenorėjo registruotis.
    }
    return 1;
    }
if(dialogid == 2) // Jeigu žaidėjas užregistruotas ir norėtų prisijungti prie savo sąskaitos rodome jam dialogą id-2
 {
  if(response) // jai paspaus tęsti.
    {
new vardas[128], query[256]; // Kintamieji vardui bei užklausai.
 GetPlayerName(playerid, vardas, 128); // gaunam zaidejo pavadinimą ir įdedame į kintamajį vardas 
if(IsPlayerConnected(playerid)) // jeigu žaidėjas prisijungęs
 {
  MySQLCheck(); // Atnaujiname jungtį, nes gali būti užmigusi.
    format(query,sizeof(query),"SELECT Pinigai FROM `"TABLENAME"` WHERE Vardas = '%s' AND Slaptazodis = '%s' LIMIT 1",vardas,inputtext); // Paimame žaidėjo pinigus, kad būtų ką jam atiduoti.
    mysql_query(query); // duodame užklausą, kad gražintų pinigus 
    mysql_store_result(); // Pasidedame gautą rezultatą, nes greit jį .
if(mysql_num_rows() == 1)// jeigu yra atitikmenų iš užklausos
															 {
    PlayerMoney[playerid] = mysql_fetch_int(); // įrašome, kiek jis tūrėjo pinigų į kintamajį.
    GivePlayerMoney(playerid,PlayerMoney[playerid]); // ir lygiai tiek pat atiduodame.
	 SendClientMessage(playerid,SPALVA_ORANDZINE,"Tu sėkmingai prijungtas prie sąskaitos. Sėkmės žaidime!"); // Pranešame ataskaitą apie atiduotus pinigus.
    Logged[playerid] = true; // žaidėjo duomenis teisingi, duodame jam žaisti.
    mysql_free_result(); // nebereikia paimtų duomenų, todėl juos paleidžiame.
    }
    else // jeigu nerado nieko tokio iš duotosios užklausos, reišiasi jis nežino sąskaitos duomenų, arba netesingai įrašė.
    {
    mysql_free_result(); // paleidžiame duomenis, nes neteisingai parašė.
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Prisijungimas","Įveskite savo sąskaitos prisijungimo slaptažodį:","Tęsti","Išeiti"); // DUODAME dar šansą prisijungti, kad nereiktų jungtis į serverį iš naujo.
    return SendClientMessage(playerid,SPALVA_ORANDZINE,"Sąskaitos vartotojas neatpažintas, greičiausiai slaptažodis neatitiko."); // pranašame klientui kas blogai, kodėl neprijungia jo prie sąskaitos.
    }
    }
    else // kad išvengti "commands out of sync" klaidų naudojame šitą
    {
    mysql_store_result(); // kad išvengti "commands out of sync" klaidų naudojame šitą
    mysql_free_result(); // kad išvengti "commands out of sync" klaidų naudojame šitą
    }
}
 else if(!response) // Jai paspaude išeiti, nenorėjo prisijungti.
  {
    Kick(playerid); // Spiriame lauk iš serverio, nenori prisijungti.
    return 1;
    }
    return 1;
    }
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

 if(GetPVarInt(playerid, "Prisijunge") == 1)
{
mysql_player_load(playerid);
GameTextForPlayer(playerid,"~w~Tavo zaidimas uzkrautas",5000,4);
}
if(GetPVarInt(playerid, "Prisiregistravo") == 1)
{
 SetPVarInt(playerid, "Prisiregistravo", 2);
 TogglePlayerControllable(playerid,false);
 SetPlayerPos(playerid,-2194.2937,-2257.0632,30.6798);
 SetPlayerScore(playerid,2500);
 SetCameraBehindPlayer(playerid);
 SetPlayerSkin(playerid,147);
}
//Givybes ir lytis | Jei zaidejas jau buvo prisijunges arba uzsiregistravo
if(GetPVarInt(playerid, "Prisiregistravo") != 2)
{
 SetPlayerHealth(playerid,120);
}
//Spalva ir patvirtinimas | Jei zaidejas ka tik uzsiregistravo ar prisijunge
if(GetPVarInt(playerid, "Prisiregistravo") > 2)
{
 SetPVarInt(playerid, "Prisiregistravo", 3);
}
return 1;
}

SendClientMessage(playerid,0xFFFF00AA,"Sveiki atvyke į Angel Pine");
	 Logged[playerid] = false; // Nustatome neigiamą reikšmę Logged kintamajam, nes kai žaidėjas prisijungia į serverį, jis nebūna prisijungęs prie savo sąskaitos, right ?
	 new string[128],pName[MAX_PLAYER_NAME+1],query[256]; // sukuriame kintamuosius, vardo atpažinimui, duomenims į mysql paduoti bei žinutei išreikšti.
	 GetPlayerName(playerid,pName,sizeof pName); // įdedame į kintamajį dabartinį žaidėjo vardą, jį naudosime teisingai MYSQL eilutei surasti.
	 MySQLCheck();// Atnaujiname MYSQL jungtį jeigu kartais serveris ją pamiršo.
	 format(query,sizeof(query),"SELECT * FROM `"TABLENAME"` WHERE Vardas = '%s'",pName); // Sudedame apklausą kurią siūsime užklausai gauti visai informacijai apie žaidėją.
	 mysql_query(query); // siunčiame užklausą kurią sūdėjome į query
	 if(IsPlayerConnected(playerid)) // patikriname jeigu žaidėjas prisijunęs
{
GetPlayerName(playerid,pName,sizeof pName); // paimame dar kartą jo vardą.
mysql_store_result(); // atsikeliame iš MYSQL gautą rezultatą
if(mysql_num_rows() > 0) // Jeigu rado duomenis apie vartotoją reiškiasi jis užregistruotas. Duodame jam šansą prisijungti 
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Prisijungimas","Įveskite savo sąskaitos prisijungimo slaptažodį:","Tęsti","Išeiti"); // parodome DIALOG langą, kad būtų kur suvesti sąskaitos slaptažodį, o gal naudojame komanda ? 
 format(string,sizeof(string),"Sąskaita su vardu - (%s) yra užregistruota. Prašome įvesti sąskaitos slaptažodį norėdami prisijungti.",pName); // formatuojame textą
SendClientMessage(playerid,SPALVA_ORANDZINE,string); // parašome suformatuotą textą.
}
else // jeigu nerado nieko apie vartotoją reiškiasi jis neregistruotas, so we dump
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Registracija","Registracijai įveskite slaptažodį kurį naudosite kas kartą prisijungiant prie sąskaitos","Tęsti","Išeiti"); // parodome DIALOGĄ kuriame užregistruos savo slaptažodį.
 format(string,sizeof(string),"Sveikas atvykęs %s, tu šiame serveryje neturi sąskaitos, įvesk slaptažodį norėdamas užregistruoti.",pName); // formatuojame žinutę, kad pasakyti žaidėjui apie neturimą sąskaitą ir reikalingą registraciją.
SendClientMessage(playerid,SPALVA_ORANDZINE,string); // Siunčiame suformatuotą žinutę klientui kuris to prašo.
}
mysql_free_result(); // paleidžiame visus paimtus duomenis, kai reiks vėl pasiimsime.
}
return 1;
}

mysql_player_load(playerid)
{
 new ZaidejoVardas[MAX_PLAYER_NAME],query[500];
 GetPlayerName(playerid, ZaidejoVardas, 24);
 format(query,200,"SELECT * FROM players WHERE Vardas='%s'",ZaidejoVardas);
 mysql_query(query);
 mysql_store_result();
 while(mysql_retrieve_row())
  {
    new Float:coo[3],result[50];
    mysql_fetch_field_row(result,"x"); // gaunam informacija is duomenu bazes
    coo[0] = floatstr(result);
    mysql_fetch_field_row(result,"y");
    coo[1] = floatstr(result);
    mysql_fetch_field_row(result,"z");
    coo[2] = floatstr(result);
    SetPlayerPos(playerid,coo[0],coo[1],coo[2]);
    mysql_fetch_field_row(result,"Drabuziai");
    SetPlayerSkin(playerid,strval(result));
    mysql_fetch_field_row(result,"Pinigai");
    GivePlayerMoney(playerid,strval(result));
  }
return 1;
}
stock MySQL_Save(playerid)
{
 new Float:coo[3];
 GetPlayerPos(playerid,coo[0],coo[1],coo[2]);
 GetPlayerName(playerid,ZaidejoVardas,MAX_PLAYER_NAME);
 format(query,500,"UPDATE players SET x='%f', y='%f', z='%f', Pinigai='%i',Taskai='%i' WHERE Vardas='%s'",coo[0],coo[1],coo[2],PlayerInfo[playerid][specialybe],PlayerInfo[playerid][plead],playerName(playerid));
 mysql_query(query);
}

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4857 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...