-
Příspěvků
329 -
Registrován
-
Aktivní
-
Vítězných dnů
7
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Everything posted by Guyy
-
pomoc Pravidla do dialogu register systemu
Guyy replied to ___RyDDeRs___'s question in Herní (SA:MP, CS apod.)
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.. -
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
-
/////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; }
-
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..
-
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 ?
-
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.
-
pomoc Potřeboval by jsem pomoc s ukládáním informací
Guyy replied to M1KE's question in Herní (SA:MP, CS apod.)
// 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.. -
pomoc Potřeboval by jsem pomoc s ukládáním informací
Guyy replied to M1KE's question in Herní (SA:MP, CS apod.)
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]); -
pomoc Potřeboval by jsem pomoc s ukládáním informací
Guyy replied to M1KE's question in Herní (SA:MP, CS apod.)
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).. -
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
-
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.
-
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
-
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..
-
pomoc Načítanie zbrani a pozície cez dini
Guyy replied to Marshall_'s question in Herní (SA:MP, CS apod.)
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.. -
pomoc Načítanie zbrani a pozície cez dini
Guyy replied to Marshall_'s question in Herní (SA:MP, CS apod.)
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 -
pomoc Načítanie zbrani a pozície cez dini
Guyy replied to Marshall_'s question in Herní (SA:MP, CS apod.)
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í. -
pomoc Načítanie zbrani a pozície cez dini
Guyy replied to Marshall_'s question in Herní (SA:MP, CS apod.)
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); } } -
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; }
-
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
-
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.
-
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
-
Lebo tam máš o jednú } viac..
-
new Slots; // Nastavenie Slots = inputtext; // Zobrazenie for(new i; i < Slots; i++)
-
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
-
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..