XStormiest
-
Posts
140 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by XStormiest
-
-
pai si asta ar insemna ca dialogul apare de fiecare data cand schimba clasa
-
Eu nu prea cred ca ar fi furat cv,nu are dc, m-am uitat in scripturile lui Gireada si sunt tari, in fine
Nu prea stiu ce sa cred, oricum bravo 5/5
-
atunci fa-ti unul
-
Deci ma enerveaza, am facut un register cu bud, login, totul si frumos nici o eroare , ma inregistrez, insa cand ma loghez nu imi incarca nimic din file
o sa las chestile de la care cred ca este problema
[pawn]
#include <a_samp>
#include <bud>
enum PData{
Money,
Score,
Kills,
Deaths,
Admin,
Rank
};
new PlayerInfo[MAX_PLAYERS][PData];
new iScore, iMoney, iKills, iDeaths, iAdmin, iRank;
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
#define SERVER_NAME "In Development server"
#define MIN_CHAR 3
#define MAX_CHAR 12
#define REGISTER_DIALOG 1
#define LOGIN_DIALOG 2
public OnGameModeInit()
{
//Database
BUD::Setting(opt.Database, DATABASE);
BUD::Setting(opt.Asynchronous, true);
BUD::Setting(opt.KeepAliveTime,3000);
BUD::Setting(opt.CheckForUpdates,true);
BUD::Initialize();
BUD::VerifyColumn("Score",BUD::TYPE_NUMBER);
BUD::VerifyColumn("Deaths",BUD::TYPE_NUMBER);
BUD::VerifyColumn("Kills",BUD::TYPE_NUMBER);
BUD::VerifyColumn("Money",BUD::TYPE_NUMBER);
BUD::VerifyColumn("Admin",BUD::TYPE_NUMBER);
BUD::VerifyColumn("Rank",BUD::TYPE_NUMBER);
//Misc
SetGameModeText("XStormiest's Server");
//Classes
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
BUD::Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
PlayersOnline++;
// register, login
if(BUD::IsNameRegistered(GetName(playerid) ) == true)
{
new login[128];
format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password.",SERVER_NAME,GetName(playerid) );
ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");
}
else
{
new register[128];
format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.",SERVER_NAME,GetName(playerid) );
ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayersOnline--;
//save to database if player is register
if(BUD::IsNameRegistered(GetName(playerid)) == true)
{
new userid = BUD::GetNameUID(GetName(playerid) );
BUD::MultiSet(userid, "iiiiii",
"Score",PlayerInfo[playerid][score],
"Deaths",PlayerInfo[playerid][Deaths],
"Kills",PlayerInfo[playerid][Kills],
"Money",PlayerInfo[playerid][Money],
"Admin",PlayerInfo[playerid][Admin],
"Rank",PlayerInfo[playerid][Rank]);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new userid = BUD::GetNameUID(GetName(playerid) );
if(dialogid == REGISTER_DIALOG)
{
if(!response) Kick(playerid);
if(response)
{
if(strlen(inputtext) < MIN_CHAR || strlen(inputtext) > MAX_CHAR)
{
new register[256];
format(register,sizeof(register),"Welcome to %s, %s\nPlease register to the server, by selecting your password.\nPassword must be min %d characters and max %d characters",SERVER_NAME,GetName(playerid),MIN_CHAR,MAX_CHAR);
ShowPlayerDialog(playerid,REGISTER_DIALOG,DIALOG_STYLE_PASSWORD, "Register..", register , "Register","Leave");
}
else
{
BUD::RegisterName(GetName(playerid),inputtext);
BUD::MultiSet(userid, "iiiiii",
"Score",0,
"Deaths",0,
"Kills",0,
"Money",2000,
"Admin",0,
"Rank",0);
GivePlayerMoney(playerid,2000);
GameTextForPlayer(playerid, "~r~You are now register",2000,0);
PlayerInfo[playerid][score] = iScore;
PlayerInfo[playerid][Money] = iMoney;
PlayerInfo[playerid][Kills] = iKills;
PlayerInfo[playerid][Deaths] = iDeaths;
PlayerInfo[playerid][Admin] = iAdmin;
PlayerInfo[playerid][Rank] = iRank;
}
}
if(dialogid == LOGIN_DIALOG)
{
if(!response) Kick(playerid);
if(response)
{
if(BUD::CheckAuth(GetName(playerid),inputtext) == false)
{
new login[256];
format(login,sizeof(login),"Welcome to %s, %s\nPlease login to the server, by using your password\nInvalid password.",SERVER_NAME,GetName(playerid) );
ShowPlayerDialog(playerid,LOGIN_DIALOG,DIALOG_STYLE_PASSWORD, "Login..", login, "Login","Leave");
}
else
{
userid = BUD::GetNameUID(GetName(playerid) );
BUD::MultiGet(userid, "iiiiii",
"Score",iScore,
"Deaths",iDeaths,
"Kills",iKills,
"Money",iMoney,
"Admin",iAdmin,
"Rank",iRank);
PlayerInfo[playerid][score] = iScore;
PlayerInfo[playerid][Kills] = iKills;
PlayerInfo[playerid][Money] = iMoney;
PlayerInfo[playerid][Deaths] = iDeaths;
PlayerInfo[playerid][Admin] = iAdmin;
PlayerInfo[playerid][Rank] = iRank;
GivePlayerMoney(playerid,PlayerInfo[playerid][Money]);
SetPlayerScore(playerid,PlayerInfo[playerid][score]);
GameTextForPlayer(playerid,"~r~You are now logged in",2000,0);
}
}
}
}
return 1;
}
[/pawn]
-
pai practic prin sqlite e facut acest include => script-ul e tot prin sqlite
Ca practic tu din script adaugi in data de baze , or scrii in data de baze, e ca si cum ai face un script de sqlite numai ca e mai sigur si mai usor si nu i-a atat de mult...
-
vezi ca ala Audio_SetPack are doar 2 parametrii
-
Sunt unele chesti care nu le-am inteles in scriptu tau cum ar fi: pentru ce ai pus toate "printf-urile" alea acolo?
Mi se par cam inutile, nu inteleg pentru ce ai facut asta , pentru ca exista /save [nume], care este din samp si poti afla de acolo coordonatele
In fine felicitari pentru munca depusa
-
Da stiu mi-am dat seama dupa aia , cred o ca sa fac un update, INSA AICI este o exceptie adica acele lucrui se aplica numai daca SAVE_SCORE/MONEY este true, deci daca ai de ex doar score, money activat nu e nici o problem dar nu este nici o problema nici daca le ai pe ambele. L-am testat si merge bine, salveaza, incarca...
scrptul merge perfect
-
Dea, stiu nu inteleg , deci toti incepatorii prefera sa se incurce cu chestii grele de folosit si complicate
In loc de zcmd/ycmd folosesc strcmp/strtcat
In loc de y_ini folosesc dini ( in fine e bun si dini , dar este foarte incet iar daca ai vreo 1000 conturi inregistrate sv incepe sa mearga mai greu)
Si multe altele
Eu de ex cunosc
Command Processor: zcmd,ycmd, strcmp
Save Processor: dini, Y_INI, ( foarte putin din SQL, de aia folosesc BUD)
Looping: foreach
-
nu e vorba doar de aceea chestie, si de iterator, dupa cum stii foreach poate crea o grupa de obiecte, masini, case, etc si sa se aplice un lucru numai pentru aceea grupa dar in fine , oricum ai dreptate nu prea cred ca se merita un tutorial
-
ma bucur ca va place, nu e greu de inteles dar in fine
Multumesc
Si da,...eram putin suparat ca nmeni nu se uita la scriptu meu ), dar apoi mi-am dat seama ca e prea dimineata
-
Nu radem de tine ca nu stii foreach, cred ca am sa fac un tutorial pentru asta.
E usor de folosit, dar totusi e bun si vechea metoda de loop
-
Se refera ca poate Anti-Cheatul tau poate sa blocheze banii sa se adauge la tine, deobicei este vorba de functiile respectivului Anti Cheat altfel nu te va lasa sa bagi bani...
-
nu are legatura faptul ca este pe MySQL, chiar nu are legatura cu comanda ta.
Depinde de situatie: folosesti sscanf, zcmd | strtok dcmd | strtok zcmd | strtok strcmp
Ma rog posteaza comanda si ne dam noi seama
-
E bun tutorialul , dar este o mica problema i < 1000, ceea ce inseamna ca scriptul va functiona pentru un max de 1000 de masini, ar trb sa modifici ceva in legatura cu asta , in rest e ok
-
Salut, sunt XStormiest am postat asta si pe sa-mp.com si vreau sa o postez si aici
Am facut pe sa-mp.com multe scripturi si aici cateva doar nu foarte multe, caci sunt cateva motive si stiu eu care.
Descriere:
Acest sistem este facut in totalitate cu bud, este usor de configurat: puteti
Schimba numele bazei de data : TEST.DB, SS.DB , Dar atentie trb sa aiba sintaxa .db!
Puteti schimba numele care apare in dialog cand intri pe sv "[Name of the Server]", option pus de mine il inlocuiti cu numele sv vostru
Puteti configura daca sa salveze: bani , scorul de asemenea nu doar ca va salva/incarca dar se vav si inregistra aceea optiune in baza de date.
Si in ultimul rand puteti modifica minimul de charactere din parola respectiv maximul
Aveti nevoie de BUD: Poate fi gasit aici doar http://forum.sa-mp.com/showthread.php?t=187720
Descarcati scriptul de aici: [download]http://www.solidfiles.com/d/ab82209b79[/download]
Iar de aici descarcati ReadSQL , cu care puteti citi data de baze doar :
[download]http://www.solidfiles.com/d/d4f551c351[/download]
Fotografii: Voi posta maine
[update] Se pare ca gresisem ceva la el, dar acum e bun
[download]http://pastebin.com/CHf3zMy0[/download]
[download]http://pastebin.com/CHf3zMy0[/download]
Noul link !!! [Recomandat]
-
parca bagai ceva
#define I_AM_NOT_RETARD
parca numai sunt sigur
-
da a facut , eu eram si pe atunci cand era Zh3r0 activ pe forumu asta.
In fine au fost multi buni , si vor fi eu sincer nu sunt un scripter asa de bun , ce stiu si eu cate va sa fac...
Cred ca nu exista lista sa enumar toti scripterii...... (doar romanii) ex:
Zh3r0
Farse
cmdlife ( parca asa)
si multi altii...
Mda in fine
Oricum bravo
-
Sunt cam nou la sectiunea sql, si as vrea sa ma ajutati un pic.
Am facut acest micut script cu sql
[pawn]
#include <a_samp>
new DB:Database;
public OnFilterScriptInit()
{
db_open("Test.db");
db_free_result(db_query(Database,"CREATE TABLE IF NOT EXIST 'Test'('Name','Value')") ));
return 1;
}
public OnFilterScriptExit()
{
db_close(Database);
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/medatabase",true) == 0)
{
new Query[128],name[24],DBResult:Result;
GetPlayerName(playerid,name,sizeof(name));
format(Query,sizeof(Query),"SELECT * FROM 'Test' WHERE 'Name' = '%s',name);
Result = db_query(Database,Query);
if(db_num_rows(Result) )
{
SendClientMessage(playerid,-1,"Esti deja in data de baze");
return 1;
}
else
{
SendClientMessage(playerid,-1,"Acum esti in data de baze");
new sQuery[128];
format(sQuery,sizeof(sQuery),"INSERT INTO 'Test'('Name','Value') VALUES('%s','%d')",name,5);
db_query(Database,sQuery);
db_free_result(db_query(Database,sQuery) );
}
}
return 0;
}
[/pawn]
Scuze nu este indentitat l-am facut chiar acum prin forum
Nu prea stiu foarte bine sql , dar sper sa ma corectati voi daca stiti?
O intrebare: sql e mai rapid decat y_ini
stiu ca sql e o baza de data interna care salveaza/incarca din baza de date, pe cand y_ini este un file processor adica creaza file-uri de tip .txt, .cfg, .ini etc..adica readable si scrie/citeste din acel file, dar vreau sa stiu daca e mai rapid decat y_ini
-
ok o sa incerc
-
Am si eu o intrebare
deci nu prea sunt sigur daca e buna functia
[pawn]
stock randomEx(minnum = cellmin, maxnum = cellmax) return random(maxnum - minnum + 1) + minnum;
[/pawn]
Ma puteti ajuta
Nu sunt sigur daca e buna e facuta de mine
Si vreau sa o folosescs in scriptu-l meu
-
number of arguments does not match definition: in traducere: intr-o anumita functie ai pus ceva in plus sau in minus
pune linia 13043
-
pai cu ce? stiu ca te referi la benzina dar nu vreau daca te ajut si iti fac tot , tu ce mai faci?
seteaza variabila care iti seteaza tie fuel la 1000 sau ma rog la cat e max,,
-
Pai poate ca uni vor ca pe serverele lor sa se salveze coordonatele
Si da salveaza coordonatele, adica x,y,z,angle,world,interior
[ C++ ]Un joc !
in Filterscript-uri
Posted
Ninja a infintat aceasta comunitate ;)