burnfire
Membru-
Posts
382 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
News
Documentation
Everything posted by burnfire
-
Mersi Gireada,mi-a mers!!!+1 rep:D
-
Sa mori tu!Iti citez din wiki sa-mp: Vezi,ti-am subliniat cuvantul UPDATE in citat:D .Ca sa nu te faci de ras,mai degraba imi ceri scuze,asa,din bun simt .
-
Din pacate,nu a mers!Dar iti multumesc pentru efort :D
-
Buna ziua useri.Am o problema la conectarea playerilor pe server... Detalii problema:Aici Detalii problema(in caz ca nu ati inteles imaginea):Am facut un cod,in care,la conectarea unui player sa trimita un mesaj la toata lumea cu urmatoarele detalii: Numele playerului care s-a conectat(EX:burnfire) Cati playeri sunt conectati(cu tot cu acel player) ,dar,in loc de acel mesaj,imi arata urmatorul lucru:"re" Metode incercate pentru a solutiona problema:[list type=decimal] [*]Am marit marimea stringului la 1080 [*]Am schimbat SendClientMessage(i,0xFFFFFFFF,string); IN SendClientMessageToAll(0xFFFFFFFF,string); CODUL: [pawn]for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i)) { new string[1080],pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,"pName",sizeof(pName)); format(string,1080,"[Anunt Funny] %s s-a conectat pe server!Acum,sunt conectati %d playeri!",pName,i); return SendClientMessageToAll(0x00FF00FF,string); } }[/pawn] Ma puteti ajuta?
-
Pai daca adauga 1 la valoarea initiala,nu inseamna ca o upgradeaza???
-
Sa continuam cu tutorialul nostru... Instructiuni repetitive 1.FOR(aceasta instructiune are rolul de a upgrada o variabila la un anumit callback(cand un player se conecteaza/cand se spwneaza etc.) [pawn]/*exemplu FOR*/ #include <a_samp> public OnPlayerConnect(playerid) { for(new i,i<MAX_PLAYERS,i++) { if(IsPlayerConected(i)) { new string[128]; format(string,128,"Acest mesaj v-a fi trimis tuturor playerilor cand un player se conecteaza!Acum sunt conectati %d playeri!",i); SendClientMessage(i,-1,string); return 1; } } return 1; } [/pawn] Curand va voi mai aduce cateva functii.
-
Nu prea joc pe alte servere...
-
Am intrat pe serverul lui BuBU (nu vreau sa fac reclama),deci,cerei scuze )
-
Report crash:Cand dai cu spatele pe NRG si in acelasi timp te da serverul jos...ia ghiciti...CRASH. ATENTIE!!!:Am facut acest ost ca sa nu faceti aceasta greseala!
-
Recomand sa folositi Scripting Machine.Are inclus (pe langa 100 de ajutoare minore) are Dialog creator,Sa faci GangZones,porti care se deschis cum vrei tu...etc.Sincer,e foarte simplu de folosit :grin: .Ti-am lasat un link.Daca vrei sa downloadezi Scripting Machine ,apasa aici
-
Puteai sa pui functii care chiar sunt de baza....De exemplu: [pawn]print(constr); constr -- mesajul de aratat[/pawn] Is mai multe functii de baza de genu...dar e bun si asa...
-
Mersi,Rock,am editat:D
-
Instructiuni Pawno Partea 1 a tutorialului Ce sunt instructiunile? Instructiunile sunt acele "comenzi" care au memorate executarea unui program. In limbajul de programare,instructiunile sunt de 3 feluri:Conditionali(se executa daca datele introduse corespund cerintelor introduse,Repetitiv(care tinde sa upgradeze informatia introdusa si,cu ajutorul unei functii,sa o proceseze)si Liniare(instructiuni simple,ce ocupa o singura linie in script) Lista instructiunilor din PAWNO sunt: *Conditionale:if,else,else if,switch *Repetitive:while,for,do while,if-goto *Liniare:goto,break,continue si return Sa incepem explicarea cu Instructiunile Conditionale... 1.IF(este instructiunea care se executa DACA conditia introdusa este corecta) [pawn]/*Exemplu IF*/ new a; ////// a = 5; if(a == 5) return print("a este 5"); [/pawn] 2.ELSE(este instructiunea ceare se executa daca prima conditie(precizata cu ajutorul instructiunii IF este falsa,se v-a executa instructiunea 2) [pawn]/*Exemplu ELSE*/ new b; b = 5; if(b == 4) {//Nu se va executa// print("b este 4"); } else {//Se v-a executa// print("b este 5");[/pawn] 3.ELSE IF(este instructiunea care se v-a executa daca valoarea introdusa este adevarata,un mic exemplu este mai jos) [pawn]new c = 6; if(c == 1) {//Nu se v-a executa// print("c este 1"); } else if(c = 6) {//Se v-a executa// print("c este 6"); } else //Daca c este o alta valoare(ORICE VALOARE INAFARA DE CELE PRECIZATE MAI SUS) {//Nu se v-a executa// print("c este alta valoare"); } [/pawn] 4.SWITCH(este varianta mult mai simpla la if,else if,else) [pawn]new d = 2; switch(d) { case 1: {//Daca d este 1 print("d este 1"); } case 2: {//Daca d este 2 print("d este 2"); } default: {//Daca d este orice alt numar print("d este un numar inafara de 1 si 2"); } }[/pawn] Pentru aceasta zi v-am introdus in lumea instructiunilor cu acest tutorial.In urmatorul tutorial va voi explica instructiunile liniare!! Partea 2 In aceasta parte a tutorialului va voi explica functiilde de tip Liniare 1.GOTO(Este instructiunea care v-a sari peste un anumit cod,pana la cel precizat in instructiune) [pawn]/*Exemplu GOTO*/ new e; //Dupa definirea variabilei,poate urma un cod// goto e; //Codul scris pana la variabila e,nu va fi executata// print ("Acest cod nu v-a fi executat"); e = print("Am ajuns la variabila,de aici,scriptul va fi executat"); //Alt cod...//[/pawn] 2.BREAK(Aceasta instructiune v-a intrerupe o alta instructiune(de obicei,o instructiune repetitiva) [pawn]/*Exemplu BREAK*/ new f; if(f == 3) break;[/pawn] 3.CONTINUE(Instructiunea "Continue" v-a trece peste o repetare(folosita de obicei intr-o functie Repetitiva)) [pawn]/*Exemplu CONTINUE*/ for(new g=0,g<100,g++) { if(g == 1) continue; printf("G este %d",g); }[/pawn] 4.RETRUN(Aceasta instructiune v-a aduce(dupa executarea instructiunii anterioare) o valoare,o functie,etc. [pawn]new h; if(h <= 15) return print("h este mai mic decat 15!!!");[/pawn] Acesta a fost sfaristul celui de-al doilea tutorial.In urmatorul tutroial,va voi explica instructiunile de tip REPETITIV. Daca v-am ajutat,va rog sa lasati un comentariu.Daca nu va place nu lasati comentariu asa...Daca este vre-o greseala in tutorial,invit adminii sa o corecteze!
-
Linkul de la pastebin este aici
-
Am uitat sa precizez ca nu am folosit CallBack-urile "OnPlayerRegister" si "OnPlayerLogin" in scriptul meu...am luat-o cu scriptul de la 0,nu am folosit decat tutoriale de aici si aici
-
E buna pentru inceput.Multumim ca ai postat mappa pe forum!Ai primit un mare 4.75/5 din partea mea
-
Buna,am o mica problema cu un dialog:linkul imaginii este aici.Sa va descriu problema:Am creeat un dialog cu stilul DIALOG_STYLE_INPUT si imi arata un dialog cu stilul DIALOG_STYLE_MSGBOX!!!WTFF???!!! Codul dialogului de register si la OnDialogResponse: [pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { if(response) { new password = inputtext[128]; new string[128]; INI_Open(file); INI_WriteString(file,"Parola",password); new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid,"pName",sizeof(pName)); INI_WriteString(file,"Nume",pName); INI_WriteInt("Level",PInfo[playerid][level]); INI_WriteInt("Cash",PInfo[playerid][cash]); INI_WriteInt("Coins",PInfo[playerid][coins]); INI_WriteInt("Score",PInfo[playerid][score]); SendClientMessage(playerid,0x66FF00FF,"Te-ai inregistrat cu succes!!!"); format(string,128,"Te-ai inregistrat cu succes %s cu parola %s !!!",pName,password); SendClientMessage(playerid,0x66FF00FF,string); } else { SendClientMessage(playerid,0xFF0000FF,"Nu te-ai inregistrat!Ai primit KICK!!!"); Kick(playerid); } }[/pawn] V-as multumi mult daca m-ati putea ajuta!
-
Deci...care mi-l recomanzi? :-/
-
Deci SCAPAREA DE DATE = nu se scrie nimic in fisier,nu?
-
Deci,as vrea sa deschid un server si nu stiu ce sistem de salvare a datelor este mai bun...am incercat pana acum 3 sisteme(Dini,INI si file) si nici una nu mi sa salvat!!! :angry: .Deci,alegerea este a voastra!
-
Ma gandeam ca citesti in palma:)).Acum vorbind serios,mai JOS V-V am pus FS-ul!!![pawn]/*Acest sistem de admin este facut de burnfire Pentru mai multe contact id:[email protected] Thanks for wiki.samp.com pentru tutorialele foarte explicite*/ //Sa incepem// //Includes// #include <a_samp> #include <Dini> #include <dutils> #include <a_objects> //Define-uri// #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define COLOUR_GREEN 0x33AA33AA #define COLOUR_RED 0xAA3333AA #define COLOUR_YELLOW 0xFFFF00AA #define COLOUR_LIGHTBLUE 0x33CCFFAA #define COLOUR_ORANGE 0xFF9900AA #define PlayerFile "BAdmin/Status of PlaYer/Users/%s.ini" #define SettingFile "BAdmin/Settings/MainSettings.ini" #define CommandFile "BAdmin/Settings/Commands.ini" #define DIALOG_CMDS 0 //enums// enum PLAYER_MAIN { PLAYER_NAME[MAX_PLAYER_NAME], PLAYER_IP[16], PLAYER_REGGED, PLAYER_PASS, PLAYER_LOGGED, PLAYER_LEVEL, PLAYER_WIRED, PLAYER_JAILED } enum COMMANDS_MAIN { AKILL, ANNOUNCE, ARMOURALL, BAN, CARHP, EXPLODE, FLIP, GOTO, GETHERE, GIVEARMOUR, GIVEHEALTH, GIVEWEAPON, GOD, HEALALL, IMITATE, IP, KICK, MAXAMMO, PING, SETLEVEL, SETWANTED, TBAN, TIME, WEATHER } //News// new gPlayerInfo[MAX_PLAYERS][PLAYER_MAIN]; public OnFilterScriptInit() { print("\n****************************************"); print("* Admin FS by MR.burnfire*"); print("****************************************\n"); return 1; } public OnFilterScriptExit() { print("\n*******************************************"); print("Admin System UnLoAdEd"); return 1; } public OnPlayerConnect(playerid) { new file[100],Name[MAX_PLAYER_NAME],Ip[16]; GetPlayerName(playerid,Name,sizeof(Name)); GetPlayerIp(playerid,Ip,sizeof(Ip)); format(file,sizeof(file),PlayerFile,Name); if(!dini_Exists(file)) { dini_Create(file); dini_Set(file,"Nume",Name); dini_Set(file,"Ip",Ip); dini_IntSet(file,"Inregistrat",-1); dini_IntSet(file,"Parola",0); dini_IntSet(file,"Level",0); dini_IntSet(file,"Wired",0); dini_IntSet(file,"Jailed",0); } strcat(gPlayerInfo[playerid][PLAYER_NAME], dini_Get(file,"Name")); strcat(gPlayerInfo[playerid][PLAYER_IP], dini_Get(file,"Ip")); gPlayerInfo[playerid][PLAYER_REGGED] = dini_Int(file,"Registered"); gPlayerInfo[playerid][PLAYER_PASS] = dini_Int(file,"Password"); gPlayerInfo[playerid][PLAYER_LEVEL] = dini_Int(file,"Level"); gPlayerInfo[playerid][PLAYER_WIRED] = dini_Int(file,"Wired"); gPlayerInfo[playerid][PLAYER_JAILED] = dini_Int(file,"Jailed"); if(gPlayerInfo[playerid][PLAYER_REGGED] == 0) SendClientMessage(playerid,COLOUR_ORANGE,"Trebuie sa te inregistrezi./register"); else if(gPlayerInfo[playerid][PLAYER_REGGED] == 1) SendClientMessage(playerid,COLOUR_ORANGE,"Trebuie sa te loghezi./login"); gPlayerInfo[playerid][PLAYER_REGGED] = 0; return 1; } public OnPlayerDisconnect(playerid, reason) { new file[100]; format(file,sizeof(file),PlayerFile,gPlayerInfo[playerid][PLAYER_NAME]); dini_Set(file,"Nume",gPlayerInfo[playerid][PLAYER_NAME]); dini_Set(file,"Ip",gPlayerInfo[playerid][PLAYER_IP]); dini_IntSet(file,"Inregistrat",gPlayerInfo[playerid][PLAYER_REGGED]); dini_IntSet(file,"Parola",gPlayerInfo[playerid][PLAYER_PASS]); dini_IntSet(file,"Level",gPlayerInfo[playerid][PLAYER_LEVEL]); dini_IntSet(file,"Wired",gPlayerInfo[playerid][PLAYER_WIRED]); dini_IntSet(file,"Jailed",gPlayerInfo[playerid][PLAYER_JAILED]); gPlayerInfo[playerid][PLAYER_NAME] = 0; gPlayerInfo[playerid][PLAYER_IP] = 0; gPlayerInfo[playerid][PLAYER_REGGED] = 0; gPlayerInfo[playerid][PLAYER_LOGGED] = 0; gPlayerInfo[playerid][PLAYER_PASS] = 0; gPlayerInfo[playerid][PLAYER_LEVEL] = 0; gPlayerInfo[playerid][PLAYER_WIRED] = 0; gPlayerInfo[playerid][PLAYER_JAILED] = 0; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(register, 8, cmdtext); dcmd(login, 5, cmdtext); dcmd(logout, 6, cmdtext); if (strcmp("/cmds", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Comenzi","/register;/login;/logout\nAdmin commands:/akill;/announce","OK!",""); return 1; } if (strcmp("/donate", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Donate","Pentru mai multe informatii accesati site-ul nostru:\n gta-know.ucoz.ro","OK!",""); return 1; } return 0; } dcmd_register(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] == 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Account:Esti deja inregistrat"); else if(!params[0]) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/register parola"); else { new password = num_hash(params); gPlayerInfo[playerid][PLAYER_PASS] = password; gPlayerInfo[playerid][PLAYER_REGGED] = 1; gPlayerInfo[playerid][PLAYER_LOGGED] = 1; GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16); GetPlayerName(playerid,gPlayerInfo[playerid][PLAYER_NAME],128); new string[128]; format(string, sizeof(string), "Te-ai logat cu parola %s !!!", params); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } } dcmd_login(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_REGGED] != 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Trebuie sa te inregistrezi mai intai!!!Inregistreaza-te cu /register parola"); else if(gPlayerInfo[playerid][PLAYER_LOGGED] == 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Account:Esti deja inregistrat"); else if(!params[0]) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/login parola"); else { new password = num_hash(params); if(gPlayerInfo[playerid][PLAYER_PASS] == password) { gPlayerInfo[playerid][PLAYER_LOGGED] = 1; GetPlayerIp(playerid, gPlayerInfo[playerid][PLAYER_IP], 16); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, "You have successfully logged in to your account."); } else return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: Incorrect password."); } } dcmd_logout(playerid, params[]) { #pragma unused params if(gPlayerInfo[playerid][PLAYER_REGGED] != 1) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Accounturi:Trebuie sa te inregistrezi ca sa utilizezi aceasta comanda dand /register parola"); else if(gPlayerInfo[playerid][PLAYER_LOGGED] == 0) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager Accounturi:Esti deja deconectat"); else { gPlayerInfo[playerid][PLAYER_LOGGED] = 0; return SendClientMessage(playerid, COLOUR_LIGHTBLUE, "Manager Accounturi:Te-ai deconectat cu succes!!Ca sa te loghezi trebuie sa dai doar /login"); } } dcmd_akill(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[AKILL]) { new string[100]; SendClientMessage(playerid,COLOUR_ORANGE,"Manager comenzi:Trebuie sa fii admin level 5 MINIM ca sa utilizezi aceasta comanda return SendClientMessage(playerid, COLOUR_ORANGE, string); } else if(!strlen(params)) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/announce mesaj"); else { new id = (isNumeric(params)) ? strval(params) : GetPlayerId(params); if(IsPlayerConnected(id) && id != playerid) { SetPlayerHealth(id, 0.0); new string[128]; format(string, sizeof(string), "Ai fost omorat de admin %s", gPlayerInfo[playerid][PLAYER_NAME]); SendClientMessage(id, COLOUR_ORANGE, string); format(string, sizeof(string), "Ai omorat pe %s", gPlayerInfo[id][PLAYER_NAME]); return SendClientMessage(playerid, COLOUR_LIGHTBLUE, string); } else return SendClientMessage(playerid, COLOUR_ORANGE, "ERROR: You can not admin-kill yourself or a disconnected player."); } dcmd_announce(playerid, params[]) { if(gPlayerInfo[playerid][PLAYER_LEVEL] < gCommands[ANNOUNCE]) { new string[100]; format(string, sizeof(string), "You must be administrator level %d to use that command!", gCommands[ANNOUNCE]); return SendClientMessage(playerid, COLOUR_ORANGE, string); } else if(!strlen(params)) return SendClientMessage(playerid, COLOUR_ORANGE, "Manager comenzi:Aceasta comanda sa utilizeaza asa:/announce mesaj"); else return GameTextForAll(params, gSettings[ANNOUNCE_SECONDS], 1000, 3); } [/pawn]
-
Am facut un mic sistem de admin dupa un tutorial de pe wiki.samp.com(am modificat unele mesaje).In acesta se foloseste include-ul Dini facut de DracoBlue...dar ce sa vezi...cand ma inregistrez imi arata niste mesaje puse de mine...ma uit si in scriptfile dar nu apare NIMIK NIMIK(doar ce era inainte :angry: :angry:AJUTOR!!!Multumesc
-
Ok...Mersi foarte mult si sper ca si ceilalti sa se uite pe aici :D
-
Mersi de explicatie!!!Dar pot folosi aceasta tehnica sa fac si alte comenzi de genu???ca de exemplu /ban id reason?Mersi
