Peršokti į turinį
Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

[MySQL] Emigracijos sistema.


#Karolis

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

Žodžiu "Klausimai, pagalba" skiltyje sakė jog geras kodas, tai inmesiu ir čia :D

Visų pirmiausia savo duomenų bazėje susikuriame naują lentelę pavadinimu "vartotojai" (Jeigu jau turite duomenų bazę tada kurti nereikia).

Toliau :

Susikuriame gamemodo viršuje tokį enum'ą :

enum players {
priziuretojas
};
new PlayerInfo[MAX_PLAYERS][payers];
Ir kurnors prie visų komandu dedame šitą :
CMD:emigruoti(playerid, params[])
{
	if(PlayerInfo[playerid][priziuretojas] == 0) return 0; // Pagalbininkas pasikeičiame į savo...
	new plrid, name[MAX_PLAYER_NAME], query[128]; // Kintamieji.
	GetPlayerName(plrid, name,sizeof(name)); Išgauname emigranto vardą
	if(sscanf(params, "u", plrid)) return SendClientMessage(playerid, -1, "{ff0101}Naudojimas - {ffffff}/emigruoti [Vardas_Pavardë]"); // Jai paraše komanda tik "/emigruoti" jam išsiųs žinutę jog reikią ir vardą ir pavardė parašyti 
        if(GetPlayerScore(plrd > 2000)) return SendClientMessage(playerid, -1, "{ff0101}Žaidėjas turi perdaug patirties, jo emigruoti nebegalime..."); // Jai turės daugiau nei 2k xp neleis emigruoti...
	format( query, sizeof( query ), "UPDATE vartotojai SET Pinigai = 20000, Xp = 2000 WHERE Vardas = '%s'", name ); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )
	mysql_query(query); // Išsiunčiame užklausą į mysql duomenų bazę
	
	format(query,sizeof(query),"Sëkmingai emigravai - %s", name); // Išsiunčiame emigracijos prižiūrėtojui jog emigravo tokį ir tokį žaidėją...
	SendClientMessage(playerid, -1, query); // Išsiunčiam žinutę
	return 1; // baigiam darbą.
}

Arba jai norite kad prie žaidėjo turimų pinigų bei patirties pridėtu jūsų pinigus ir patirties taškus dedam šitą (Dėkui marčiui ;)) :

    format(query, sizeof(query),"UPDATE vartotojai SET Pinigai = %d, Xp = %d WHERE Vardas = '%s'", GetPlayerMoney(plrid) + 20000, GetPlayerScore(plrid) + 2000, name); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )

Nežinau ar čia gavosi pamoka -_- Tad metu į "Skriptai" skiltį...

Jai kas ne taip nepykit baisiai :D

Redaguota , nario *Jamaika
Nuoroda į komentarą
Dalintis per kitą puslapį

Galima gauti šias klaidas kompiluojant:

"undefined symbol PlayerInfo"

Leidžiant MySQL log:

Table *.vartotojai doesn't exist.

 

 

 

http://www.supergames.lt/forum-297/announcement-5-sa-mp-skript%C5%B3-%C4%AFk%C4%97limo-taisykl%C4%97s/

Skaitom skriptų reikalavimus. 

Atsiprašau kai pareisiu patvarkysiu ;)

Nuoroda į komentarą
Dalintis per kitą puslapį

Arba 

format(query, sizeof(query),"UPDATE vartotojai SET Pinigai = 20000, Xp = 2000 WHERE Vardas = '%s'", name); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )

arba 

format(query, sizeof(query),"UPDATE vartotojai SET Pinigai = %d, Xp = %d WHERE Vardas = '%s'", GetPlayerMoney(plrid) + 20000, GetPlayerScore(plrid) + 2000, name); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )
Nuoroda į komentarą
Dalintis per kitą puslapį

Atnaujinau biški temą :D

Bet šį kodą 

format(query, sizeof(query),"UPDATE vartotojai SET Pinigai = %d, Xp = %d WHERE Vardas = '%s'", GivePlayerMoney(plrid, 20000), SetPlayerScore(plrid, 2000), name); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )

vistiek būtų, manau, protingiau pakeisti į šį

format( query, sizeof( query ), "UPDATE vartotojai SET Pinigai = 20000, Xp = 2000 WHERE Vardas = '%s'", name );

, nes pats pagalvok. Kaip tu gali naudoti "SetPlayerScore" ( NustatytiŽaidėjoTaškus ), mysql užklausoje. Tai juk samp funkcija.

Redaguota , nario Martis.`
Nuoroda į komentarą
Dalintis per kitą puslapį

Bet šį kodą 

format(query, sizeof(query),"UPDATE vartotojai SET Pinigai = %d, Xp = %d WHERE Vardas = '%s'", GivePlayerMoney(plrid, 20000), SetPlayerScore(plrid, 2000), name); // Suformatuojame užklausą. (Nežinau ar tiksliai parašiau )

vistiek būtų, manau, protingiau pakeisti į šį

format( query, sizeof( query ), "UPDATE vartotojai SET Pinigai = 20000, Xp = 2000 WHERE Vardas = '%s'", name );

, nes pats pagalvok. Kaip tu gali naudoti "SetPlayerScore" ( NustatytiŽaidėjoTaškus ), mysql užklausoje. Tai juk samp funkcija.

Na gerai pakeisiu -_-

Nuoroda į komentarą
Dalintis per kitą puslapį

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