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

[Pagalbos] mysql r7


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3683 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

Dabar jo, meta error dėl šios eilutės, 

mysql_function_query(connection_handler,query,false,"","",);

Štai error:

C:\Documents and Settings\Admins\Desktop\LSMP\gamemodes\LSMP.pwn(340) : error 017: undefined symbol "connection_handler"
C:\Documents and Settings\Admins\Desktop\LSMP\gamemodes\LSMP.pwn(340) : error 001: expected token: ",", but found ";"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Ir galėčiau kur yra connection_handler pakeist į DbHandler

Nuoroda į komentarą
Dalintis per kitą puslapį

Praleidai dalį pamokos:

new Duombaze;
public OnGameModeInit()
{
Duombaze = mysql_connect(ip,vartotojas,duombaze,slaptazodis);
}

Ir vietoj connection_handler rašyk "Duombaze", arba taip kaip pavadinai tą kintamąjį.

 

O dėl kitos klaidos

mysql_function_query(connection_handler,query,false,"","",);

Gale yra vienas papildomas kablelis kurio nereikia.

Nuoroda į komentarą
Dalintis per kitą puslapį

mhm dabar šiek tiek apie Duomenų baze, kodėl gražina man tuščias eilutes?

phpMyAdmin SQL Dump
-- version 4.1.6
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2014 m. Kov 25 d. 19:38
-- Server version: 5.5.36
-- PHP Version: 5.4.25

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).

SET time_zone = "+00:00";# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).



/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).

/*!40101 SET NAMES utf8 */;# MySQL gražino tuščią rezultatų rinkinį (nėra eilučių).


--
-- Database: `lsmp`
--

-- --------------------------------------------------------

--
-- Sukurta duomenų struktūra [...]

Štai jau daugiau rašo i mysql_log, bet yra vienas error:

>> mysql_real_escape_string( Connection handle: 1 )
[11:02:50] CMySQLHandler::EscapeString(David_Godez); - Escaped 11 characters to David_Godez.
[11:02:50] >> mysql_query_callback( Connection handle: 1 )
[11:02:50] Passing query SELECT * FROM zaidejai WHERE Vardas = 'David_Godez' | i
[11:02:50] ProcessQueryThread(OnPlayerInfoLoad) - Query was successful. (SELECT * FROM zaidejai WHERE Vardas = 'David_Godez')
[11:02:50] ProcessQueryThread(OnPlayerInfoLoad) - Data caching enabled.
[11:02:50] CMySQLHandler::StoreResult() - Result was stored.
[11:02:50] CMySQLHandler::FreeResult() - Result was successfully free'd.
[11:02:50] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
[11:02:50] OnPlayerInfoLoad(i) - Threaded function called.
[11:02:50] >> cache_get_data( Connection handle: 1 )
[11:02:50] ProcessTick() - The cache has been cleared.
[11:03:01] >> mysql_query_callback( Connection handle: 1 )
[11:03:01] Passing query UPDATE zaidejai SET Pinigai = 0, Score = 1, Darbas = 0, Hp = 0.000000 WHERE pID = 0 | 
[11:03:01] CMySQLHandler::ProcessQueryThread() - Error will be triggered to OnQueryError()
[11:03:37] >> mysql_close( Connection handle: 1 )
[11:03:37] CMySQLHandler::~CMySQLHandler() - deconstructor called.
[11:03:37] CMySQLHandler::FreeResult() - The result is already empty.
[11:03:37] CMySQLHandler::Disconnect() - Connection was closed.
[11:03:37] Unloading Plugin

Nuoroda į komentarą
Dalintis per kitą puslapį

Saugojimas/krovimas - viskas gerai. Bet tau reikėtų dalies kur žaidėjui sukuriama eilutė, paprastai tai daroma registracijoje. Jos pavyzdys būtų:

public OnPlayeConnect(playerid)
{
   GetPlayerName(playerid,pInfo[playerid][Vardas],MAX_PLAYER_NAME);
   format(query,sizeof(query),"SELECT ID,Password FROM zaidejai WHERE  Vardas = '%s'",pInfo[playerid][Vardas]);
   mysql_function_query(Duombaze, query,true,"OnPlayerCheck","i",playerid);
   return 1;
}

forward OnPlayerCheck(playerid);
public OnPlayerCheck(playerid)
{
   new rows,fields;
   cache_get_data(rows,fields);
   if(rows >= 1) 
   {
       ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Prisijungimas","Iveskite slaptazodi:","Testi","Iseiti");
       new pass[128],tmp[16];
       cache_get_row(0,0,tmp); 
       pInfo[playerid][ID]  = strval(tmp);
      cache_get_row(0,1,pass,Duombaze,128);
      SetPVarString(playerid,"Password",pass);
  }
  else
  {
      ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registracija","Iveskite slaptazodi","Testi","Iseiti");
  }
   return 1;
}


public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
   switch(dialogid)
  {
     case 1: 
     {
         if(!response) return Kick(playerid);
          //  Čia dar yra problema. funkcija "strcmp" sakys kad string yra vienodi(ji lygina string), jei bent viens iš jų bus tuščias.
         /// Galima būtų išspręsti su isnull funkcija, bet dabar nenoriu apsunkinti visko
         new pass[128]; 
         GetPVarString(playerid,"Password",pass);
         if(!strcmp(inputtext,pass))
         {
                 // Žaidėjas prisijungė. Čia jau galima krauti jo duomenis.
         }
        else
        {
             //  Įvedė neteisinga slaptažodė
        } 
     }
     case 2:
     {
         if(!response) return Kick(playerid);
         // Tas pats kaip praeitame GUI, reikėtų tikrinti ar žaidėjas KĄ NORS įvedė
         new query[256];
         format(query,sizeof(query),"INSERT INTO zaidejai (Vardas, Password)VALUES('%s', '%s')", pInfo[playerid][Vardas],inputtext);
         mysql_function_query(Duombaze,query,true,"OnPlayerRegister","i",playerid);
         return 1;
      }
  }
} 

forward OnPlayerRegister(playerid);
public OnPlayerRegister(playerid)
{
     pInfo[playerid][ID] = cache_insert_id();
     return 1;
}

Kode gali būti klaidų.

Nuoroda į komentarą
Dalintis per kitą puslapį

Kaip dėl šio ?      pInfo[playerid][iD] = cache_insert_id(); 

error 

C:\Documents and Settings\Admins\Desktop\LSMP\gamemodes\LSMP.pwn(474) : error 017: undefined symbol "cache_insert_id"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
1 Error.
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3683 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ą...