Jump to content

Hrb™

Uživatel
  • Příspěvků

    457
  • Registrován

  • Aktivní

  • Vítězných dnů

    7

Everything posted by Hrb™

  1. Dej sem celý OnPlayerSpawn + OnPlayerDeath jak máš teď.
  2. Zkus dat toto: dUserSetINT(PlayerName(playerid)).("skin",GetPlayerSkin(playerid)); // Ulozime skin k tomu jak máš to death[playerid] =1;
  3. Zkoušel jsi to v OnPlayerDeath ukládat? Ukaž ten public když tak.
  4. Do OnPlayerPickUpPickup: if(pickupid == BINCOPICKUP) { SendClientMessage(playerid,-1,"Použitím příkazu /oblek [iD skinu] si můžeš změnit skin"); } nebo if(pickupid == BINCOPICKUP) return SendClientMessage(playerid,-1,"Použitím příkazu /oblek [iD skinu] si můžeš změnit skin");
  5. Pokud to chceš pro úplně všechny vozidla, tak to dej do OnPlayerEnterVehicle a na ten WL takto: SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) +2) // kell94 mě předběhl..
  6. Hrb™

    pomoc Par errorov

    Prosím. #include <a_samp> //------------------------------------------------------------------------------ #define DIALOGID 3000 #define COLOR_RED 0xAA3333AA #pragma tabsize 0 //------------------------------------------------------------------------------ new aobjekt[1]; //------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/controlpanel", cmdtext, true, 10) == 0) { if(IsPlayerAdmin(playerid)) { ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Admin Control Panel", "Počasí\nČas\nGravitace\nAkce pro všechny\nOstatní příkazy\nMoje příkazy", "Select", "Cancel"); } return 1; } return 0; } //------------------------------------------------------------------------------ public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOGID) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Vyber si počasí", "Slunečno\nPod Mrakem\nDeštivo\nPísečná Bouře\nSilný Déšť\nZataženo\nHurikán\nSlabší písečná bouře\nKonec Světa\nFialové nebe", "Select", "Cancel"); } if(listitem == 1) { ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Nastav Denní dobu", "1\n2\n3\n4\n5\n4\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24", "Select", "Cancel"); } if(listitem == 2) { ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Gravitace", "0\n1\n2\n5\nNormální\n10\n15", "Select", "Cancel"); } if(listitem == 3) { ShowPlayerDialog(playerid, DIALOGID+4, DIALOG_STYLE_LIST, "Akce pro všechny", "Opít\nVystřízlivět", "Select", "Cancel"); } if(listitem == 4) { ShowPlayerDialog(playerid, DIALOGID+5, DIALOG_STYLE_LIST, "Ostatní příkazy", "Say\nZabít Hráče\nSpawn vozidla\nRestartovat server", "Select", "Cancel"); } if(listitem == 5) { ShowPlayerDialog(playerid, DIALOGID+10, DIALOG_STYLE_LIST, "Moje příkazy", "Zdraví\nVesta", "Select", "Cancel"); } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+1) // počasí { if(response) { if(listitem == 0) { SetWeather(1); } if(listitem == 1) { SetWeather(4); } if(listitem == 2) { SetWeather(8); } if(listitem == 3) { SetWeather(19); } if(listitem == 4) { SetWeather(20); } if(listitem == 5) { SetWeather(21); } if(listitem == 6) { SetWeather(32); } if(listitem == 7) { SetWeather(42); } if(listitem == 8) { SetWeather(250); } if(listitem == 9) { SetWeather(2009); } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+2) { if(response) { if(listitem == 0) { SetWorldTime(1); } if(listitem == 1) { SetWorldTime(2); } if(listitem == 2) { SetWorldTime(3); } if(listitem == 3) { SetWorldTime(4); } if(listitem == 4) { SetWorldTime(5); } if(listitem == 5) { SetWorldTime(6); } if(listitem == 6) { SetWorldTime(7); } if(listitem == 7) { SetWorldTime(8); } if(listitem == 8) { SetWorldTime(9); } if(listitem == 9) { SetWorldTime(10); } if(listitem == 10) { SetWorldTime(11); } if(listitem == 11) { SetWorldTime(12); } if(listitem == 12) { SetWorldTime(13); } if(listitem == 13) { SetWorldTime(14); } if(listitem == 14) { SetWorldTime(15); } if(listitem == 15) { SetWorldTime(16); } if(listitem == 16) { SetWorldTime(17); } if(listitem == 17) { SetWorldTime(18); } if(listitem == 18) { SetWorldTime(19); } if(listitem == 19) { SetWorldTime(20); } if(listitem == 20) { SetWorldTime(21); } if(listitem == 21) { SetWorldTime(22); } if(listitem == 22) { SetWorldTime(23); } if(listitem == 23) { SetWorldTime(24); } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+3) // Gravitace { if(response) { if(listitem == 0) { SetGravity(0.000); } if(listitem == 1) { SetGravity(0.001); } if(listitem == 2) { SetGravity(0.003); } if(listitem == 3) { SetGravity(0.005); } if(listitem == 4) { SetGravity(0.008); } if(listitem == 5) { SetGravity(0.010); } if(listitem == 6) { SetGravity(0.015); } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+4) { if(response) { for(new i;i < MAX_PLAYERS; i++) { if(listitem == 0) { if(IsPlayerConnected(i)) { SetPlayerDrunkLevel (i, 50000); SendClientMessageToAll(COLOR_RED,"Admin opil všechny hráče"); } } if(listitem == 1) { if(IsPlayerConnected(i)) { SetPlayerDrunkLevel (i, 0); SendClientMessageToAll(COLOR_RED,"Admin vystřízlivěl všechny hráče"); } } } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+5) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid,DIALOGID+6,DIALOG_STYLE_INPUT,"Say","Váš Text","Rekni","Zavrit"); } if(listitem == 1) { ShowPlayerDialog(playerid,DIALOGID+7,DIALOG_STYLE_INPUT,"Zabít","ID hráče kterého chcete zabít","Zabij","Zavrit"); } if(listitem == 2) { ShowPlayerDialog(playerid,DIALOGID+8,DIALOG_STYLE_INPUT,"Auto","Zadej ID auta které chceš spawnout","Spawni","Zavrit"); } if(listitem == 3) { ShowPlayerDialog(playerid, DIALOGID+9, DIALOG_STYLE_MSGBOX, "Ověřění", "Opravdu chceš restartovat mód ?", "Ano", "Ne"); } } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+6) { if(response == 1) { new str[80]; format(str,50,"ADMIN: %s",inputtext); SendClientMessageToAll(COLOR_RED,str); } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+7) { if(response == 1) { if(!isNumeric(inputtext) || !IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,COLOR_RED,"Špatně zadané ID"); SetPlayerHealth(strval(inputtext),0); SendClientMessage(strval(inputtext),COLOR_RED,"Administrátor tě zabil"); } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+8) { if(response == 1) { if(strval(inputtext) < 400 || strval(inputtext) > 611) return SendClientMessage(playerid,COLOR_RED,"Špatné ID"); else if(!isNumeric(inputtext)) return SendClientMessage(playerid,COLOR_RED,"Špatné ID"); new Float:px,Float:py,Float:pz; GetPlayerPos(playerid,px,py,pz); aobjekt[0] = AddStaticVehicle(strval(inputtext), px+2, py, pz, 0, 181, 151); } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+9) { if(response == 1) { SendClientMessageToAll(COLOR_RED,"Administrátor restartoval server"); SendRconCommand("gmx"); } } //------------------------------------------------------------------------------ if(dialogid == DIALOGID+10) { if(response) { if(listitem == 0) { SetPlayerHealth(playerid,100); } if(listitem == 1) { SetPlayerArmour(playerid,100); } } } //------------------------------------------------------------------------------ return 1; } //------------------------------------------------------------------------------ public OnVehicleDeath(vehicleid) { DestroyVehicle(aobjekt[0]); return 1; } //------------------------------------------------------------------------------ stock isNumeric(const string[]) { new length=strlen(string); if (length==0) return false; for (new i = 0; i < length; i++) { if ((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')|| (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0)) return false; } if (length==1 && (string[0]=='-' || string[0]=='+')) return false; return true; }
  7. v OnPlayerConnect smaž toto: GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); new Float:zdravi, Float:vesta; SetPlayerHealth(playerid,dUserINT(PlayerName(playerid)).("vesta")-GetPlayerHealth(playerid,zdravi)); SetPlayerArmour(playerid,dUserINT(PlayerName(playerid)).("vesta")-GetPlayerArmour(playerid,vesta)); SetPlayerSkin(playerid,dUserINT(PlayerName(playerid)).("skin")-GetPlayerSkin(playerid)); a dej to k úspěšnému přihlášení. U tebe tady, takže to dej k tomuto: GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); PLAYERLIST_authed[playerid] = true; return SendClientMessage(playerid, BARVA, "Úspěšně přihlášen !"); a potom jak máš v OnPlayerSpawn toto: SetPlayerPos(playerid, 1606,1818,11); Tak to není pozice X,Y a Z. Dám příklad. Takto to vypadá v tom souboru když to uložíš.: AddPlayerClass(0,-1303.8921,2712.1848,50.0625,4.2192,0,0,0,0,0,0); a souřadnice X, Y a Z jsou první 3 číslo. V tomto případě toto: -1303.8921, 2712.1848, 50.0625 Takže si to znova ulož a předělej.
  8. O tom vím taky, ale co když mu chceš k tomu napsat zprávu nebo udělat tu zónu u warpů? A navíc, u toho co si poslal tě sice nemůže zabít zbraněmi, ale nožem ano a že by toto byl nějaký velký script, tak to mi nepříjde.
  9. Jak do jiné země? Kam přesně?
  10. Máš v OnGameModeInit toto: AddPlayerClass(... ? A ty zbraně budeš muset asi ukládat kažnou zvlášť a v OnPlayerSpawn načítat.
  11. Založil si několik témat. Tady už to má poopravované. http://pawno.cz/index.php?/topic/43080-helpregistrace-ukladani/
  12. Takto: public OnPlayerDeath(playerid, killerid, reason) { dUserSetINT(PlayerName(playerid)).("skin",GetPlayerSkin(playerid)); // Ulozime skin death[playerid] =1; //----------------- new playercash; if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); ResetPlayerMoney(playerid); } else { SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); playercash = GetPlayerMoney(playerid); if (playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } } return 1; }
  13. A máš vůbec něco hotového na těch povoláních? Já nevím co to u tebe znamená "pomůže". Jako že ti je udělá, nebo jak?
  14. Dej sem příkaz kill a nebo OnPlayerDeath prosím. Děkuji.
  15. Hrb™

    pomoc Warningy

    Co jestli půjde? Prostě ty podmínky jsou v móde uplně zbytečně, protože nejsou nikdo použity. Prostě je klidně smaž.
  16. Hrb™

    pomoc Warningy

    Znamená to, že si ty proměnné nikde nepoužil. Takže to new Autobusak, atd je tam úplně zbytečně, takže to můžeš smazat. // Michael byl rychlejší.
  17. Pokud jsem si to dobře přeložil, tak 1. chyba znamená, že musíš stáhnout poslední neboli nejnovější include toho streameru a znovu to v pawnu překompilovat. a ta 2. chyba, že si musíš stáhnout sscanf pro 0.3e
  18. Zdravím, rozhodl jsem se udělat svůj první mini Tutorial / script. Velice se to hodí pro anti-team kill. Nemusíte už lidi za to třeba kickovat. Takže přejdeme k obsahu. Obsah: Úvod, vysvětlení Krok za krokem při tvorbě anti- team killu Konečná podoba anti-team killu 1. Úvod, vysvětlení public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) public OnPlayerTakeDamage - název publicu playerid - hráč, na kterém je způsobena újma na zdraví issuerid - hráč, který působí újmu na zdraví 2. hráči Float: amount - hodnota zdraví nebo vesty, která byla ubrána weaponid - ID zbraně, která způsobila újmu na zdraví 2. Krok za krokem při tvorbě anti-team killu public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) // začneme tím, že si v pawnu najdeme tento public. Pokud zde není, tak ho vložte takto mezi ostatní publicy. { if(issuerid != INVALID_PLAYER_ID) // podmínka, pokud nemá hráč co dělá újmu na zdraví neplatné ID. (Nevím, jak to přesně přeložit.) { if(VašeProměnná[playerid] == VašeProměnná[issuerid] ) // pokud proměnné obou hráčů souhlasí. Místo VašeProměnná se dejte Vaši proměnnou třeba pro zaměstnání nebo jiní. (GetPlayerTeam, ..) { new Float:hp; // vytvoříme si proměnnou pro hráčovo zdraví GetPlayerHealth(playerid, hp); // zjistíme si původní zdraví hráče, který přichází o životy SetPlayerHealth(playerid, hp); // nastavíme mu zpět přesný počet zdraví, který měl před ztrátou zdraví. } // uzavřeme otevřené { } // uzavřeme otevřené { return 1; // konec publicu } Když by jste třeba použili jak je: SetPlayerHealth(playerid, hp); toto: SetPlayerHealth(playerid, hp + amount); Tak to hráči nastaví zpět původní zdraví + ještě zdraví, které ztratil. Může se taky hodit pro anti-kill zónu u warpů. Stačí dat podmínku pokud je v daném radiusu: if(IsPlayerInRangeOfPoint(playerid,1, X, Y, Z )) // 1 - radius (u zón třeba 15.) X,Y,Z - pozice, odkud bude radius. (X, Y a Z si můžeme představit jako střed kruhu.) Konečná podoba: public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { if(issuerid != INVALID_PLAYER_ID) { if ( VašeProměnná[playerid] == VašeProměnná [issuerid] ) { new Float:hp; GetPlayerHealth(playerid, hp); SetPlayerHealth(playerid, hp); } } return 1; } Doufám, že se bude hodit. Pokud najdete chybu, prosím opravte mě. Děkuji.
  19. Tak za 1. Skin se bude furt ukládat do souboru hráče. Klidně si můžeš najít obchod na skiny. za 2. do public OnPlayerDeath dej: dUserSetINT(PlayerName(playerid)).("skin",GetPlayerSkin(playerid)); // Ulozime skin a pak je více možností. Ty si třeba udělej novou proměnnou: new death[MAX_PLAYERS]; a dej ji takto do public OnPlayerDeath: death[playerid] =1; a v public OnPlayerSpawn udělej toto: smaž toto: SetPlayerPos(playerid,float(dUserINT(PlayerName(playerid)).("x")),float(dUserINT(PlayerName(playerid)).("y")),float(dUserINT(PlayerName(playerid)).("z"))); a dej to tam toto: if(death[playerid] == 1) { SetPlayerPos(playerid, x,y,z); // místo x, y a z si dej souřadnice u nemocnice death[playerid] =0; }else{ SetPlayerPos(playerid,float(dUserINT(PlayerName(playerid)).("x")),float(dUserINT(PlayerName(playerid)).("y")),float(dUserINT(PlayerName(playerid)).("z"))); }
  20. Takto to tam dej: dUserSetINT(PlayerName(playerid)).("skin",GetPlayerSkin(playerid)); // Ulozime skin
  21. Je. k uložení přidej toto: new Float:zdravi, Float:vesta; dUserSetINT(PlayerName(playerid)).("zivoty",GetPlayerHealth(playerid,zdravi)); // Ulozime zdravi dUserSetINT(PlayerName(playerid)).("vesta",GetPlayerArmour(playerid,vesta)); // Ulozime vestu dUserSetINT(PlayerName(playerid)).("skin",GetPlayerSkin(playerid); // Ulozime skin k načtení: (jak je toto: GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid));) new Float:zdravi, Float:vesta; SetPlayerHealth(playerid,dUserINT(PlayerName(playerid)).("vesta")-GetPlayerHealth(playerid,zdravi)); SetPlayerArmour(playerid,dUserINT(PlayerName(playerid)).("vesta")-GetPlayerArmour(playerid,vesta)); a do public OnPlayerSpawn: SetPlayerSkin(playerid,dUserINT(PlayerName(playerid)).("skin")-GetPlayerSkin(playerid));
  22. Hrb™

    pomoc Přidani hp

    Hele zkoušel jsem to a jede to. nahoru k new dej: new Float:hp[MAX_PLAYERS]; new podminka[MAX_PLAYERS]; do public OnPlayerSpawn dej: podminka[playerid] =1; SetTimerEx("necpp",5000,true,"i",playerid); //1 000 - 1 sekunda, čas, za jak dlouho mu to bude přidávat. a kamkoliv do módu: forward necpp(playerid); public necpp(playerid) { new Float:health; if(podminka[playerid] == 1) { GetPlayerHealth(playerid,hp[playerid]); podminka[playerid] =2; } else if(podminka[playerid] == 2) { GetPlayerHealth(playerid,health); if(health == hp[playerid] && health < 90) // health < 90 = když je zdraví menší jak 90, tak mu to přidá. Jak mile bude mít víc jak 90 životů, tak mu to nebude přidávat. { SetPlayerHealth(playerid, health +10); // + 10 = kolik chceš aby mu to přidalo podminka[playerid] =1; } } return 1; }
  23. jak máš tady toto: dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); // Ulozime penizem tak to nahraď tímto: new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); // Ulozime penizem dUserSetINT(PlayerName(playerid)).("x",floatround(x)); dUserSetINT(PlayerName(playerid)).("y",floatround(y)); dUserSetINT(PlayerName(playerid)).("z",floatround(z)); a do OnPlayerSpawn: SetPlayerPos(playerid,float(dUserINT(PlayerName(playerid)).("x")),float(dUserINT(PlayerName(playerid)).("y")),float(dUserINT(PlayerName(playerid)).("z")));
  24. Stačí pohledat. http://pawno.cz/index.php?/topic/41782-helpukladani-poziceproblem/page__hl__%2Bukl%C3%A1d%C3%A1n%C3%AD+%2Bpozice
×
×
  • Create New...