Jump to content

AvestX

Uživatel
  • Příspěvků

    3245
  • Registrován

  • Aktivní

  • Vítězných dnů

    1

Everything posted by AvestX

  1. Reklama pane "Ondřej '''Mubby''' Igar" ..
  2. Kavárna juchů konečně zabiju a znásilnim pár lidí s pawno.cz .. těším se ..
  3. AvestX

    pomoc Gamemod

    udělej něco jako CSko, neboli TDM + vytvoř mapy, taký gamemody v sa-mp moc nevídám a když už znam tak sou servery přeplněný a neni to nuda jako ty RP/RL
  4. AvestX

    pomoc Dialog \n

    Ano, to chápu. Takto to mohu udělat i v okně s registrací?, myslím tam kde se registruji tak nad tím bude ten text. nad tim by to šlo možná zcompilovat ale nwm jak by to pak vypadalo
  5. AvestX

    pomoc Dialog \n

    jak psal lyrnic (sry nwm jak se to pise ), udelej si "bigstring" a potom strcat to tam mrdej .. je to jednoduche, to by jsi mel pochopit podle jeho kodu, dal ti to nejjednodussi reseni
  6. stock se používá většínou když z něčeho potřebuji dostat nějákou hodnotu, jako třeba pName a podobně, public je většínou na větší funkce, (raději ale používám stock) ..
  7. Zdravím, podobné tuty už tu zhřejmě jsou, ale nevysvětlují jak správně využívat stock a jak si vylehčit tvorbu modu / filterscriptu. Ano, můžete psát přízpěvky typu "Toto tu už je" ale snažím se vysvětlit jak užitečná tato funkce kterou většina začátačeních pawnerů nevyužívá. stock, co si představujeme pod pojmem stock v jazyce pawn? něco jako forward a public, jeden řádek a více funkcí, je to podobné, je to vlastně stejné jako #define takže vám vysvětlím jak stock využívat v praxi... Příklad: stock HracovoPoziceZ(playerid) { new Float:Z; GetPlayerPos(playerid, -1,-1,Z); return Z; } teď máme funkci kterou můžeme využít třeba k zjištění pozice Z, return Z; znamená že funkce vrací desetiné číslo Z, takže třeba new string[50]; format(string, 50, "vyska souradnice Z na ktere jsi je %f", HracovoPoziceZ(playerid)); pote do textu do ktereho date string vypise text neco ve stylu to stejne uz znama funkce Jmeno(playerid), pName(playerid) a podobne take vraci do stringu vase jmeno tedy myslim stock Jmeno(i) { new n[26]; GetPlayerName(playerid, n, sizeof(n)); return n; } Dale vyuziti stocku muzeme napriklad aby jste nemuseli psat zdlouhave kody naprikad v prodejne zbrani kde 20x zadavate kontrolu kolik hrac ma penez, text a zbran kterou mu zadate, neni lepsi toto cele vyresit po jednom radku? co myslite? usetrite tim jak cas tak i script bude vypadat lepe, toto udelame takto stock GivePlayerBuyWeapon(playerid, buymoney, jmenozbrane[], weaponid, weaponammo) { new string[256]; if(GetPlayerMoney(playerid) >= buymoney) { GivePlayerMoney(playerid, -buymoney); GivePlayerWeapon(playerid, weaponid, weaponammo); format(string, sizeof(string), "Zakoupil jste si zbran ''%s'' za %d$ !", jmenozbrane, buymoney); }else{ format(string, sizeof(string), "Na zakoupeni zbrane ''%s'' potrebujete %d$ !", jmenozbrane, buymoney); SendClientmessage(playerid, -1, string); } return true; } pak treba v dialogu kterym davate zbrane misto neustaleho opakovani kodu podobneho ve stocku davate pouze if(dialogid == DIALOG_WEAPON) { if(response) { switch(listitem) { case 0: GivePlayerBuyWeapon(playerid, 270, "Vibrator1", 11, 1); case 1: GivePlayerBuyWeapon(playerid, 300, "Vibrator2", 12, 1); case 2: GivePlayerBuyWeapon(playerid, 405, "Vibrator3", 13, 1); case 3: GivePlayerBuyWeapon(playerid, 560, "Vibrator4", 14, 1); } } } Zamyslete se nad sebou jak budete psat script, jakym zpusobem a jakym stylem obcas stoji za to se nad sebou zamyslet
  8. jake? (btw popsal jsem ti jak funguje strcmp v onplayercommandtext nahore) a posli errory .. mozna warning, coz vyresis nahoru pod #include dej #pragma tabsize 0
  9. public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/spawn", cmdtext, true, 10) == 0) { SetPlayerPos(playerid,-2405.046630, -596.878234, 132.648437); SetVehiclePos(GetPlayerVehicleID(playerid),-2405.046630, -596.878234, 132.648437); PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0); return 1; } if (strcmp("/porty", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,50,DIALOG_STYLE_LIST ,"Porty","Drift1\nDrift2\nFun1\nNevada\nSjezd1\nSjezd2","Portnout","Zrusit"); return 1; } if (strcmp("/stunty", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid,51,DIALOG_STYLE_LIST ,"Porty","Bike Stunt - easy\nBike Stunt - Normal\nBike Stunt - Hard\nInfernus - easy\nInfernus - Normal\nInfernus - Hard","Portnout","Zrusit"); return 1; } return 0; } v kazdem if(strcmp("/prikaz", cmdtext, true, 10) == 0) { funkce return 1; } zadavej ten "return 1; jinak ti to po zadani muze psat neznamej prikaz ... jinak jsi mel chybu v zavorkach, prikaz si mel uplne za publicem je public public OnPlayerCommandText(playerid, cmdtext[]) { return 0; } do nej zadavas prikazy bud pres strcmp nebo pres cmdsystem, drive byl oblibeny dcmd, ted se to zmenilo, prohlidni scripty, najdes treba QCMD .. ¨ dale pokud chces prikazy zadavat pres strcmp (funkce ktera porovnava jeden string s druhym zda se rovna ci ne, zda je jedno ci jsou velka ci mala pismena), tak takto zadavej do publicu OnPlayerCommandText koukej public OnPlayerCommandText(playerid, cmdtext[]) { // zavorka otevrena if(!strcmp("/prikaz1", cmdtext, true, 10)) // prikaz, zjistuje zda /prikaz1 je cmdtext, hracovo prikaz ve hre {//otevira zavorku return 1; }// zavira zavorku if(!strcmp("/prikaz2", cmdtext, true, 10)) // prikaz, zjistuje zda /prikaz2 je cmdtext, hracovo prikaz ve hre {//otevira zavorku return 1; }// zavira zavorku if(!strcmp("/prikaz3", cmdtext, true, 10)) // prikaz, zjistuje zda /prikaz3 je cmdtext, hracovo prikaz ve hre {//otevira zavorku return 1; }// zavira zavorku return SendClientMessage(playerid, -1, "SERVER: Spatny prikaz !"); // spatny prikaz = return 0 = zprava neznamy prikaz }// zavorka zavrena mel by si to pochopit, zavorky jsou hooodne dulezite v kazdem programovacim/scriptovacim jazyce
  10. dej prosim celej OnPlayerCommandText, tam v tom co jsi dal chyba asi není ...
  11. if(GetPVarInt(playerid, "noob") == 1) { } == rovná se != nerovná se > první větší než druhý >= větší nebo rovná se < první menší druhý větší <= menší nebo rovná se
  12. Jako jestli je to prvni, tak palec nahoru, protože to co sem v PS poprví udělal já .. ale stejně mi to příde děs, sám v PS už nedělam, takže nehodnotim ..
  13. :D objecty musis davat public OnFilterScriptInit() { SEM return 1; }
  14. Všechny PSP jdou flashnout, a tato verze je snad nejlehčí, akorát nahraješ CFW -> update -> fast recovery pokazde, jestli mas skype dej mi ho do SZ a poradim .. davej si pozor jake cfw tam davas ! muzes to brickout
  15. nezna prikaz OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/prikaz", cmdtext, true, 10)) { return 1; } if(!strcmp("/prikaz2", cmdtext, true, 10)) { return 1; } return false; } btw, koukni se na sa-mp.wiki na strcmp
  16. #pragma tabsize 0 pod #include
  17. používej stock GpName(i){ new n[27]; GetPlayerName(i, n, sizeof(n)); return n; } tato "funkce" zjistí hráčovo jméno a také ho vrací, takže můžeš využívat když formatujes a podobne .. jinak jak zjistit zda je hracovo jmeno totozne s necim tak strcmp if(!strcmp(GpName(playerid), "jmeno stejne s timto", false)){ funkce scriptu } neco v tom stylu ..
  18. Vím že jazyk pro psp byl prý hodne složitý a náročný, psvita už je neco jineho, nevim presne jak se to jmenuje, nejak XNA nwm ... google skus
  19. Problém jsem vyřešil jinak, tím že if(response == 2) jsem udělal jako if(response == 0) if(response) {// prvni tlacitko dialogu }else { // druhe tlacitko dialogu }
  20. AvestX

    pomoc dUserSetINT

    Nefunguje a nastavuješ potom SetPlayerPos?
  21. Sám to nedokončim určitě, je to projekt přes prázdniny a i kdybych to nedokončil, můžu toho druhýho naučit něco v pawn(u) takže by i on s toho měl něco .. ale díky ..
×
×
  • Create New...