This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - V01D
1
« on: December 08, 2024, 05:48:49 PM »
Apsolutno nisi kompetentan da pricas o optimizacijama, kad pogledas Valhallu sve ti se samo kaze
Koliko se secam isti taj server je radio puna 3 meseca, bez bilo kakvih problema po pitanju optimizacije. Racunajuci da je server bio na hostu od 5 eura mesecno, mape su ucitavale sve iz pripizdine, mod kao mod je radio svima perfektno iako je vecina igraca, kao i ja, imala jako los PC, i mogli su samo samp da igraju. Tako da tih 3 meseca je dokazalo da je server radio bez problema, bagovi koji su imali su bili samo na openu koliko se secam
2
« on: December 08, 2024, 05:46:09 PM »
new playerName[64]; // Za čuvanje imena igrača format(playerName, sizeof(playerName), "DOBRODOSLI\n{7E60BF} %s", ImeIgraca(playerid)); // Formatiranje imena
new tmpobjid, object_world, object_int; tmpobjid = CreateDynamicObject(7914, 1422.062744, -973.979187, 56.023708, 0.000000, 0.000000, -15.200000, object_world, object_int, -1, 300.00, 300.00); SetDynamicObjectMaterialText(tmpobjid, 0, playerName, 130, "Arial", 30, 1, 0xFFFFFFFF, 0x00000000, 2); //error error 035: argument type mismatch (argument 4)
format(playerName, sizeof(playerName), "{000000}DOBRODOSLI\n %s", ImeIgraca(playerid)); // Formatiranje imena tmpobjid = CreateDynamicObject(7914, 1422.096801, -973.967773, 55.943721, 0.000000, 0.000000, -15.200000, object_world, object_int, -1, 300.00, 300.00); SetDynamicObjectMaterialText(tmpobjid, 0, playerName, 130, "Arial", 30, 1, 0xFFFFFFFF, 0x00000000, 2); //error error 035: argument type mismatch (argument 4)
3
« on: December 08, 2024, 12:13:10 AM »
E dobro si ovo napisao!!! Popravit ovu Fs iskoristit kao ideju i bazu da napravim svoju sa prepravkama da bude bolja u dijalogu sa svim predlozima npr super ti je ova ideja za provjeru kad je oruzije kad je auto...Dodao bi spremanje sta je igrac kupio to nisam vidio da ima i nakon reloga dok ne potrosi municiju ili slupa auto..i vip skinove da ima mjenjat mozda al to se prkosi id-jevi oruzija i skinova su isti imas ideju neki programerski trik kako to savladat? Ovo za kupiitem ima listu ispise u chatu kolko vidim i onda odaberes po ID koju stavku oces kupit al treba to u dijalog bude preglednije mozda kategorije napravit ili npr da dijalog prvo prikaze oruzija pa onda auta jer se ona manje kupuju itd ili sortirat po cijeni nesto vidjet kako to izvest moram zapocet isprobat te prijedloge za array jer nisam puno bas s njima radio a sscanf plugine nebi koristio jer ja pratim kako je na wikiju klasicne funkcije ono da svima radi bez da se dodatno sta moga ubacivat eto ako mozete pomoc da ovo unaprijedimo napravim FS bolju u dijalog i da sprema kad kupi dok ne potrosi mozda da se dinamicno admin dodaje stvari iz igrice pokusat napravit pa cu objavit tu da posluzi i drugima za premium/donator sistem
Sto se tice toga za skinove, dodas nesto sto ti sluzi kao vrsta : #define MAX_PREMIUM_ITEMS 7 // broj premium itema u shop
#define ITEM_TYPE_VEH 0 #define ITEM_TYPE_WEAPON 1 #define ITEM_TYPE_SKIN 2
enum premiumItems { //deklarisemo koje informacije cuvamo
itemName[32], //ime itema itemID, //ID itemPrice, //Cena itemType };
new g_PremiumItems[MAX_PREMIUM_ITEMS][premiumItems] = { //sada cemo ovde popuniti array {"Infernus", 511, 50, ITEM_TYPE_VEH}, //stavljamo naziv itema, ID i cenu {"Deagle", 24, 100, ITEM_TYPE_WEAPON}, {"NRG-500", 522, 200, ITEM_TYPE_VEH}, {"M4", 31, 150, ITEM_TYPE_VEH}, {"Buccaneer", 518, 300, ITEM_TYPE_VEH}, {"Skin 13", 13, 10, ITEM_TYPE_SKIN}, {"Skin 58", 58, 25, ITEM_TYPE_SKIN} };Bilo bi dobro napraviti da ovo sve bude dinamicno, mada nije to tezak posao sve u svemu. Sto se sscanf-a tice, napravljen je sa razlogom, i sa razlogom je u svakom modu, isto kao i streamer. Procitaj malo oko toga. Moguce je napraviti mod sa samo nativnim funkcijama iz a_samp-a, ali definitivno otezavas sebi, optimizaciji moda, itd.... Isto vazi za komande na primer, mozes koristiti strcmp u OnPlayerCommandText, ali neces videti da to ljudi koriste, i naravno, ne koriste sa razlogom zato sto ima nesto bolje i lakse. Mada, na kraju krajeva, tvoja stvar
4
« on: December 08, 2024, 12:01:35 AM »
Moze pomoc oko medkid sistema ?? Pokusavam ga napravit al nece svaki put treci put ga ubije odma Radio sam sa OnPlayerTakeDamage, stavljo i timer na igraca kad ima ispod 15hp da ga freeze i animaciju i vrati helt al opet nekad umre odma Trebam savjet kako dalje koju funkciju na koji princip to radi vidjao sam u meanwhile modu tamo npr radi 10/10 puta Probo sam i OnPlayerDeath koristit al isto mi nije islo dobro jedino da napravim da sacuva pozicije di ima ispod 15hp i onda ga teleportira na to mjesto zafreeza i nastima animaciju al nezz jel tako ispravno ili moze nekako lakse drugacije hvala ucim skriptati 2 godine i objavljivat cu svoje radove gamemod napravit filterscript nekome ce koristit medkit sistem i markere
Nije greska, ali nije ni najbolja metoda. Morao bi u OnPlayerTakeDamage da proveravas svaki put health igraca. Ako bi mu pao health ispod 15 prilikom primanja damage-a da vrati 0 To bi izgledalo ovako : public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart) {
new Float:hp; GetPlayerHealth(playerid, hp); //uzmemo trenutni hp igraca
new Float:newHP = hp - amount; //deklarisemo newHP gde cemo oduzeti trenutni hp sa damage-am koji je primio if(newHP <= 15.0) { //ovde proveravamo ako ce broj biti manji ili jedan 15 ( sto znaci da kada primi damage health bi mu bio ispod 15 ili bi umro ) //ovde postavimo animaciju da padne, postavimo promenljivu neku da znamo da je pao itd... SetPlayerHealth(playerid, 15.0); //postavljamo mu hp na 15 return 0; //vracamo 0 da ne bi primio damage }
return 1; } Nisam siguran kako ce ovo da radi, mada trebalo bi, bolje bi bilo koristiti weapon config i OnPlayerDamage, mada ovako kako je napisano trebalo bi da radi
5
« on: December 07, 2024, 07:09:52 PM »
Evo sad cu ga banovati....
6
« on: December 05, 2024, 05:51:16 PM »
Odlicno
7
« on: December 03, 2024, 10:34:49 PM »
Zanimljiv dizajn, doduse nekako mi deluje kao da je kao i svaki drugi koji je napravljen za samp. Valjalo bi smisliti nesto novo i drugacije, ovakvih portala ima previse, svi na isti fazon
Pohvale za trud
8
« on: December 03, 2024, 10:22:12 PM »
Dobraaaa
9
« on: December 03, 2024, 05:30:51 PM »
IsValidRoleplayName(const name[]) {
if(!name[ 0 ] || strfind(name, "_") == -1) return 0;
else for (new i = 0, len = strlen(name); i != len; i ++) { if((i == 0) && (name[ i ] < 'A' || name[ i ] > 'Z')) return 0;
else if((i != 0 && i < len && name[ i ] == '_') && (name[i + 1] < 'A' || name[i + 1] > 'Z')) return 0;
else if((name[ i ] < 'A' || name[ i ] > 'Z') && (name[ i ] < 'a' || name[ i ] > 'z') && name[ i ] != '_' && name[ i ] != '.') return 0; } return 1; } Here you go....
10
« on: December 02, 2024, 07:37:06 PM »
\shopTest.pwn(17) : warning 235: public function lacks forward declaration (symbol "LoadPlayerData") \shopTest.pwn(23) : error 017: undefined symbol "INI_ReadInt" \shopTest.pwn(29) : warning 235: public function lacks forward declaration (symbol "SavePlayerData") \shopTest.pwn(35) : error 017: undefined symbol "INI_WriteInt" \shopTest.pwn(103) : error 017: undefined symbol "COLOR_GREEN" \shopTest.pwn(111) : warning 203: symbol is never used: "checkgold" \shopTest.pwn(111) : warning 203: symbol is never used: "kupiitem" \shopTest.pwn(111) : warning 203: symbol is never used: "premiumshop"Ovo nije FS za pocetak  new message[256];Da nije malo mnogo xD ? Zar nije malo bolje staviti sve u dialog a ne slati 7 poruka u chat igracu? SendClientMessage(playerid, COLOR_YELLOW, "Welcome to the Premium Shop!"); for (new i = 0; i < MAX_PREMIUM_ITEMS; i++) { format(message, sizeof(message), "Item #%d: Cena: %d Gold", i + 1, g_PremiumItems[i][1]); SendClientMessage(playerid, COLOR_GREEN, message); }
SendClientMessage(playerid, COLOR_YELLOW, "Koristi /kupiitem [item_id] da kupis item.");Pritom kako ce da zna sta kupuje? if (strlen(params) == 0) { SendClientMessage(playerid, COLOR_RED, "Usage: /kupiitem [item_id]"); return 1; }
new itemID = strval(params);
if (itemID < 1 || itemID > MAX_PREMIUM_ITEMS) { SendClientMessage(playerid, COLOR_RED, "Invalid item ID."); return 1; }Malo je pametnije koristiti sscanf Array ti nije tacno napisan : new g_PremiumItems[MAX_PREMIUM_ITEMS][5] = { {1, 50, 0}, // Item 1: Vehicle ID 1, Price: 50 Golda {2, 100, 1}, // Item 2: Weapon ID 2, Price: 100 Golda {3, 200, 0}, // Item 3: Vehicle ID 3, Price: 200 Golda {4, 150, 1}, // Item 4: Weapon ID 4, Price: 150 Golda {5, 300, 0} // Item 5: Vehicle ID 5, Price: 300 Golda };
Deklarisano 5, a imas 3 elementa Takodje nema razloga da cuvas ID itema u nizu Malo "cistija" verzija tvog koda : #define MAX_PREMIUM_ITEMS 5 // broj premium itema u shop
new g_PremiumItems[MAX_PREMIUM_ITEMS][2] = { //cuvamo 2 elementa ( ID vozila/oruzija i cenu koliko kosta ) {511, 50}, {24, 100}, {522, 200}, {31, 150}, {518, 300} };
// komanda CMD:premiumshop(playerid, params[]) { new message[32]; //nema potrebe vise
SendClientMessage(playerid, COLOR_YELLOW, "Welcome to the Premium Shop!"); for (new i = 0; i < MAX_PREMIUM_ITEMS; i++) { format(message, sizeof(message), "Item #%d: Cena: %d Gold", i+1, g_PremiumItems[i][1]); //prikazujemo ID i cenu SendClientMessage(playerid, COLOR_GREEN, message); }
SendClientMessage(playerid, COLOR_YELLOW, "Koristi /kupiitem [item_id] da kupis item."); return 1; }
// Komanda za kupovinu Premium Shop CMD:kupiitem(playerid, params[]) {
new itemID; if(sscanf(params, "d", itemID)) return SendClientMessage(playerid, COLOR_RED, "Usage: /kupiitem [item_id]");
if (itemID < 1 || itemID > MAX_PREMIUM_ITEMS) return SendClientMessage(playerid, COLOR_RED, "Invalid item ID."); if (g_PlayerGold[playerid] < g_PremiumItems[itemID-1][1]) return SendClientMessage(playerid, COLOR_RED, "Nemas dovoljno golda da kupis ovaj item.");
g_PlayerGold[playerid] -= g_PremiumItems[itemID-1][1];
if(g_PremiumItems[itemID-1][0] > 46) { //ako je ID itema veci od 46 znaci da nije oruzije, posto je max ID oruzija 46 ( padobran )
GivePlayerVehicle(playerid, g_PremiumItems[itemID-1][0]); SendClientMessage(playerid, COLOR_GREEN, "Uspesno ste kupili premium vozilo!"); } else { GivePlayerWeapon(playerid, g_PremiumItems[itemID-1][0], 999); SendClientMessage(playerid, COLOR_GREEN, "Uspesno ste kupili premium oružje!"); }
SavePlayerData(playerid);
return 1; }E sada opet kazem, dobro bi bilo da cuvas i naziv sta je u pitanju, i to bi izgledalo ovako : #define MAX_PREMIUM_ITEMS 5 // broj premium itema u shop
enum premiumItems { //deklarisemo koje informacije cuvamo
itemName[32], //ime itema itemID, //ID itemPrice //Cena };
new g_PremiumItems[MAX_PREMIUM_ITEMS][premiumItems] = { //sada cemo ovde popuniti array {"Infernus", 511, 50}, //stavljamo naziv itema, ID i cenu {"Deagle", 24, 100}, {"NRG-500", 522, 200}, {"M4", 31, 150}, {"Buccaneer", 518, 300} };
// komanda CMD:premiumshop(playerid, params[]) { new message[64];
SendClientMessage(playerid, COLOR_YELLOW, "Welcome to the Premium Shop!"); for (new i = 0; i < MAX_PREMIUM_ITEMS; i++) { format(message, sizeof(message), "Item %s(ID %d): Cena: %d Gold", g_PremiumItems[i][itemName], i-1, g_PremiumItems[i][itemPrice]); //prikazujemo naziv, id i cenu SendClientMessage(playerid, COLOR_GREEN, message); }
SendClientMessage(playerid, COLOR_YELLOW, "Koristi /kupiitem [item_id] da kupis item."); return 1; }
// Komanda za kupovinu Premium Shop CMD:kupiitem(playerid, params[]) {
new itemID; if(sscanf(params, "d", itemID)) return SendClientMessage(playerid, COLOR_RED, "Usage: /kupiitem [item_id]");
if (itemID < 1 || itemID > MAX_PREMIUM_ITEMS) return SendClientMessage(playerid, COLOR_RED, "Invalid item ID."); if (g_PlayerGold[playerid] < g_PremiumItems[itemID-1][2]) return SendClientMessage(playerid, COLOR_RED, "Nemas dovoljno golda da kupis ovaj item.");
g_PlayerGold[playerid] -= g_PremiumItems[itemID-1][2];
if(g_PremiumItems[itemID-1][1] > 46) { //ako je ID itema veci od 46 znaci da nije oruzije, posto je max ID oruzija 46 ( padobran )
GivePlayerVehicle(playerid, g_PremiumItems[itemID-1][1]); } else { GivePlayerWeapon(playerid, g_PremiumItems[itemID-1][0], 999); }
va_SendClientMessage(playerid, -1, "Uspesno ste kupili %s za %d golda!", g_PremiumItems[itemID-1][itemName], g_PremiumItems[itemID-1][itemPrice]);
SavePlayerData(playerid);
return 1; }
11
« on: December 02, 2024, 07:07:20 PM »
Jako dobro izgleda, doduse koliko ih ima xD ?
12
« on: November 29, 2024, 07:17:50 PM »
Ime : Object Attacher ( koristi se za attach-ovanje objekata na igraca ) Tip (FS, INC, PLUGIN) : FS Slike / Video : You are not allowed to view links.
Register or LoginIzradio : XpDeviL Download Link : You are not allowed to view links.
Register or Login
13
« on: November 29, 2024, 06:34:53 PM »
Cool, moze se iskoristiti, valjale bi slike doduse da vidimo gde su attachmenti stavljeni
14
« on: November 28, 2024, 09:09:58 PM »
Nista tik toke toe za kidse mi smo 90tih generacija mozemo na Msn il na myspace gahahahha
Ja samo skype koristim
15
« on: November 27, 2024, 07:22:39 PM »
pitao sam u svitanje dana, gdje je adriana gdje je adriana
Otisla jeb'o je pas.....
|