-
Posts
269 -
Joined
-
Last visited
About Amaroq
- Birthday 08/13/2005
Profile Information
-
Gender
Male
-
Location
Constanta, Romania
-
Hobbies
Helping hummanity, curing dumbness.
Previous Fields
-
Real name
Francisc
Recent Profile Visitors
701 profile views
Amaroq's Achievements
-
Ba, nuj de ce, dar sunt curios de celelalt tip de cadou din partea Mosului Nicolae
-
Eu nu am ciuda fata de nimeni si ce ai zis tu este nesimtire, cred ca as putea sa o numesc. Iar apoi, nu sunt un simplu membru al comunitatii, sunt UN MEMBRU AL COMUNITATII si la fel esti si TU. Nu conteaza ca ai gradul de programator daca ai atitudinea asta. O zi frumoasa iti doresc.
-
In primul rand, nu imi place atitudinea ta si mentalitatea. In al doilea rand, nu a postat aiurea, ce a zis fiind intr-o oarecare masura ce ti-am zis si eu. Iar in al treilea rand, poti adauga ceva de genul: Te-as ruga sa postezi cand ai timp de "sisteme proprii", nu asa 3 topicuri intr-o zi cu chestii foarte simple sau copiate. Sper sa ai o zi suberba.
-
Frumos si simplu, dar cam prea simplu. Si un lucru pe care l-am observat si la celalalt 'tutorial', este cum notezi pasii, ceea ce nu inteleg. De ce pui "1. pas" si nu "Pasul I", "Pasul 1", "I" sau orice alta notatie. In continuare sa ai succes si o frumoasa seara iti doresc eu tie!
-
Bravo! Ce pot sa spun, cel mai tare tutorial de la tutorialele mele, cel mai folositor si desigur, deloc furat de aici // asa ca felicitari! Continua tot asa si SAMP-ul va fi fost mort deja cand dau eu capacitatea la anu'. Acum vine si rugamintea mea: incearca sa faci ceva original, sau daca nu e original, macar incearca sa intelegi cu adevarat tutorialul, astfel fiind capabil de al distribui si reproduce in propriul tau fel. Sper ca ai inteles ce am vrut sa zic si iti urez o seara frumoasa si succes in continuare!
-
Salut! Acesta teoretic este un tutorial, dar unul simplu. Poate data viitoare vei incerca sa-l faci mai complex si vezi ca nu ai postat in sectiunea corecta. Sectiunea corecta era Tutorials -> Pawn. Succes!
-
Frumos mapping, dar la ce-ar putea ajuta? Nu poti face minigame pe aceasta locatie deoarece nu-s destule locuri in care ai putea sa te ascunzi sau sa creezi tactici. Cel mult poate un paintball, dar altceva nu. Oricum, felicitari!
-
Amaroq changed their profile photo
-
Multumesc de informare!
-
Salut! Astazi va voi arata cum sa faceti un sistem de Job pe MySQL. Atentie: Nu voi arata cum se fac job-urile, doar cum se salveaza si cum poate ajuta. Tutorialul se va imparti in 2 parti: In gamemode In baza de date In gamemode Acum sa incepem. Unde aveti in gamemode enumeratiile (enum) adaugati: enum jInfo { jID, jName[32], Float:jPosX, Float:jPosY, Float:jPosZ, jLevel, jLegal, Text3D:jLabel, jPickup }; new JobInfo[MAX_JOBS][jInfo]; // MAX_JOBS definiti voi ori puneti in loc de MAX_JOBS un numar (exemplu 7) sau la definitii(#define) adaugati #define MAX_JOBS (7) La enum pInfo unde aveti pLevel, pAdmin, etc, adaugati: pJob, Acum ce mai trebuie facut e sa incarcam job-urile. Pentru a lucra mai usor vom defini (daca nu avem deja definit) #define script%0(%1) forward%0(%1); public%0(%1) script LoadJobs() { jobss = cahce_num_rows(); // adaugati new jobss = 0; unde aveti new-urile daca nu aveti deja for(new i = 0; i <= jobss; i++) { f = i - 1; cache_get_value_name_int(f, "ID", JobInfo[i][jID]); cache_get_value_name(f, "Name", JobInfo[i][jName], 32); cache_get_value_name_float(f, "X", JobInfo[i][jPosX]); cache_get_value_name_float(f, "Y", JobInfo[i][jPosY]); cache_get_value_name_float(f, "Z", JobInfo[i][jPosZ]); cache_get_value_name_int(f, "Level", JobInfo[i][jLevel]); cache_get_value_name_int(f, "Legal", JobInfo[i][jLegal]); cache_get_value_name_int(f, "Pickup", JobInfo[i][jPickup]); JobInfo[i][jLabel] = Create3DTextLabel("%s job\nType [/getjob] to employ", 0xFFFFFF, JobInfo[i][jPosX], JobInfo[i][jPosY], JobInfo[i][jPosZ],300.0, 0, 0); } return 1; } Acum sa explic. script LoadJobs() { return 1; } Aici creem functia care va incarca job-urile. jobss = cache_num_rows() jobss este o variabila care indica toate job-urile din baza de date, iar cache_num_rows(); numara job-urile. for(new i = 0; i <= jobss; i++) { } Folosim aceasta bucla pentru a cauta job-urile. Aici intra in actiune jobss, care are valoarea x (x fiind toate job-urile din baza de date) si i = 0, job-ul incarcat. Bucla cauta toate job-urile ca sa explic mai simplu. f = i - 1; cache_get_value_name_int(f, "ID", JobInfo[i][jID]); cache_get_value_name(f, "Name", JobInfo[i][jName], 32); cache_get_value_name_float(f, "X", JobInfo[i][jPosX]); cache_get_value_name_float(f, "Y", JobInfo[i][jPosY]); cache_get_value_name_float(f, "Z", JobInfo[i][jPosZ]); cache_get_value_name_int(f, "Level", JobInfo[i][jLevel]); cache_get_value_name_int(f, "Legal", JobInfo[i][jLegal]); cache_get_value_name_int(f, "Pickup", JobInfo[i][jPickup]); f = i - 1; indica index-ul de unde sa incarce job-urile, iar celelalte linii incarca efectiv job-urile. Atentie! Cand incarcati string-uri (nume de exemplu) dupa destinatie adaugati al treilea argument numarul de caractere. Ca sa explic, daca aveti jName[32], 32 este numarul de caractere maxim al numelui. Iar pentru a termina in gamemode adaugati la public OnGameModeInit() new query[128]; // daca nu aveti deja mysql_format(g_handle, query, sizeof(query), "SELECT * FROM `jobs`"); mysql_tquery(g_handle, query, "", ""); g_handle este "manerul", handle in engleza, aici nu pot explica prea bine ca nici eu nu stiu asta, dar tot ce stiu este ca este un lucru care ajuta la conexiune. In baza de date. Vom creea un nou tabel numit "jobs" cu 7 randuri. Dupa asta completati randurile cum dupa urmatoarea poza. La final acolo unde este PRIMARY urmati urmatoarele poze. La ID la length puneti 11, am uitat eu sa pun. Iar apoi Iar acum tot ce mai ramane de facut este sa compilati gamemode-ul, sa apasati pe Save in josul paginii in tabel si apoi sa adaugati job-uri. Adaugarea job-urilor este foarte simpla, Iar apoi de la insert este simpla treaba, doar aveti grija sa lasati la ID gol, in rest X, Y, Z sunt coordonatele, level - nivelul minim, legal - daca este legal sau ilegal ( 0 - legal, 1 - ilegal) si pickup - id pickup-ului (acel i care se invarte este 1239). Am ajuns la finalul tutorialului. Sper ca v-am ajutat si va doresc o zi frumoasa!
-
In sfarsit cineva care intelege !
-
Imi cer scuze pentru inactivitate. Numere FormatNumber(number) { new Str[15]; format(Str, 15, "%d", number); if (strlen(Str) < sizeof(Str)) { if (number >= 1000 && number < 10000) strins( Str, ",", 1, sizeof(Str)); else if (number >= 10000 && number < 100000) strins(Str, ",", 2, sizeof(Str)); else if (number >= 100000 && number < 1000000) strins(Str, ",", 3, sizeof(Str)); else if (number >= 1000000 && number < 10000000) strins(Str, ",", 1, sizeof(Str)),strins(Str, ",", 5, sizeof(Str)); else if (number >= 10000000 && number < 100000000) strins(Str, ",", 2, sizeof(Str)),strins(Str, ",", 6, sizeof(Str)); else if (number >= 100000000 && number < 1000000000) strins(Str, ",", 3, sizeof(Str)),strins(Str, ",", 7, sizeof(Str)); else if (number >= 1000000000 && number < 10000000000) strins(Str, ",", 1, sizeof(Str)), strins(Str, ",", 5, sizeof(Str)), strins(Str, ",", 9, sizeof(Str)); else format(Str, 10, "%d", number); } else format( Str, 15, "<BUG>" ); return Str; } Cu acest stock puteti formata numere, il gasiti oriunde, deci va rog sa nu mai spuneti ca il gasesti in orice GM si dau copy-paste. Ce face mai exact? Formateaza un numar. Ex: In loc de 1000000 va aparea 1,000,000. O sa va dau un exemplu de folosire si va voi si explica new str[64], bani; // mesajul si banii bani = GetPlayerMoney(playerid); // ii aflam banii format(str, sizeof(str), "Ai $%s bani.", FormatNumber(bani)); // Formatam mesajul, ATENTIE!!!! Sa nu puneti niciodata %i sau %d. Numai %s. Altfel, va bugui tot sistemul la care lucrati! SendClientMessage(playerid, 0xFF0080, str); // trimitem mesajul // la FormatNumber(bani) se poate scrie direct si FormatNumber(GetPlayerMoney(playerid)), scotand astfel 2 linii. Este la latitudinea voastra cum utilizati. Sper ca am fost de ajutor, astept reply sau PM cu nelamuriri in legatura cu orice problema, fie cu ce postez, fie cu ce lucrati voi. Va doresc o zi frumoasa !
-
Jucator random stock GetRandomPlayer() { foreach(Player, i) { if(IsPlayerConnected(i)) { return i; } } return 0; } Cu acest stock puteti alege un jucator aleatoriu. Acest stock poate fi folosit la extrageri. Atentie! Aveti nevoie de foreach pentru a functiona stock-ul. Daca nu aveti foreach, inlocuiti foreach(Player, i) cu for(new i; i < GetPlayerPoolSize(); i++)