Mathew 0 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 Ahoj,neměl by tady někdo něják TUTORIAL na vytvoření nemovitostí jako jsou např benzina,ammo burger atp..samozrejme aby to mohli hrači kupovat a vydelavat z nich Děkuji Link to comment Share on other sites More sharing options...
0 ĐaVe 33 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 jednoduchy, vytvoris string ktery bude slouzit jako ukladani jmena hrace vlastnici nemovitost, nastavis ukladani a nacitani... tady mas priklad: new Nemovitost[55]; format(Nemovitost,55,"nikdo"); //pokud koupi nemovitost: if(!strcmp(Nemovitost,"nikdo",false)) //porovna string nemovitost se zakladem, pokud ji nikdo nevlastni.... { format(Nemovitost,55,"%s",Jmeno(playerid)); //nastavi ze ji vlastni kupujici hrac } stock Jmeno(playerid) { new j[55]; if(IsPlayerConnected(playerid)) { GetPlayerName(playerid,j,55); } return j; } //EDITED - opraven return Link to comment Share on other sites More sharing options...
0 Pekusis 0 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 Myslis Dave ze to pochopi novacek ? Link to comment Share on other sites More sharing options...
0 ĐaVe 33 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 Myslis Dave ze to pochopi novacek ? princip je upa stejnej jak zamestnani s tim rozdilem ze to je string, staci kdyz do ukladani pak prida upa stejny radek co ma na zamestnani akorat tam nebude %d ale %s ... snad jo Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 jednoduchy, vytvoris string ktery bude slouzit jako ukladani jmena hrace vlastnici nemovitost, nastavis ukladani a nacitani... tady mas priklad: new Nemovitost[55]; format(Nemovitost,55,"nikdo"); format(Nemovitost,55,"%s",Jmeno(playerid)); //nastavi ze ji vlastni kupujici hrac Jednoduché, ale zbytočné. Použil si array so 55 bunkami, ktorý zaberie v pamäti 220 bajtov. Prečo teda nepoužiť 24 buniek (MAX_PLAYER_NAME), ktoré budú zaberať 96 bajtov? Rozdiel je pomerne dosť veľký a pri predstave, že gamemód bude obsahovať kopu takýchto premenných, bude použité zbytočne veľa pamäte, keď netreba. Potom: stock Jmeno(playerid) { new j[55]; if(IsPlayerConnected(playerid)) { GetPlayerName(playerid,j,55); } return 1; } Zbytočná podmienka a zlý return, znova vytvorená premenná so zbytočnymi bunkami. Tieto funkcie dokáže vyvolať len konkrétny pripojený hráč (playerid). Potom: if(!strcmp(Nemovitost,"nikdo",false)) //porovna string nemovitost se zakladem, pokud ji nikdo nevlastni.... { format(Nemovitost,55,"%s",Jmeno(playerid)); //nastavi ze ji vlastni kupujici hrac } Znova zbytočné bunky a použil som nejakú inú a lepšiu metódu pre kopírovanie stringov. if(!strcmp(Nemovitost,"nikdo")) //porovna string nemovitost se zakladem, pokud ji nikdo nevlastni.... { memcpy(Nemovitost, Jmeno(playerid), 0, MAX_PLAYER_NAME); //nastavi ze ji vlastni kupujici hrac } else SendClientMessage(playerid, -1, "Túto nemovitosť už niekto zakúpil!"); Alebo (pre nováčikov je však lepšia prvá možnosť): (!strcmp(Nemovitost, "nikto") ? memcpy(Nemovitost, Jmeno(playerid), 0, MAX_PLAYER_NAME) : SendClientMessage(playerid, -1, "Túto nemovitosť už niekto zakúpil!")); Link to comment Share on other sites More sharing options...
0 ĐaVe 33 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 Jednoduché, ale zbytočné. Použil si array so 55 bunkami, ktorý zaberie v pamäti 220 bajtov. Prečo teda nepoužiť 24 buniek (MAX_PLAYER_NAME), ktoré budú zaberať 96 bajtov? Rozdiel je pomerne dosť veľký a pri predstave, že gamemód bude obsahovať kopu takýchto premenných, bude použité zbytočne veľa pamäte, keď netreba. napodobujes QWERa proc davam 55 a ne 25? asi proto ze mam treba kamose na sampu a ten si daval nick na maximalni pocet pismen co to slo, kdyz to bylo mensi, neukazovalo to jeho celej nick a to me stvalo tak asi proto toto asi tak pochopí a nic není zbytečný ulehčující podmínka IsPlayerConnected(playerid) neuškodí je více způsobů pawnění, já dávám přednost přehlednosti a snadné obtížnosti... Alebo (pre nováčikov je však lepšia prvá možnosť): (!strcmp(Nemovitost, "nikto") ? memcpy(Nemovitost, Jmeno(playerid), 0, MAX_PLAYER_NAME) : SendClientMessage(playerid, -1, "Túto nemovitosť už niekto zakúpil!")); silně pochybuju, že se nováček bude chápat memcpy když sotva umí format jo jinak s tim returnem mas pravdu preklep ma tam byt return j; dik Link to comment Share on other sites More sharing options...
0 Kubko 22 Odesláno: 18. Červen, 2014 Share Odesláno: 18. Červen, 2014 V pohode, len som napísal, ako by som to spravil ja. BTW: Ten stock tam ani nemusí byť, jednoduché makro: #define meno(%0, %1) GetPlayerName(%0, %1, MAX_PLAYER_NAME); Použitie: meno(playerid, dest[]); playerid = ID hráča, ktorého chceš meno dest[] = Kam chceš jeho meno uložiť Link to comment Share on other sites More sharing options...
Dotaz
Mathew 0
Ahoj,neměl by tady někdo něják TUTORIAL na vytvoření nemovitostí jako jsou např benzina,ammo burger atp..samozrejme aby to mohli hrači kupovat a vydelavat z nich
Děkuji
Link to comment
Share on other sites
6 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now