Jump to content

DuFF

Uživatel
  • Příspěvků

    177
  • Registrován

  • Aktivní

  • Vítězných dnů

    15

DuFF last won the day on Listopad 18

DuFF had the most liked content!

Reputace

44 Dwaine

3 Followers

About DuFF

  • Moto
    Silver I - běžný uživatel
  • Narozeniny 22.8.1998

Kontaktní údaje

  • Skype
    Array

Návštěvníci

1 032 profile views
  1. DuFF

    pomoc Pawno-Balíček

    Keď nejaký hráč nájde balíček, môžeš na jeho zmazanie použiť funkciu DestroyPickup, prípadne DestroyDynamicPickup, ak používaš streamer. Ak chceš, aby sa pickup po reštarte znova nezobrazil, budeš si musieť niekam do súboru uložiť, že balíček už bol nájdený. Pri vytváraní pickupov pre každý pickup prečítaš zo súboru, či už bol nájdený alebo nie a vytvoríš ho iba ak ešte nájdený nebol.
  2. DuFF

    pomoc pomoc

    V tom prípade ti stačí na kick použiť iba funkciu Kick, prípadne ju skombinovať s timerom, aby sa hráčovi zobrazilo, prečo bol vyhodený. Pri kicku do súboru zapisovať nič nemusíš.
  3. DuFF

    pomoc pomoc

    Chceš, aby ban aj kick zabraňovali hráčovi s danou IP / daným nickom pripojiť sa na server určitú dobu. Aký má byť medzi nimi rozdiel? Nestačí ti iba ban?
  4. DuFF

    pomoc Timer-Školy

    Do sekce "Udělejte to za mě"...
  5. DuFF

    pomoc Problém

    Funkcia SendClientMessage má 3 argumenty, kde prvý je ID hráča, ktorému sa má správa poslať, druhý je farba správy a tretí je samotný text správy. Vo funkcii SendClientMessageToAll ale na rozdiel od SendClientMessage nemusíš špecifikovať, ktorému hráčovi sa má táto správa poslať - pošle sa všetkým. Preto má SendClientMessageToAll iba 2 argumenty - farbu správy a samotný text správy. Skús sa teda zamyslieť nad tým, čo tam máš navyše.
  6. DuFF

    pomoc Problém

    Môžeš nám ukázať, ako vyzerá tvoj kód s GetPlayerColor a aký error dostaneš?
  7. Znak nového riadku sa vkladá do reťazca pomocou sekvencie znakov "\n". Viac takýchto sekvencií nájdeš napríklad tu. Príklad: new DIALOG_INFO[500]; format(DIALOG_INFO, sizeof(DIALOG_INFO), "Peníze v ruce %d\n", GetPlayerMoney(playerid)); format(DIALOG_INFO, sizeof(DIALOG_INFO), "%sWanted level: %d", DIALOG_INFO, GetPlayerWantedLevel(playerid)); // za posledným riadkom v dialogu \n byť nemusí Ešte nemusí byť jasné, prečo som ti tam pridal "%s". Je to z dôvodu, že nechceš reťazec DIALOG_INFO úplne celý prepísať, ale iba niečo pridať na jeho koniec. Preto do DIALOG_INFO vložíš to, čo v ňom už bolo (DIALOG_INFO) a za to vložíš nový obsah. Pre lepšie pochopenie, takto by to mohlo vyzerať (škaredšie, ale jednoduchšie) na jednom riadku. new DIALOG_INFO[500]; format(DIALOG_INFO, sizeof(DIALOG_INFO), "Peníze v ruce %d\nWanted level: %d", GetPlayerMoney(playerid), GetPlayerWantedLevel(playerid));
  8. format(DIALOG_INFO, sizeof(DIALOG_INFO), "Peníze v ruce %d", GetPlayerMoney(playerid));
  9. DuFF

    pomoc Timer

    Elegantnejšie bude urobiť to bez timeru. V nejakej globálnej premennej si budeš držať timestamp, kedy sa hráč naposledy pripojil do suma. Pri kontrole, či sa hráč môže pripojiť znova, porovnáš túto premennú posunutú o interval, aký chceš (5 minút) a aktuálny timestamp (získaš ho pomocou funkcie gettime). // pomocné makrá a konštanty na zlepšenie čitateľnosti: #define SECONDS(%0) ((%0) * 1000) #define MINUTES(%0) ((SECONDS(%0)) * 60) #define SUMO_COOLDOWN MINUTES(5) // globálne pole, v ktorom bude na indexe i uložené, kedy sa hráč s id i naposledy pripojil do suma new LastUsedSumo[MAX_PLAYERS]; // po pripojení hráča s id playerid do suma treba uložiť čas, kedy sa pripojil: LastUsedSumo[playerid] = gettime(); // kontrola, či sa hráč s id playerid môže pripojiť: new sumoUsableAgain = LastUsedSumo[playerid] + SUMO_COOLDOWN; new secondsUntilJoin = sumoUsableAgain - gettime(); if (secondsUntilJoin <= 0) { // hráč sa už môže pripojiť } else { // hráč sa ešte nemôže pripojiť, počet zostávajúcich sekúnd je uložený v premennej secondsUntilJoin }
  10. DuFF

    pomoc Prosím,pomožte

    https://forum.sa-mp.com/showthread.php?t=247893 Občas je fajn kliknúť na prvý výsledok vyhľadávania. Skús to niekedy.
  11. DuFF

    pomoc WirtualWorld

    Napadá mi ešte jedna vec.. Skontroluj si poradie argumentov Možno si napísal SetPlayerVirtualWorld(0, playerid); miesto SetPlayerVirtualWorld(playerid, 0); Občas sa to stane. Chybu pri kompilácii to nevyhodí, lebo typovo všetko sedí, ale správa sa to úplne inak.
  12. https://wiki.alliedmods.net/SourceMod: SourceMod scripts are written in the SourcePawn language, which is derived from Pawn. Some of the differences include: Passing functions as "objects," instead of by name Natively packed and tagged strings Dynamic local variables A 'decl' operator for creating uninitialized variables A new virtual machine and JIT, both rewritten in C++ A new file format
  13. DuFF

    pomoc WirtualWorld

    Tak si možno ešte skús debugnúť, či sa kód, ktorý hráča presunie do worldu 0, skutočne vykonal (nejakým výpisom za SetPlayerVirtualWorld).
  14. DuFF

    diskuze Pomoc - dialog

    Vymenoval si 2 možnosti. To nie je tak veľa na to, aby si ich nemohol skúsiť všetky a musel sa pýtať. Každopádne u tých riadkov s IsPlayerInSphere sú komentáre, čo tie riadky robia. Keď sa nad tým lepšie zamyslíš, zistíš, že to s gangami a so zobrazovaním dialogu vôbec nesúvisí. Skopíruj iba OnPlayerKeyStateChange, ktorý som ti sem poslal a vymaž riadky z OnPlayerPickupPickup, ktoré som ti radil zmazať.
  15. DuFF

    pomoc WirtualWorld

    Pravdepodobne pri zmene virtual worldu hráčovi meníš aj interior. Skontroluj si, či mu pri návrate do worldu 0 meníš aj interior na pôvodný.
×
×
  • Create New...