Jump to content

shane

Membru
  • Posts

    124
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by shane

  1. Schimba linia respectiva cu aceasta: } SelectedItem[playerid] = listitem; Pe scurt, ai pus ; inainte de [playerid]. Adica ai inchis acea variabila ma devreme decat trebuie
  2. Salut @CibuS, Care este linia 10489? (O poti cauta folosind combinatia de taste CTRL+G). Data viitoare cand deschizi o intrebare/problema ofera cat mai multe detalii daca vrei sa ti se raspunda rapid si la subiect. Probabil eroarea ta provine de la aceste linii: case 4: { switch(listitem) { case 0: { format(szDialog, sizeof(szDialog), "Esti sigur ca vrei sa-ti achizitionezi un cont premium?\nPentru asta, ai nevoie de 150 puncte premium.\n\n\ Avantaje:\n-Interes 0.2 la payday\n- 2 RP-uri o data la 5 ore\n- Poti avea 5 masini personale in total\n\ - numarul (/carplate) o sa fie de culoare portocalie.\n- acces la comanda /pcolor.\n- Poti pune pana la 100 obiecte in casa\nChat (/pc)."); SetPVarInt(playerid, "PremiumPoints", 150); } case 1: { format(szDialog, sizeof(szDialog), "Esti sigur ca vrei sa-ti achizitionezi %s?\n{FFFFFF}Pentru asta, ai nevoie de %d Premium Points.", UpgradeVip(PlayerInfo[playerid][pVip]+1), PriceVIP(PlayerInfo[playerid][pVip]+1)); SetPVarInt(playerid, "PremiumPoints", PriceVIP(PlayerInfo[playerid][pVip]+1)); } } } [...] motivul fiind ca nu ai inchis o acolata { } la case 1, precum am inchis eu mai sus. Cel putin eu asa vad, arata foarte dezordonat in topic. Gasesti case 4 mai jos de afisarea acestui dialog: ShowPlayerDialog(playerid, DIALOG_SHOP1, DIALOG_STYLE_MSGBOX, "Shop: Extra Packs", szDialog, "Ok", "Back"); Si ca sa iti explic si ce inseamna eroarea respectiva: Aceasta apare cand incluzi un cod in afara unui case sau cand nu inchizi o { }, cum e cazul tau. Cat despre acest warning "warning 217: loose indentation": Apare deoarece nu ai asezat codul bine, in linie cu celelalte. Serverul functioneaza si cu ele la compilare, dar mai incearca sa ai un cod aranjat, ca sa-l poti citi mai usor.
  3. E impresionant, indiferent daca e facut de tine sau nu. Nu ar strica sa postezi mai multe, am auzit ca mai ai destule. Eu intr-un timp chiar cautam harti de genul, mai roleplay si de calitate, insa cu greu am gasit cate ceva, deci pe unii poate chiar ii ajuta.
  4. Salut @CibuS, Atunci cand deschizi un topic de genul, trebuie sa oferi mai multe informatii, mai mult din codul tau (spre exemplu 5-10-15 linii de sus si 5-10-15 din josul liniei de la care provine eroarea). In plus sa stii ca nu ai deschis topicul in locatia potrivita, daca intri pe categoria "Ajutor Scripting" si dai scroll mai jos gasesti butonul "Ask new question", aici poti cere ajutor. In alta ordine de idei, cu linia pe care ai furnizat-o si daca asta e linia, eroarea provine cel mai probabil de la 'gString' (argumentul 2), pe care probabil nu l-ai definit bine sau e definit sub alta forma pe care nu o poti folosi in cazul scriptului tau. Alt motiv nu vad sa fie. Formatul pentru functia respectiva e urmatoarea: orm_addvar_string(ORM:id, var[], var_maxlen, const columnname[]) Exemplu cum il poti folosi: new playerName[ MAX_PLAYER_NAME ]; orm_addvar_string( ormid, playerName, MAX_PLAYER_NAME, "name" ); EDIT: O alta varianta ar fi ca poate folosesti o versiune mai veche pentru mysql, la care poate difera formatul pentru functia respectiva.
  5. Salut @Matei02Mihai, Cel mai bun textdraw editor (din pct. meu de vedere), este TDEditor (adica cel prezentat de catre Edison). Iar ca sa iti apara acea lista din care sa selectezi ce fel de textdraw vrei sa faci (model preview spre exemplu, cu skin, obiect sau vehicul), trebuie sa apesi click dreapta pe new, nu click stanga. E foarte usor de folosit, poti trage textdraw-urile cu mousu, lafel le poti modifica dimensiunea, etc. Singura problema pe care o are acesta este cand apesi ALT + TAB, iar uneori creeaza un textdrawu identic cu cel pe care il ai selectat. Iar pentru a nu pati asta, poti apasa click dreapta pe new sau click dreapta cand vrei sa scrii un text nou. Cand iti afiseaza dialogul in care trebuie sa introduci ceva sau sa selectezi ceva poti baga in bara linistit. Eu de obicei asa bag jocurile in bara, asta patesc Dar in rest mi se pare cel mai usor de folosit (in primul rand) si iti recomand sa-l folosesti pe acesta. Link TDEditor github: https://github.com/adri1336/TDEditor
  6. Update 1.00.02: - realizat dmv-ul, impreuna cu speedometrul. Am optat pe ceva mai 'modern', nu doar un text care sa indice viteza. - am adaugat cateva comenzi, de unele aveam nevoie, altele le-am adaugat cand ma gandeam cum sa fac textdraw-urile. - am mai adaugat cateva functii noi, precum si functionalitatea motorului, luminilor, etc pentru vehicule. * textdraw-urile de la dmv si speedometru * === Download 1.00.02 === Download: https://bit.ly/3qWKSES VirusTotal: https://bit.ly/2ObgB6Y =================== * baza de date se afla in arhiva / accept si sfaturi sa stiti ca nus perfect (am lasat si fisierele .exe de la sa-mp, de asta apare warninguri, plus pawncmd.dll care e detectat, insa e cel oficial, il puteti inlocui daca aveti dubii)
  7. Salut. M-am apucat si eu de scriptat si am facut un gm "de la 0" cum se zice din cate am inteles. M-am gandit sa postez update-uri la el cand am timp de pierdut, deci daca printr-o minune se gandeste cineva sa il descarce si sa-l foloseasca, 'stai gianâ pi el' cum ar zice Speak. Voi incerca sa il fac cat mai diferit de ce s-a mai vazut prin romania, nu neaparat la sisteme, ci si pe design. Numele gamemodeului l-am pus doar asa ca mi-am amintit de zeroping (hostu) si nu stiam cum sa-i spun ca era obligatoriu ca sa pot posta, iar 'gamemode shane' e prea asa parca. Cu ce mi-am petrecut timpul pana acum? - ma realizat momentan doar sistemul de inregistrare/logare (parola, email, varsta si alegerea skinului in functie de sex/gender). La logare am adaugat si loguri in cazul in care cel care se conecteaza reuseste sa intre pe cont sau nu. - la faza cu alegerea skinului m-am inspirat de la un server rus, mi s-a parut misto ideea. Ai de ales intre 4 regiuni (european, afro american, asian si latino), cu cate 8 skinuri pentru fiecare regiune, 4 pentru barbati adv si 4 pentru domnisoare si doamne. - am adaugat cateva functii pe care le-am folosit pe parcurs, precum detectarea numelui, actualizarea in baza si alte nebunii, sub alta forma fata de ce mai gasiti prin gamemode-uri cred, n-am mai descarcat de mult un gm sa vad ce-au mai facut baietii in ultimii 2 ani :)). - am adaugat o comanda prin care sa poti seta admin unui jucator (/setadmin), impreuna cu loguri pentru aceasta. - am folosit cele mai noi 'tehnologii', pe care o sa le enumar aici: crashdetect 4.20, sscanf 2.10.2, mysql r41-4, pawncmd 3.3.3, iar pe partea de include-uri, am folosit cea mai recenta versiune YSI (5.4) si easyDialogs pentru dialoguri, desigur. - am adaugat si o camera de apartament pentru logare / selectarea skinului si sexului (gender), lafel, inspirata de pe serverul respectiv. Mapa nu e facuta de mine, am luat-o si eu de la cineva, dar pana la urma, daca tot e pe net, dc sa nu ne folosim de resursele altora, pentru asta au fost postate. * textdraw-urile de la selectarea skinului * === Download 1.00.01 === Download: https://bit.ly/2Nq6Q4Q VirusTotal: https://bit.ly/3aKRMr6 =================== ------------------------------------------------------------------------------------------------------------ Update 1.00.02: - realizat dmv-ul, impreuna cu speedometrul. Am optat pe ceva mai 'modern', nu doar un text care sa indice viteza. - am adaugat cateva comenzi, de unele aveam nevoie, altele le-am adaugat cand ma gandeam cum sa fac textdraw-urile. - am mai adaugat cateva functii noi, precum si functionalitatea motorului, luminilor, etc pentru vehicule. * textdraw-urile de la dmv si speedometru * === Download 1.00.02 === Download: https://bit.ly/3qWKSES VirusTotal: https://bit.ly/2ObgB6Y =================== * baza de date se afla in arhiva / accept si sfaturi sa stiti ca nus perfect (am lasat si fisierele .exe de la sa-mp, de asta apare warninguri, plus pawncmd.dll care e detectat, insa e cel oficial, il puteti inlocui daca aveti dubii)
  8. Asta difera de la gamemode la gamemode. La gamemode-urile mai vechi, se salva intr-un rand in tabelul cu jucatori numarul vehiculului din alt tabel, era mai complicat. {entru unele gamemode-uri (mai noi spre exemplu), trebuie sa modifici doar un numar. Ce ar trebui sa faci ar fi sa cauti locul in care sunt enumerate variabilele de la vehicule (de la inceputul gamemodeului, pCar, pCarOwner, etc.. in functie de gm). Ca sa iti dai seama mai usor ce anume ar trebui sa faci, cauti mesajul pe care il primesti atunci cand iti spune ca ai numarul maxim de sloturi si vezi despre ce e vorba. Iar daca nu reusesti, postezi functia care iti detecteaza numarul de sloturi in topic si astepti sa raspunda cineva. Exemplu cum ar putea arata functia: if( getPlayerSlots( playerid ) == 3 ) return SendClientMessage( playerid, -1, "Ai numarul maxim de vehicule (3)!"); //functia fiind 'getPlayerSlots', care arata in felul urmator function getPlayerSlots( playerid ) { //codul functiei return true; } Cand mai postezi un topic de genul, fii cat mai explicit, exista mai multe 'tipuri' de sloturi.
  9. Salut @Never Mine, Daca pornesti serverul in calculator la tine (windows), atunci, poti modifica numarul maxim de sloturi din fisierul server.cfg Daca serverul tau se afla pe un host cumparat, numarul de sloturi poate fi schimbat din Control Panel, pe care ti l-a oferit firma atunci cand ai cumparat hostul. (majoritatea au aceasta 'functie'). Insa numarul de sloturi nu poate fi mai mare decat numarul pe care l-ai ales la achizitia hostului, ci doar egal sau mai mic. (Exemplu: daca ai cumparat un host de 50 de sloturi, vei putea modifica numarul maxim de sloturi pana la 50, ex: 45, 30, 49, 10 si 50 (maximul)). De precizat faptul ca numarul maxim de sloturi pe care un server de samp le poate avea este 1000.
  10. Salut @Raduq, Trebuie sa detectezi si daca vehiculul in care urca e diferit fata de un avion si de o barca. Atunci cand jucatorul urca intr-un vehicul, la tine in script detectezi doar daca e bicicleta. Exemplu de rezolvare: new vehModel = GetVehicleModel(vehicleid); //ajuta la citirea codului mai bine if(!isBike(vehModel) && !isPlane(vehModel) && !isBoat(vehModel) && PlayerInfo[playerid][pDrivingLic] == 0)
  11. SA:MP Server Launcher (C# .Net Core) Am folosit acest launcher pentru o scurta perioada de timp, motiv pentru care, pentru efortul depus, nu are rost sa-l mai pastrez degeaba doar pentru mine. Oricum nu o sa-l mai folosesc, asa ca.. daca are cineva nevoie de o baza de la care sa porneasca, o poate folosi pe asta. Ideea acestui launcher a fost sa poti juca sa-mp pe server cu anumite moduri pe care sa le vada toti jucatorii. Va dau cateva exemplu cum il puteti folosi: Textdraw-uri noi, vehicule moderne precum Bugatti, Lambo, Ferrari, Rolls, etc., tinte custum, hud custom, enb, etc. Practic, voi va faceti un modpack cu care trebuie sa intre jucatorii pe server, faceti un installer in care sa includeti si launcherul, jucatorii instaleaza modpackul impreuna cu launcherul, deschide launcherul si intra pe server. Acesta contine doar ce se vede in imaginea de mai jos. Singurul lucru pe care trebuie sa il faci ca sa-l folosesti e sa modifici dimensiunile de la fisieru gta3.img, din script, cu dimensiunile celui din modpackul sau modpackurile voastre (in caz ca aveti mai multe versiuni cu care jucatorii pot intra pe server). Nu e cine stie ce, chiar sunt incepator in C#, unele resurse folosite nu sunt ale mele (precum samp query pentru informatiile despre numarul de jucatori online pe server), insa e un basic de care va puteti folosi. Daca va ganditi sa il folositi, inainte de a face asta, sa va ganditi ca e nevoie de multa reclama si efort. !?!: E un launcher "privat" (sau cum vreti sa-i spuneti), doar pentru serverul vostru, nu e un launcher precum sa-mp.exe (oficial), care va permite sa va conectati pe orice server. Cele 2 pagini web (cu eroarea 404) reprezinta paginile pentru anunturi. In arhiva aveti si pozele pe care le-am folosit pentru background la website. Ce contine: - basicul pentru conectare cu detectarea modpackului - 2 zone pentru anunturi, intr-o pagina web - butoane cu accesare panel/forum/discord/etc. - detectarea conexiunii la internet Nu garantez ca codul sursa nu va fi accesat sau alte d'astea. Pana la urma, orice program poate fi 'crackuit'. Download: https://bit.ly/3bqCas9
  12. Salut @AnDrEyUpS, E foarte simplu sa faci un race-checkpoint. Ai urmatoarea structura pentru race-checkpointuri: SetPlayerRaceCheckpoint( playerid, type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, size ); Sa zicem ca primul tau checkpoint are coordonatele: x = 1, y = 2, z = 3; (primul checkpoint din cursa) Dupa care, urmatorul tau checkpoint are coordonatele: nextx = 4, nexty = 5, nextz = 6; (al 2-lea checkpoint din cursa) Iar cursa incepe cu urmatoare functie (un exemplu): function startRace( ) { foreach( new i : Player ) { if( isPlayerInRace[ i ] ) { SetPlayerRaceCheckpoint( i, 0, 1, 2, 3, 4, 5, 6, 7.0 ); SendClientMessage( i, -1, "Cursa a inceput, ti-am setat primul checkpoint" ); } } } Dupa cum vezi, dupa "SetPlayerRaceCheckpoint( i, 0, " urmeaza numerele 1, 2, 3 (care reprezinta primul checkpoint din cursa), dupa care numerele 4, 5, 6 (care reprezinta coordonatele pentru al 2-lea checkpoint), urmat de 7.0 care reprezinta dimensiunea checkpointului. Practic, tu trebuie sa incluzi in fiecare checkpoint pe care il creezi atat locul in care vrei sa faci checkpointul, cat si urmatorul loc in care vrei sa il faci. Dupa ce ai creat primul checkpoint, al 2-lea va arata in felul urmator (exemplu): SetPlayerRaceCheckpoint( i, 0, 4, 5, 6, 7, 8, 9, 7.0 ); Dupa cum vezi, primele numere sunt 4, 5 si 6, care reprezinta locatia checkpointului, urmat de 7, 8 si 9 care reprezinta locatia pentru urmatorul checkpoint. Cand vei crea al 3-lea checkpoint, in loc de 4, 5, 6, vei trece 7, 8, 9. Cand vei ajunge la ultimul checkpoint, acesta trebuie sa contina aceleasi coordonate atat pentru locatia in care ai pus ultimul checkpoint, cat si pentru urmatoarea (Exemplu): SetPlayerRaceCheckpoint( i, 1, 7, 8, 9, 7, 8, 9, 7.0 ); Iar dupa cum vezi, dupa "i", am pus 1, care reprezinta type-ul pentru finish. (0 reprezinta type-ul normal, adica iti arata sageata pentru directia catre urmatorul checkpoint). Cam asa functioneaza race-checkpointurile. Desigur, eu ti-am aratat un exemplu simplu, tu te poti folosi de el sa intelegi, si sa-ti faci codul mai optimizat. Poti defini toate checkpointurile intr-o variabila "Float" si sa le apelezi detectand ultimul checkpoint in care a intrat jucatorul, in felul asta scapi de cateva linii. (Exemplu): #define MAX_RACE_CHECKPOINTS 5 new Float: raceCheckpoints[ MAX_RACE_CHECKPOINTS ][ 3 ] = { { 1.000, 2.000, 3.000 }, { 4.000, 5.000, 6.000 }, { 7.000, 8.000, 9.000 }, { 10.000, 11.000, 12.000 }, { 13.000, 14.000, 15.000 } }; function startRace( ) { foreach( new i : Player ) { if( isPlayerInRace[ i ] ) { SetPlayerRaceCheckpoint( i, 0, raceCheckpoints[ 0 ][ 0 ], raceCheckpoints[ 0 ][ 1 ], raceCheckpoints[ 0 ][ 2 ], raceCheckpoints[ 1 ][ 3 ], raceCheckpoints[ 1 ][ 4 ], raceCheckpoints[ 1 ][ 5 ], 7.0 ); SendClientMessage( i, -1, "Cursa a inceput, ti-am setat primul checkpoint" ); } } } public OnPlayerEnterRaceCheckpoint( playerid ) { if( isPlayerInRace[ playerid ] ) { playerCheckpoint[ playerid ] ++; new checkPoint = playerCheckpoint[ playerid ], nextPoint = playerCheckpoint[ playerid ] + 1; if( checkPoint < MAX_RACE_CHECKPOINTS - 1 ) SetPlayerRaceCheckpoint( i, 0, raceCheckpoints[ checkPoint ][ 0 ], raceCheckpoints[ checkPoint ][ 1 ], raceCheckpoints[ checkPoint ][ 2 ], raceCheckpoints[ nextPoint ][ 3 ], raceCheckpoints[ nextPoint ][ 4 ], raceCheckpoints[ nextPoint ][ 5 ], 7.0 ); else SetPlayerRaceCheckpoint( i, 1, raceCheckpoints[ checkPoint ][ 0 ], raceCheckpoints[ checkPoint ][ 1 ], raceCheckpoints[ checkPoint ][ 2 ], 0.0, 0.0, 0.0, 7.0 ); SendClientMessage( i, -1, "Ai intrat in checkpointul de la race." ); } return true; } E facut pe moment, e doar un exemplu. Cam asta ar fi, bafta. Pentru alte detalii, click aici.
  13. Salut @BogdazWz, Cea mai simpla metoda de a rezolva problema e sa faci un ticket la firma ce ti-a furnizat serviciile de gazduire si sa ii rogi sa iti rezolve problema. Pur si simplu le explici care e problema cu ceasul tau, iar in urma unui raspuns pozitiv al acestora o sa fii nevoit sa acorzi un restart serverului (nu mai stiu daca e neaparat restartul). Dupa parerea mea, nu are rost sa te complici in alt fel, mai ales daca nu ai experienta. Rar se intampla ca firmele de furnizare a serviciilor de gazduire sa nu aiba ora setata pe fusul orar corect, din Romania, deci nu are rost sa te complici cu modificarea scripturilor. Cat despre schimbarea orei din calculator, nu are legatura cu ceea ce ai tu nevoie, decat daca pornesti serverul pe 'localhost'. Daca pornesti serverul din consola (pe localhost), ceasul este reprezentat de ora pe care o ai tu la calculator, insa daca ai serverul pus pe un host (ex. platit), atunci aplica ce ti-am spus mai sus.
  14. shane

    MYSQL

    Salut @GEORGIKAA, Cel mai probabil, asta te va ajuta sa rezolvi problema.
  15. Salut @DeepC00L, Procesul pentru asa ceva necesita ceva experienta. Intereseaza-te de CostumSAAS2 (sau ceva de genul) si de programul Map Cleaner, care ar trebui sa steaga mapa san andreas facand astfel posibila adaugarea unei harti noi. Daca te intereseaza mapa de pe serverul g-stone, aceasta se numeste Criminal Russia si poti gasi metoda foarte usor pe internet daca cauti 'cr-mp' si intri pe forumul siteului respectiv. Desi nu m-am informat foarte mult in legatura cu asta, din ce am inteles si sper sa nu gresesc, foloseste metoda pe care ti-am spus-o mai sus. Daca te pricepi in 3D Moddeling, poti modifica unele obiecte curente ale mapei San Andreas si sa dai alta infatisare, sa schimbi cladiri, sa modifici obiecte dupa bunul plac. Cat despre ideea de 'Launcher', daca vrei sa faci asta, o sa ai nevoie nu doar de un launcher, un staff si un server, o sa ai nevoie si de foarte multa reclama (nu neaparat pe retelele de socializare precum facebook si intagram, ci si pe youtube in primul rand, videoclipuri, etc.) Probabil voi posta un launcher curand, aici. Poti folosi baza acestuia sa-ti faci unul propriu in Visual Studio. Dar ti-am spus, daca nu indeplinesti cel putin ultima conditie de mai sus, nu merita.
  16. Este 'celebrul' plugin pentru voice chat, insa cu o problema rezolvata. Aceasta versiune de plugin ar trebui sa functioneze pe orice host. Versiunea de pe github trebuie binduita pe ip-ul serverului. (Cine stie despre ce vorbesc). Problema provine de la acest cod (bindAddr.sin_addr.s_addr = INADDR_ANY;), care trebuie schimbata cu aceasta: bindAddr.sin_addr.s_addr = RakNet::GetInternalId().binaryAddress; (in fisieru Network.cpp). Cine vrea poate face modificarea direct pe pluginul lor, sau daca vi se pare ca am pus eu ceva in el, schimbati cu ce v-am dat mai sus. Link: https://bit.ly/3Xgez3M (linux/windows)
  17. Salut @Oliver. - RPG2, Warningurile respective inseamna urmatoarele: warning 219: local variable "tmpobjid" shadows a variable at a preceding level => variabila "tmpobjid" a fost deja definita odata mai sus. (Rezolvare: deschizi fisierul systems.inc, care se afla in folderul pawno -> include, cauti linia 1263 si stergi urmatoarea linie "new tmpobjid") Daca codul tau este scris in felul urmator de la linia 1263 in jos: new tmpobjid = CreateDynamicObject( etc etc.. ); new tmpobjid = CreateDynamicObject( etc etc.. ); new tmpobjid = CreateDynamicObject( etc etc.. ); ...atunci il modifici dupa exemplul acesta: tmpobjid = CreateDynamicObject( etc etc.. ); tmpobjid = CreateDynamicObject( etc etc.. ); tmpobjid = CreateDynamicObject( etc etc.. ); Diferenta este ca lipseste "new" din fata variabilei tmpobjid, care e deja definita mai sus de linia 1263 conform warningului tau. De asemenea, daca nu folosesti variabila tmpobjid intr-o functie, precum exemplul de mai jos, atunci poti sterge "tmpobjid = " din fata lui CreateDynamicObject. tmpobjid = CreateDynamicObject( etc etc.. ); SetDynamicObjectMaterial( tmpobjid, etc, etc.. ); warning 217: loose indentation => te avertizeaza de faptul ca codul (scriptul) din jurul liniei 36877 nu este aranjat in rand cu celelalte. Exemplu de script care iti genereaza acest warning: if( PlayerInfo[ playerid ][ pAdmin ] ) { SendClientMessage( playerid, -1, "Esti admin." ); SendClientMessage( playerid, -1, "Mesaj" ); // linia cu problema, care nu se afla in rand cu celelalte SendClientMessage( playerid, -1, "Mesaj" ); } Exemplu de script corect aranjat: if( PlayerInfo[ playerid ][ pAdmin ] ) { SendClientMessage( playerid, -1, "Esti admin." ); SendClientMessage( playerid, -1, "Mesaj" ); // linia e aranjata acum SendClientMessage( playerid, -1, "Mesaj" ); }
  18. @Pitbul97, Ce pluginuri folosesti? Cum le-ai trecut in randul "plugins" din fisierul server.cfg? Ai incercat sa le actualizezi? Primesti vr-o eroare in server_log legata de pluginuri? (Ex. Failed to load plugin X). Pana la urma, trebuie sa iti pui singur intrebarile de mai sus ca sa rezolvi problema. (daca crezi ca e de la pluginuri).
  19. Salut @Pitbul97, Ia legatura cu firma de la care ai cumparat hostul printr-un ticket, o eventuala cauza ar putea fi lipsa unor permisiuni sau o problema la sistemul de operare linux. (daca e pe linux) O alta eventuala cauza ar putea fi prezenta unui fisier .amx care sa cauzeze problema asta (poate un filterscript pe care il folosesti atunci cand porneste serverul).
  20. @GEORGIKAA, In primul rand, aceasta functie (stock LoadPlayerTextdraw()), trebuie sa fie per/playerid, adica: stock LoadPlayerTextdraw( playerid ). In al 2-lea rand, nu ai nevoie sa incluzi a_samp iar, il ai odata introdus in gamemode. Si nu in ultimul rand, incearca sa muti acel include undeva deasupra la OnGameModeInit. Iar pe langa asta, nu ai creata in gamemode variabila FishTD. (EROAREA: error 017: undefined symbol "FishTD")
  21. Salut @GEORGIKAA, Avem nevoie de fisierul cu textdraw-uri si locatia in care le-ai inclus (#include etc). Textdraw-urile din fisierul .inc ar trebui sa fie adaugate intr-o functie (ex: function Load_TextDraws( ), respectiv o functie pentru textdraw-urile pentru playerid, separata, ex: function Load_Player_TextDraws( playerid )). Functia Load_TextDraws o apelezi la OnGameModeInit, iar Load_Player_TextDraws, la OnPlayerConnect( playerid ).
  22. shane

    coliziuni

    Salut @NERS, Iti ofer mai jos un exemplu: new Float: X, Float: Y, Float: Z; if( IsPlayerInRangeOfPoint( playerid, raza_zonei, x_zona, y_zona, z_zona ) ) { if( IsPlayerInAnyVehicle( playerid ) && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) { DisableRemoteVehicleCollisions( playerid, true ); Collisions_ON[ playerid ] = true; } } Practic, detectezi daca un jucator se afla in zona respectiva, daca se afla intr-un vehicul si daca este soferul unui vehicul, iar mai apoi, ii dezactiveaza coliziunile. Dupa care vei avea de detectat daca jucatorul a iesit din zona respectiva, si daca are coliziunile activate. Deci va trebui sa creezi o noua variabila (ex: Collisions_ON[ playerid ]), si sa i le dezactivezi. new Float: X, Float: Y, Float: Z; if( !IsPlayerInRangeOfPoint( playerid, raza_zonei, x_zona, y_zona, z_zona ) && Collisions_ON[ playerid ] ) { if( IsPlayerInAnyVehicle( playerid ) && GetPlayerState( playerid ) == PLAYER_STATE_DRIVER ) { DisableRemoteVehicleCollisions( playerid, false ); Collisions_ON[ playerid ] = false; } } Cam asta ar fi. Va trebui sa adaugi totul intr-un timer global.
  23. Salut @thestafy, Eu personal iti recomand acest canal. L-am gasit cu o simpla cutare pe youtube: https://www.youtube.com/c/GroWyTuts Vad ca serie inceputa cu gamemode "de la 0" si e inregistrat pe forum @GroWy. Poate raspunde si la mesaje, nu stiu. Cat despre "daca se merita". Daca te gandesti sa faci avere din asta, nu se merita. Daca te limitezi la dorintele tale, daca vrei sa faci asta din distractie, din pasiune si asa mai de parte, cine te opreste. Eu unul nu o mai fac pe bani de foarte mult timp, am ramas la pasiune pentru un joc din copilarie, iar din cand in cand mai raspuns si la probleme, incerc sa raman si eu in trend cu noile cerinte si mai scriptez in timpul liber daca am chef si idei misto. De asemenea, un mare ajutor ti-l ofera site-ul: wiki.open.mp . Aici vei gasi majoritatea daca nu chiar toate detaliile despre sa-mp scriping (functii, resurse, etc). Multa bafta!
  24. Hint pentru cine intampina probleme cu accesarea forumului sau wiki sa-mp.com pe archive.org . In cazul in care nu il puteti accesa de pe web.archive.org, o puteti face de pe web-old.archive.org . Mie personal nu mi-a mers acum ceva zile pe web.archive.org
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.