Jump to content

Guyy

Uživatel
  • Příspěvků

    329
  • Registrován

  • Aktivní

  • Vítězných dnů

    7

Everything posted by Guyy

  1. Ano problém vyriešil a nie nieje "proměnná file moc malá".. Neviem odkiaľ si to zobral že file je malá 24 (maximálna dlžka mena) + "hraci/" = 30.. Nie 50, už vôbedz nie 100 Quick Maths Takže on má 20 znakov nevyužitých, a ty mu tam chceš dať 70 nevyužitých.. Hm.. Problém je v tom že tam má 80 riadkov v 1 riadku.. Ak si nepochopil, nikdy nemôžu isť príliš dlhé texty do 1 riadku.. Takže format alebo strcat.. Tvoja malá proměnná file by mu pomohla no..
  2. Po pár dňoch nudenia sa som si spomenul na AC IV.. A nechcelo sa mi stahovať 20gb za 300kb/s, tak ma napadlo že mám na UPlay-i AC, aj Watch Dogs.. Tak som sa tam šiel prihlásiť, ale ja som si tam dal 2 step verification (Google Authentificator).. Lenže po reinštalovaní Google Authentificatoru, to kódy neobnový.. A ja som si nikdy Recovery kódy neprepisoval, vždy bolo tlačítko odobrania, takže mi ich netrebalo, aj dokonca tuna som nejako odobral tú verifikáciu, a potom som ju zasa obnovil lebo som nevedel od nej kód.. Takže je nejaká možnosť jak tú authentifikáciu vypnúť, bez toho aby som mal ten kód ?? Ďakujem za pomoc
  3. Guyy

    pomoc Job System - pomoc

    /////DEFINE,NEW,KKCINY/////// #include <a_samp> #if defined FILTERSCRIPT #endif #include <zcmd> #pragma tabsize 0 #define color_dgreen 0x12900BBF #define color_lred 0xFF0000AA #define color_lgreen 0x00FF00AA #define DIALOG_ROZVOZ 6 #pragma tabsize 0 new RozvozJOB[256]; /////PUBLIC ATD///// public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_ROZVOZ) { if(response) { if(listitem == 0) { SetPlayerCheckpoint(playerid, 1638.3129,983.1676,10.8203,10); SendClientMessage(playerid, color_dgreen, "[ JOB ] Choď naložiť potraviny do skladu."); } if(listitem == 1) { SetPlayerCheckpoint(playerid, 2191.8591,-2251.1094,13.5247,10); SendClientMessage(playerid, color_dgreen, "[ JOB ] Choď naložiť potraviny do skladu."); } if(listitem == 2) { SetPlayerCheckpoint(playerid, -1726.3578,-123.0685,3.5489,10); SendClientMessage(playerid, color_dgreen, "[ JOB ] Choď naložiť potraviny do skladu."); } } } return 0; } //////KOD//////// CMD:startjob(playerid, params[]) { //////////Rozvoz Potravin///////// if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 456) { RozvozJOB[playerid] = 1; new str[100]; strcat(str, "Mesto - {66ff33}Las Venturas(LV)"); strcat(str, "\nMesto - {66ff33}Los Santos(LS)"); strcat(str, "\nMesto - {66ff33}San Fierro(SF)"); ShowPlayerDialog(playerid, DIALOG_ROZVOZ, DIALOG_STYLE_LIST, "{66ff33}Rozvoz potravin:", str, "Potvrdit", "Zrusit"); } return 1; }
  4. Guyy

    pomoc Job System - pomoc

    Tak ako som tak pozeral, zistil som tvoj problém.. Hore si mal správny kód, preto ti to zobrazilo, a teraz nie.. Model ID vozidla, a ID vozidla je rozdiel.. Model ID je to čo zadávaš do CreateVehicle, ID vozidla je od 0 po max počet vozidiel ktoré môžeš vytvoriť.. Ty porovnávaš ID s 432, lenže v /dl ked si pozrieš, môžeš tam mať "ID: 0".. Ty musíš porovnať Model ID s 432.. Ten kód čo ti Smexy poslal, vymaž.. Okopíruj si svoj čo si písal hore, zprídaj do zátvorky za príkazom "params[]" a pôjde ti to.. Kebyže existujú "-1" reakcie, tak by som mu ju na tvojom mieste dal.. Uplne ta zmiatol, a neopravil, ale zničil ti kód..
  5. Guyy

    pomoc Job System - pomoc

    CMD:startjob(playerid, params[]) { if(GetPlayerVehicleID(playerid) == 456) { RozvozJOB[playerid] = 1; new str[100]; strcat(str, "Mesto - {66ff33}Las Venturas(LV)"); strcat(str, "\nMesto - {66ff33}Los Santos(LS)"); strcat(str, "\nMesto - {66ff33}San Fierro(SF)"); ShowPlayerDialog(playerid, DIALOG_ROZVOZ, DIALOG_STYLE_LIST, "{66ff33}Rozvoz potravin:", str, "Potvrdit", "Zrusit"); } else ShowPlayerDialog(playerid, 1651, DIALOG_STYLE_MSGBOX, "...", "...", "Potvrdit", "Zrusit"); return 1; } Zobrazí ti ten msgbox ?
  6. Guyy

    pomoc Job System - pomoc

    CMD:startjob(playerid) Môže to byť aj týmto.. Kedže tam nevidím nejaký define, ktorý to automaticky zapíše tak to zmeň na CMD:startjob(playerid, params[]) Mne sa to tiež dosť krát stávalo.. Ako vidím, tak to je FS, zapíš ho ako prvý.. Každý FS ktorý má dialogy musí byť zapísaný ako prvý. EDIT:// Pardon, tá "editovaná" (zničená) verzia má príkaz iba s playerid, bez params.. Preto ti to nejde, a vždy za názvom príkazu musí byť v zátvorke "playerid, params[]", aj hore si to mal zle.
  7. // Uloženie DOF2_SetInt(file, "Skin", GetPlayerSkin(playerid)); // Načítanie SetPlayerSkin(playerid, DOF2_GetInt(file, "Skin")); Niesom si istý či funkcia GetPlayerSkin existuje, pokiaľ nie tak ID skinu ukladaj do premennej PlayerInfo[playerid][pSkin] a načítaj ju presne tak isto ako peniaze..
  8. Preto ti to dá 0, lebo pošleš mu peniaze z premennej, ktorá sa rovna nule, a potom ju nastavíš na hodnotu zo súboru, nastavovanie penazí v logine môžeš dať tak, že si hodnotu vyčíta priamo zo súboru (jednoduhšie) GivePlayerMoney(playerid, DOF2_GetInt(file, "Money")); Alebo zoradiť aby nastavilo peniaze až po zapísaní hodnoty zo súboru PlayerInfo[playerid][pMoney] = DOF2_GetInt(file,"Money"); GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
  9. Nastavovanie penazí daj do dialógu prihlásenia.. Lebo po každom spawnutí ti to pridá peniaze ktoré ma nastavené, a zo Spawnu nastavovanie vymaž.. Peniaze ti to neuloží preto, lebo ty ukládaš peniaze s premennej, ale pridávaš si ich defaultne (GivePlayerMoney) že je tak.. V ukládaní prepíš DOF2_SetInt(file, "Money", PlayerInfo[playerid][pMoney]) na GetPlayerMoney(playerid)..
  10. dcmd_admins(playerid, params[]) { #pragma unused params new bool:adminsonline = false, str[255], line[45]; for(new i; i <= GetPlayerPoolSize(); i++) { if(!IsPlayerConnected(i)) continue; if(pInfo[i][ALevel] == 1) { if(IsPlayerAdmin(i)) format(line, sizeof line, "\n%s | Organizátor akcí | RCON", meno(i)); else format(line, sizeof line, "\n%s | Organizátor akcí", meno(i)); strcat(str, line); adminscount = true; } if(pInfo[i][ALevel] == 2) { // ... } } if(adminsonline == false) return ShowPlayerDialog(playerid, d_admins1, DIALOG_STYLE_MSGBOX, "Online A-Team", "Momentálne nie je prítomný žiaden člen A-Teamu", "Potvrdiť", ""); ShowPlayerDialog(playerid, d_admins, DIALOG_STYLE_MSGBOX, "Online A-Team", str, "Potvrdiť", ""); return 1; } EDIT:// Upravený kód od NeoRevCrew, chyby som neopravil
  11. Guyy

    pomoc Ammo systém

    Pravdepodobne máš na servery nejaký Anti Cheat, ktorý pri vyvolaní funkcií GivePlayerWeapon alebo GivePlayerMoney kickuje hráča, musíš použiť Anti Cheat Funkcie, aby ta to nevyhodilo.
  12. Tak to neviem či bude fungovať, ale stačí mu nastavovať HP podľa Damage zbrane.. Je to na dlho, kedže budeš musieť zistiť každej zbrani Damage, a potom ho odoberať s HP hráča, ale pokiaľ budeš mať len Sawn-Off, tak len do OnPlayerTakeDamage (myslím) nastavíš hráčovi do ktorého strelil o toľko hp, podľa Damage Sawn-Offky Ale neviem či to pôjde, ten lag.cs by nemal zakázať nastavovanie hp Takže pokiaľ mu po každej strele uberieš HP, tak mu bude vieš na čo
  13. To chceš toho príliš veľa v 1 anticheate Ja by som použil Nex-AC, síce nemá všetko čo si tam písal, ale väčšinu s toho má, a je v čestine.. A nejako som nepochopil čo robí ten lag.cs, lebo jak po sebe strielali, tak pri zapnutom lag.cs to vyzeralo tak isto jak pri vypnutom..
  14. Pretože má uloženú pizíciu 0.0 0.0 0.0 a ty ho tam portneš, takže ho dá pod tú farmu.. Buď mu môžeš do súboru zapísať pozíciu, čo zaberie menej riadkov, alebo môžeš kontrolovať či sa práve zaregistroval, a podľa toho mu tú pozíciu nastaviť.. public OnPlayerConnect(playerid) { if(KedJeZaregistrovaný) // Login { Registred = true; ShowPlayerDialog(...); } else // Register { Registred = false; ShowPlayerDialog(...); } return 1; } public OnPlayerRequestSpawn(playerid) { if(Registred) SetPlayerPos(playerid, GetFloat, GetFloat, GetFloat); // Zo súboru else SetPlayerPos(playerid, DefaultX, DefaultY, DefaulZ); // Defaultná pozícia return 1; } A radšej by si si mal založiť nový topic, lebo toto je "spam" či čo to..
  15. Tak hráč po každom umrtí bude na tom mieste ktoré má uložené.. OnPlayerReqestSpawn sa vyvolá po prvom spawnutí od pripojenia, do OnPlayerSpawn môžeš dať spawn pred nemocnicu napríklad
  16. Lebo nieje spawnutý a už mu nastavuješ pozíciu.. public OnPlayerRequestSpawn(playerid) { SetPlayerPos(playerid, dUserFLOAT(NickName(playerid)).("PosX"),dUserFLOAT(NickName(playerid)).("PosY"),dUserFLOAT(NickName(playerid)).("PosZ")); return 1; } A s prihlásenia to môžeš zmazať, aj tak to nič nespraví.
  17. SetPlayerPos(playerid, dUserFLOAT(NickName(playerid)).("PosX"),dUserFLOAT(NickName(playerid)).("PosY"),dUserFLOAT(NickName(playerid)).("PosZ")); Ale veď toto je načítanie pozície, či nie ? A doporučujem ešte uložiť aj rotáciu hráča, inak bude vždy otočený na sever, ale to až tak nevadí A pre tie zbrane, zistíš si informácie o všetkých zbraniach ktoré môže mať (13 slotov = 13 zbraní), pokiaľ na tom slote zbraň nieje, neuložíš to, pokiaľ tam zbraň je tak ju zapíšeš aj z počtom nábojov.. Našiel som príklad na samp fóre, a upravil ho.. for (new c = 0; c < 13; c++) { new id[8], amm[6]; format(id, 8, "Weapon%i", c); format(amm, 6, "Ammo%i", c); GetPlayerWeaponData(playerid, c, weaponid, ammo); if (weaponid != 0 && ammo != 0) { // SetInt(.., id, weaponid); // SetInt(.., amm, ammo); } }
  18. Tak potom neviem prečo ti to nejde, lebo urobil som presne to čo si napísal, a mne to ide.. Dokonca som aj pickup okopíroval, a zmenil pozície.. #include <a_samp> public OnFilterScriptInit() { SendClientMessageToAll(-1, " "); SendClientMessageToAll(-1, "{ff0000}[ ! ] {FFFFFF}AddStaticVehicle(411, 2512.5422, -1671.7954, 13.4947, 0.0, 10000);"); SendClientMessageToAll(-1, "{ff0000}[ ! ] {FFFFFF}CreatePickup(1650,1, 2512.5422 + 5, -1671.7954, 13.4947, -1);"); SendClientMessageToAll(-1, " "); AddStaticVehicle(411, 2512.5422, -1671.7954, 13.4947, 0.0, 10000); CreatePickup(1650,1, 2512.5422 + 5, -1671.7954, 13.4947, -1); return 1; }
  19. Aspoň si to najprv najdi.. Hned prvý topic na ktorý som klikol.. doslova je tam napísané "Nepotrebuješ to definovať, jednoducho vymaž OnGMInit a OnGMExit a nahraď ho OnFSInit a OnFSExit".. Takže tvoja rada mu je vieš na čo Nieje to dôležité, netreba to a prípad kedy to byť nemusí, si vidieť mohol, NIKDY to nemusí byť zapísané.. Ja som v živote nedefinoval FS a vždy mi všetko šlo.. A k téme.. A myslím že vo FS pickupy mať môžeš, skús zapísať ten FS ako prvý, ujistiť sa že fakt to zapínaš ako fs, nie ako gm.. Lebo chybu tam nevidím
  20. Pri id 0 ti to funguje preto, lebo i je nula, a id objectu tiež nula, ale ak je i 1, editovanie dá hráčovi s ID 1, Objectu ID 1.. Predpokladam že niesi nováčik Ale 3 hodiny a nevšimnúť si toto ?? Ja som to našiel po 10 minútach Dávaš editovanie hráčovi i, objectu i EditDynamicObject(i, Paska[i][pObject]); Zmeň to i na playerid.
  21. Guyy

    script AntiReklama System

    Dobrý script Hlavne preto že ked ti prídem na server a napíšem do chatu "play.superparba.eu" tak mi to ban nedá A keď dáš to launchera IP v tvare play.(doména).(koncovka) tak ti to tam automatický doplní 7777 Takže.. Kontroluj mená serverov (superparba, WTLS..) a to či zadal IP.. Nie port A keby hráč napíše správu "123.123.123.123 dvojbodka 7777" tak by určite dostal ban Pozri si čo je na SAMP Fóre, aké su tam antireklamy.. Lebo toto je AntiPort, nič to neochráni
  22. Lebo tam máš o jednú } viac..
  23. new Slots; // Nastavenie Slots = inputtext; // Zobrazenie for(new i; i < Slots; i++)
  24. Pozerám na to 10 minút, a stále si niesom istá či ti to pôjde Totiž.. vo všetkých príkazoch máš for na MAX_SLOTS.. Ale MAX_SLOTS je define, ktoré sa v hre nedá nijako zmeniť.. Takže čísla si tam síce dáš, ale nič sa nezmení.. Ako som hore písal, vytvor si premennú nejakú, ktorú budeš meniť v hre, a podľa tej premennej dáš aj for.. a SLOT[ i] vždy bude 8.. Lebo MAX_SLOTS je 8, takže i bude 8
  25. Tak ja by som skúsil niečo takéto.. CMD:nastavitsloty(...) { if(sscanf...) MaximumSlots = params; return 1; } CMD:weapons(...) { new sString[140]; for(new i; i < MaximumSlots; i++) format(sString, sizeof(sString), "%s%s\n", sString, /* Premenná ktorá zistí aká zbraň je na danom slote */); ShowPlayerDialog(...); return 1; } Neskúšal som to, ale malo by ti to vytvoriť toľko riadkov, koľko má premenná MaximumSlots..
×
×
  • Create New...