-
Posts
25 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
News
Documentation
Posts posted by TedyYy.
-
-
Uite asa. http://pastebin.com/6sTKUMps
Vad ca nu ti-am mai dat erorile cu liniile.
-
Aha , am inteles , desigur ca nu sunt bine aliniate(asezate) , uite cum ar trebui sa fie aranjat scriptul tau.
Daca nu merge , poti lasa un reply.
-
Nu ai asezat bine liniile. Ai pus mai multe [ } ] de cat trebuia
-
Quote
CMD:housename(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai.");
if(PlayerInfo[playerid][pPinLogged] == 0 && strlen(PlayerInfo[playerid][pPin]) != 1) return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Contul tau este blocat. Scrie /pin pentru a il debloca si pentru a folosi aceasta comanda.");
if(IsPlayerConnected(playerid))
{
new bouse = PlayerInfo[playerid][pPhousekey],housename[250],string[100],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if (PlayerInfo[playerid][pPhousekey] != 999 && strcmp(GetName(playerid), HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
{
if(sscanf(params, "s[250]", housename)) return SendClientMessage(playerid, COLOR_GREY, "Sintaxa: {FFFFFF}/housename <Message>");
new maxc = strlen(housename);
if(maxc > 20) return SCM(playerid,COLOR_YELLOW2, "Eroare: Maximum caracter is 20.");
new housename2[250];
mysql_real_escape_string(housename, housename2);
strmid(HouseInfo[bouse][hDiscription], housename2, 0, 64, 255);
format(string, sizeof(string), "House name set to: %s",HouseInfo[bouse][hDiscription]);
SendClientMessage(playerid, COLOR_WHITE, string);
new str[256];
format(str,sizeof(str),"UPDATE houses SET Discription='%s' WHERE ID='%d'",HouseInfo[bouse][hDiscription],PlayerInfo[playerid][pPhousekey]);
mysql_query(SQL,str);
OnPropTextdrawUpdate(1, bouse);
}
else
{
SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: You don't own a house.");
}
}
return 1;
}EDIT NoNamed : Data viitoare cand pui date de contact in post-uri primesti warn .
- 1
-
Citat
CMD:housename(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai.");
if(PlayerInfo[playerid][pPinLogged] == 0 && strlen(PlayerInfo[playerid][pPin]) != 1) return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: Contul tau este blocat. Scrie /pin pentru a il debloca si pentru a folosi aceasta comanda.");
if(IsPlayerConnected(playerid))
{
new bouse = PlayerInfo[playerid][pPhousekey],housename[250],string[100],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if (PlayerInfo[playerid][pPhousekey] != 999 && strcmp(GetName(playerid), HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
return SendClientMessage(playerid, COLOR_YELLOW2, "Eroare: You don't own a house.");
{
if(sscanf(params, "s[250]", housename)) return SendClientMessage(playerid, COLOR_GREY, "Sintaxa: {FFFFFF}/housename <Message>");
new maxc = strlen(housename);
if(maxc > 20) return SCM(playerid,COLOR_YELLOW2, "Eroare: Maximum caracter is 20.");
new housename2[250];
mysql_real_escape_string(housename, housename2);
strmid(HouseInfo[bouse][hDiscription], housename2, 0, 64, 255);
format(string, sizeof(string), "House name set to: %s",HouseInfo[bouse][hDiscription]);
SendClientMessage(playerid, COLOR_WHITE, string);
new str[256];
format(str,sizeof(str),"UPDATE houses SET Discription='%s' WHERE ID='%d'",HouseInfo[bouse][hDiscription],PlayerInfo[playerid][pPhousekey]);
mysql_query(SQL,str);
OnPropTextdrawUpdate(1, bouse);
}
}
return 1;
}Incearca asa , daca nu merge, revii cu un reply.
- 1
-
if(response)//daca se apasa pe primul buton se vor intampla urmatoarele { SendClientMessageToAll(-1, "Serverul se va inchide in 5 secunde");//Se da un messaj la tot serverul , cum ca severul se va inchide dupa 5 minute. TimpScurs = SetTimer("mesajul", 5000, false);//Aici este new-ul , dupa cum vedeti , TimpScurs = cu comanda timpului. }
Daca te reveri la acel SendClientMessageToAll , da asa am pus eu , asa am vrut sa fie.
-
Daca tot este pus la punct iar timer-ul merge perfect nu vreau sa modific nimic , oricum multumesc pentru recenzii
-
Nu prea am inteles ce ai vrut sa spui.
1.Tu acolo ai scris SetTimerEx , nu este totuna cu SetTimer , sunt doua lucruri diferite si nu fac acelasi lucru
SetTimerEx("mesajul",5000,false,"d",playerid);
2.Tu ai luat dialogul dupa bunul plac. Nu era gresit daca am pus id-ul dialogului.
3.Nici macar nu ai probat sa vezi daca merge sau daca aveam erori la compilare.
4.Concluzie: Eu zic ca nu prea am avut greseli , dar iti multumesc pentru reply.
if(dialogid == DIALOG_SERVERCLOSED)
-
Destul de frumos .
-
Stiti ce am inteles eu prin toate aceste reply-uri ? . Ca noi te sustinem in continuare si nu vrem ca tu sa te lasi de scripting . Asta am inteles eu
-
Asa o sa fac , multumesc de recomandare
- 1
-
-
Salutare Sa-Mp.Ro, astazi am venit cu un tutorial destul de usor zic eu.Pentru cei care inca nu stiu cum sa foloseasca un Timer pentru serverul lor vor invata chiar acum.
Ce trebuie sa retineti:
SetTimer("mesajul", 5000, false); sau SetTimer("mesajul", 5000, true); //SetTimer = Comanda pentru timp. //1000 = timpul care este controlat de timer se masoara in milisecunde. Deci // 1 secunda = 1000 milisecunde, 5 secunde = 5000 milisecunde // false = inseamna ca nu se repeta timer-ul , true = inseamna ca timer-ul se repeta mereu.
Sa incepem cu inceputu'
Avem nevoie de un include denumit foreach , iar acest include puteti sa-l gasiti aici
#include <foreach> #include <zcmd>//avem nevoie si de zcmd pentru a crea o comanda , sau puteti folosi comanda pawnu-lui
Eu am decis sa cream o comanda pe dialog , deci.
#define DIALOG_SERVERCLOSED 1//Definim un dialog
Trebuie sa fabricam si un new.
new TimpScurs;// este new-ul care ne va ajuta la timp.
Acum cream comanda dorita.
CMD:serverclosed(playerid, params[]) { ShowPlayerDialog(playerid, DIALOG_SERVERCLOSED, DIALOG_STYLE_MSGBOX, "Server Closed", "Doriti sa inchideti acest server?", "Ok", "No"); //Este un dialog care l-am creat eu. return 1; }
Dupa ce am creat comanda, mergem si facem un public si un forward.
forward mesajul();//Se creaza forward-ul public mesajul()//cream publicul de care avem nevoie { foreach(Player, i)//Pentru a folosi aceasta comanda aveam nevoie de foreach, daca la sendclientmessage scriam playerid, inloc de i imi aparea o eroare { SendClientMessage(i, -1, "Ai inchis serverul: Timpul care s-a scurs a fost de 5 secunde");//Dupa ce timpul s-a scurs apare acest mesaj si SendRconCommand("exit");//se va inchide serverul } }
Mergem si la OnDialogResponse(), fiindca avem un dialog de reprezentat.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1)//dialogulid care l-am creat noi. { if(response)//daca se apasa pe primul buton se vor intampla urmatoarele { SendClientMessageToAll(-1, "Serverul se va inchide in 5 secunde");//Se da un messaj la tot serverul , cum ca severul se va inchide dupa 5 minute. TimpScurs = SetTimer("mesajul", 5000, false);//Aici este new-ul , dupa cum vedeti , TimpScurs = cu comanda timpului. } else//Daca se apasa al 2-lea buton ii se inchide dialogul si ii va da un mesaj { SendClientMessage(playerid, -1, "Ai anulat!"); } } return 1; }
Si la final se va distruge Timpul , mergem la OnGameModeExit()
public OnGameModeExit() { KillTimer(TimpScurs);// KillTimer inseamna ca se va distruge timpul nostru , adica =TimpScurs return 1; }
Am realizat un timer cu o comanda . Peste 5 secunde serverul se va inchide prin apasarea unui singur buton.
Asta a fost tutorialul meu ,sper ca va placut si ne revedem data viitoare.
Nu uitati - Tutorial 100% creat de mine ,
Nu uitati - Daca va placut tutorialul puteti da un +1
-
La 04.07.2016 la 22:24, Mister a spus:
O fi corigent la mate, ce sa faci, corigent la mate si editezi gmuri, asa e azi :)))
Bine zis , multi asa sunt in ziua de astazi . :))
-
Nu conteaza la ce profil sunteti , eu am intrat la Matematica-Informatica si nu o sa invat acolo pawno , trebuie sa va placa acest limbaj dupa care poti sa-l inveti . Te uiti la videoclipuri , la tutoriale pe forumul nostru si asa poti invata. @AdryanOvi joburile, factiunile nu sunt mereu in acelasi loc unde vezi si pe alte servere , daca crezi ca acolo este jobul respectiv inseamna ca nu ai adaugat bine filterscript-ul
-
Chiar foarte bun tutorialul , o sa-l folosesc in gamemode-ul meu .
-
Iti dau un sfat bun, zic eu . Daca ai 100 lei , iti poti lua o carte numita C++ , inveti fragment cu fragment, particica cu particica, o sa-ti vina mai usor sa inveti pawno.
-
Mie nu mi-au placut niciodata comenzile , /bonus /cadou , trebuie sa munceasca ei pentru level sau bani , Dar oricum imi place tutorialul tau .
- 1
-
Multumesc , sper ca ai inteles ceva din ce am facut
-
Da este facut de mine si o sa mai fac tutoriale despre altele , haide sa-ti explic si de ce nu inteleg mysql. Ei sigur stiu sa instaleze XAMPP , dar cand vad ca trebuie sa faca coloane , comenzi , query si multe altele , trec direct pe dini sau pe SQLite, deci problema grava este ca : multi nu vor sa invete . Multumesc mult pentru +1
-Mai astept comentarii despre tutorial.
-
Salutare la toti. Bine ati venit la primul meu tutorial pe acest site, azi va voi invata cum sa faceti un Login/Register mai "complex". Am vazut ca multi fug de MySQL fiindca li se par foarte greu . Eu am pregatit unul pe include-ul [DINI], iar acest include puteti sa-l descarcati de aici.
Sa incepem.
Pentru inceput vom aduga cele doua include-uri
Citat/*Credite : TedyYy. , Tutorial Login/Register Sa-mp.Ro*/
#include <a_samp>
#include <dini>Ca in orice login/register ne trebuie niste enum-uri, haideti sa le facem.
Avem enum-uri la Dialoguri
Citatenum
{
DIALOG_REGISTER, //dialog de inregistrare
DIALOG_LOGIN,//dialog de logare
DIALOG_AGE,//dialog de varsta
DIALOG_SEX,//dialog de sex
DIALOG_EMAIL,//dialog de email
DIALOG_FINISH// ultimul dialog(dialog finala)
}Avem enum-uri si la cont
Citatenum pInfo
{
pLogged,// cu el verificam daca este conectat sau nu playerul pe server
pPass,
pAge,
pSex,
pEmail
}new PlayerInfo[MAX_PLAYERS][pInfo]; // Aici se regasesc toate datele despre cont [Parola, Varsta, Sex ,Email ..etc] iar acestea se salveaza intr-un fisier cu extensia .ini
Acum avem nevoie sa vedem daca contul exista sau nu exista. DIALOG_REGISTER - Nu exista cont .. DIALOG_LOGIN - Exista cont
Citatpublic OnPlayerConnect(playerid)
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "accounts/%s.ini", pname);// Aici am redirectionat datele de la cont sa se salveze in niste fisiere cu extensia .ini , iar aceste fisiere se regasesc in folderul "accounts"
if(dini_Exists(path)) // verificam daca contul exista
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN: Login Account", "Welcome Back, type in the box below \nPassword on our existing accounts", "Login", "Exit");//Am vazut ca , contul exista , deci am apelat la dialogul cu Login, deoaece are o parola si se poate loga
}
else//opusul lui , adica daca contul nu exista
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FF3333}[1/5]{FFFFFF}REGISTER: Register Account", "Bine ai venit, introdu parola dorita in casuta de mai jos\nPentru a putea sa se creeze un cont in baza noastra de conturi", "Register", "Exit");//Am vazut ca , contul nu exista , deci am apelat la dialogul cu register ca sa se creeze o parola si alte date..
}
/*InterpolateCameraPos(playerid, 1662.168823, -1525.083984, 160.861648, 1860.854248, -952.482666, 255.745819, 10000);
InterpolateCameraLookAt(playerid, 1662.083984, -1520.090942, 160.611755, 1858.182006, -956.270141, 253.871215, 10000);*/ //Puteti sa le puneti doar daca doriti ca serverul sa fie mai stralucitor(frumos)
return 1;
}La "InterlopateCameraPos" si la "InterlopateCameraLookAt" puteti sa puneti daca vreti. -Cand se conecteaza playerul pe server , ii se va misca camera.
Dupa ce am facut si asta vom merge la "public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])" Si vom crea urmatoarele Dialoguri --> "DIALOG_REGISTER", "DIALOG_AGE", "DIALOG_SEX", "DIALOG_EMAIL", "DIALOG_FINISH" si "DIALOG_LOGIN"
1.DIALOG_REGISTER
Citatpublic OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "accounts/%s.ini", pname);
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
{
new pwlength = strlen(inputtext);//cream new-ul
if(pwlength > 4)// parola trebuie sa fie mai mare de 4 caractere!
{
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "{CC0000}SERVER: {FFFFFF}Parola salvata");
dini_Create(path);//se creaza path-ul
dini_Set(path, "Password", inputtext);//Se seteaza linia "Password" in fisierul %s.ini
ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!", "Next", "Exit");//Aici am pus DIALOG_AGE, pentru ca atunci cand apasa primul buton de la register sa ii dea direct acest dialog..
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FF3333}[1/5]{FFFFFF}REGISTER: Register Account", "Tasteaza parola in casuta de mai jos pentru a te inregistra\nParola trebuie sa aibe mai mult de 4 caractere!", "Register", "Exit");
}
}
}2.DIALOG_AGE - Varsta
Citatcase DIALOG_AGE: //Dialog-Varsta
{
if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
{
new age = strval(inputtext);//cream new-ul
if(age < 6 || age > 35) // varsta trebuie sa fie cuprinsa 6 si 35 de ani mai bine zis, sa nu fie mai mica de 6 si sa nu fie mai mare de 35 de ani.
return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!\nVarsta trebuie sa fie intre [6] si [35] de ani", "Next", "Exit");//Aici ii precizeaza de la cati ani pana la cati ani sa fie varsta..
{
new string[120];
SendClientMessage(playerid, COLOR_SERVER, "");
format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Varsta setata la %s ani", inputtext);
SendClientMessage(playerid, 0xFFFFFF, string);
dini_Create(path);//se creaza path-ul
dini_Set(path, "Varsta", inputtext); //Se seteaza linia "Varsta" in fisierul %s.ini
PlayerInfo[playerid][pAge] = age;// Aici pAge = age, mai explicit pAge = cu numarul scris in casuta de Varsta adica , pAge = 15 sa zicem..
}
}
else
{
ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "{FF3333}[2/5]{FFFFFF}AGE: Age Account", "Introdu varsta caracterului tau!!\nVarsta trebuie sa fie intre [6] si [35] de ani", "Next", "Exit");//Aici ii precizeaza de la cati ani pana la cati ani sa fie varsta..
}
}3.DIALOG_SEX -Sex-ul caracterului
Citatcase DIALOG_SEX:
{
if(response)//primul buton , se intampla urmatoarele chestii
{
new string[120];
SendClientMessage(playerid, COLOR_SERVER, "");
format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Sex-ul caracterului tau este Masculin");
SendClientMessage(playerid, 0xFFFFFF, string);
dini_Create(path);//se creaza path-ul
dini_Set(path, "Sex", "0");//Se seteaza linia "Sex" in fisierul %s.ini
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti", "Next", "Exit");//Aici am pus DIALOG_EMAIL, pentru ca atunci cand apasa primul buton de la dialog_age sa ii dea direct acest dialog..
SetSpawnInfo(playerid, 0, 58, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Setam spawn-ul playerului cu tot cu skin
}
if(!response)
{
new string[120];
SendClientMessage(playerid, COLOR_SERVER, "");
format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Sex-ul caracterului tau este Feminin");
SendClientMessage(playerid, 0xFFFFFF, string);
dini_Create(path);//se creaza path-ul
dini_Set(path, "Sex", "1");//Se seteaza linia "Sex" in fisierul %s.ini
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti", "Next", "Exit");
SetSpawnInfo(playerid, 0, 56, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Setam spawn-ul playerului cu tot cu skin
}
}4.DIALOG_EMAIL - Email-ul
Citatcase DIALOG_EMAIL:
{
if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
{
new email = strlen(inputtext);// cream new-ul
if(email > 4)//email-ul trebuie sa fie mai mare de 4 caractere
{
new string[120];
SendClientMessage(playerid, COLOR_SERVER, "");
format(string, sizeof(string), "{CC0000}SERVER: {FFFFFF}Email-ul tau este %s", inputtext);
SendClientMessage(playerid, 0xFFFFFF, string);
dini_Create(path);//se creaza path-ul
dini_Set(path, "Email", inputtext);//Se seteaza linia "Email" in fisierul %s.ini
ShowPlayerDialog(playerid, DIALOG_FINISH, DIALOG_STYLE_MSGBOX, "{FF3333}[5/5]{FFFFFF}FINISH: Finish Step", "Felicitari, te-ai inregistrat cu succes pe server", "Finish", "");//Aici am pus DIALOG_FINISH, pentru ca atunci cand apasa primul buton de la dialog_email sa ii dea direct acest dialog..
}
else
{
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "{FF3333}[4/5]{FFFFFF}EMAIL: Email Account", "Introdu email-ul tau pe care il folosesti. Email-ul trebuie sa aiba mai mult de 4 caractere", "Next", "Exit");//DIALOG_EMAIL mai detaliat[mai mare de 4 caractere]
}
}
}5.DIALOG_FINISH - Final de inregistrare
Citatcase DIALOG_FINISH:
{
if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
{
new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
SendClientMessage(playerid, COLOR_SERVER, "");
format(string, sizeof(string), "SUCCES: You have logged with name '%s'", name);
SendClientMessage(playerid, 0x999999, string);
SpawnPlayer(playerid);//Spawneaza playerul la locul lui[SetSpawnInfo]
}
}6.DIALOG_LOGIN - Login-ul
Citatcase DIALOG_LOGIN:
{
if(!response) return Kick(playerid); //Daca apasa butonul "cancel" sau apasa tasta "ESC" el va primi kick automat
if(response)//Daca apasa primul buton se vor intampla urmatoarele minuni
{
new pwlength = strlen(inputtext);
if(pwlength > 4)//parola mai mare de 4 caractere
PlayerInfo[playerid][pSex] = 0; // pSex = 0 - este masculin
{
SetSpawnInfo(playerid, 0, 58, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Alege skin-ul si spawn-ul
}
PlayerInfo[playerid][pSex] = 1; // pSex = 1 - este feminin
{
SetSpawnInfo(playerid, 0, 56, 1081.3278,-1702.0394,13.5469,182.3852, 0, 0, 0, 0, 0 ,0);//Alege skin-ul si spawn-ul
}
{
new pw[200];
format(pw, sizeof(pw), "%s", dini_Get(path, "Password"));
if(strcmp(inputtext, dini_Get(path, "Password"), true))//Aceasta comanda este foarte importanta deoarece , acesta verifica daca parola este corecta, adica daca este acceasi ca la register
return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Password Incorrected", "Introdu parola corecta a contului tau", "Login", "Exit");// Ii da dialogul cu parola incorecta
{
PlayerInfo[playerid][pLogged] = 1;// Player logat pe server pLogged = 1 - logat
PlayerInfo[playerid][pAge] = dini_Int(path, "Age");//Verifica varsta
PlayerInfo[playerid][pSex] = dini_Int(path, "Sex");//Verifica Sex
PlayerInfo[playerid][pEmail] = dini_Int(path, "Email");//Verifica Email
SpawnPlayer(playerid);// Spawneaza player
}
return 1;
}
}
}
}
return 1;
}Acum ca am terminat cu dialoguri-le si le-am creat pe toate vom trece la ultima etapa, si aceea este
Citatpublic OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/accounts/%s.ini", pname);PlayerInfo[playerid][pLogged] = 0;// Player delogat pLogged = 0 - delogat
}Asta a fost tutorialul , este primul meu turorial si sper ca va placut mult
Daca am avut greseli de ortografie sau greseli in script nu ezitati sa lasa-ti un reply . Multumesc
Nu uitati - Tutorial 100% creat de mine ,
Nu uitati - Daca va placut tutorialul puteti da un +1
- 4
-
Foarte bun tutorialul , l-am testat si m-am chinuit pana am reusit , +1
-
Puteti da T/C am reusit , era de la pluginul "mysql.dll" , am pus o versiune mai veche din greseala , si acum am pus una mai noua , multumesc oricum.
-
Salut , am o problema care imi bat capul cu ea de ceva timp , am tot incercat s-o rezolv dar nu a iesit nimic.
Aici este Server_Log
Citat
----------
Loaded log file: "server_log.txt".
----------SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team[15:23:10]
[15:23:10] Server Plugins
[15:23:10] --------------
[15:23:10] Loading plugin: mysql.dll
[15:23:10]
/*************************************************/
/* SAMP-MySQL v0.15 Plugin loaded successfully ! */
/*************************************************/[15:23:10] Loaded.
[15:23:10] Loading plugin: streamer.dll
[15:23:10]*** Streamer Plugin v2.6.1 by Incognito loaded, modified by Jovanny ***
[15:23:10] Loaded.
[15:23:10] Loaded 2 plugins.[15:23:10]
[15:23:10] Filterscripts
[15:23:10] ---------------
[15:23:10] Loaded 0 filterscripts.[15:23:10] Script[gamemodes/server.amx]: Run time error 19: "File or function is not found"
[15:23:10] Number of vehicle models: 0
[15:23:11] --- Server Shutting Down.
[15:23:11]
/***************************************************/
/* SAMP-MySQL v0.15 Plugin unloaded successfully ! */
/***************************************************/[15:23:11]
*** Streamer Plugin v2.6.1 by Incognito unloaded, modified by Jovanny***
Multi spun ca este de la plugins , ceea ce eu n-am probleme(erori) cu plugins , altii spun ca este de la NET Framework , eu am:[3.5] si pe [4].
Iar in gamemode nu imi da nici-o eroare.
CitatProcess started >>>
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase<<< Process finished. (Exit code 0)
================ READY ================Sper ca ati inteles din ce v-am aratat si sper ca o sa ma ajutati , Multumesc .
Problema comanda /vre si /spawncar (cmd for admins)
in Arhivă probleme
Posted
Pentru a distruge masina in care esti exista comanda "IsPlayerInVehicle" ... deci. if(IsPlayerInVehicle(playerid, car)) { DestroyVehicle(car); } Cand playerul respectiv se afla intr-o masina (IsPlayerInVehicle) iar el foloseste comanda /vre se distruge masina . DestroyVehicle(car)