Code: Select all
warning 217: loose indentation
Code: Select all
fatal error 100: cannot read from file:
1.Cum rezolvam problema warning 217: loose indentation:
Aceasta problema apare atunci cand codul sursa este dezordonat, cand inchideti o functie cu " { } " acestea posibil sa nu fie aranjate in linie, cand anumite functii nu sunt bine ordonate de exemplu: o functie este la inceput de rand i-ar cealalta cu 5-6 caractere mai in fata.
Rezolvare:
Descarcati AMX Mod X, dupa ce instalati programul intrati in AMXx Studio, in partea stanga sus apasati butonul "File" alegeti "Open" apoi cautati prin calculator fisierul sursa si il deschideti dupa ce faceti acest lucru apasati butonul "CTRL + I" urmat de butonul "CTRL + S" pentru a salva modificarile.
Poze :[/b]
Forma corecta a plugin-ului
Forma gresita a plugin-ului
Erori in urma greselilor de 'scriere'
2.Cum rezolvam problema fatal error 100: cannot read from file:
Daca dati peste aceasta problema in compilarea unui plugin inseamna ca nu aveti libraria cu nativele/forwardurile sau stockurile necesare functionari in parametri normali a pluginului.
Rezolvare:
Este necesara o compilare locala a pluginului (cititi mai jos si veti afla cum sa faceti si asa ceva), intrati in folderul Scripting din addons mai departe in folderul include si verificati daca aveti fisierul care este necesar pluginului, de exemplu: daca eroarea este de genul "fatal error 100: cannot read from file: 'ColorChat' " atunci trebuie sa va uitati dupa fisierul ColorChat.inc (toate include-urile au extensia .inc) daca nu il aveti cautati fisierul lipsa pe Google sau il cereti autorului pluginului.
O lista cu cateva fisiere de tip "include" uzuale poate fi gasita mai jos:
ColorChat.inc
CC_ColorChat.inc
dhudmessage.inc
SpecialGeoIP.inc
SpecialGeoIpConst.inc
Faceti click pe numele include-ului si apasati butonul "Click here to start download from sendspace"
3.Cum rezolvam problema error 054: unmatched closing brace ("}")
Aceasta eroare apare atunci cand doriti sa inchideti un public sau o functie insa puneti unul sau mai multe simboluri de inchidere ( { } ).
Rezolvare:
Va duceti la linia respectiva unde a aparut eroarea si verificati fiecare simbol de inchidere ( { } ) de exemplu am codul urmator :
Code: Select all
public client_putinserver(id)
{
if IsUserAdmin(id)
{
client_print(id, print_chat "Bun venit pe server." )
}
}
}
Code: Select all
public client_putinserver(id)
{
if IsUserAdmin(id)
{
client_print(id, print_chat "Bun venit pe server." )
}
}
Poze :[/b]
Forma corecta a plugin-ului
Forma gresita a plugin-ului
Erori in urma greselilor de 'scriere'
4.Cum rezolvam problema 001 - expected token: ; but found "-identifier-"
Aceasta eroare apare atunci cand in codul sursa uitati sa treceti un " ; " la final de constante.
Rezolvare:
Va duceti la linia corespunzatoare erorii insa atentie aceasta eroare va va duce cu un rand dupa constanta unde trebuie sa puneti " ; ", deci daca la linia unde va duce eroarea apare deja " ; " la final trebuie sa va uitati inapoi sa vedeti unde lipseste asa ceva.
Ce inseamna " -identifier-" indentifier = id adica pe cine sa se execute comanda, cui sa ii apara mesajul x s.a.m.d ( id se pune daca doriti sa actioneze functia doar asupra jucatorului ce o executa, daca doriti ca functia sa se execute pentru toti jucatorii conectati trebuie sa puneti 0).
Poze :[/b]
Forma corecta a plugin-ului
Forma gresita a plugin-ului
Erori in urma greselilor de 'scriere'
5.Cum rezolvam problema undefined symbol symbol
Aceasta eroare apare atunci cand variabila, constanta, functia nu este definita.
Rezolvare:
Creati o variabila sau constanta cu numele simbolului necunoscut care sa indeplineasca functia respectiva.
6.Cum sa rezolvati problema symbol already defined: identifier
Aceasta eroare apare atunci cand un simbol este definit de doua ori in codul sursa.
Rezolvare:
Va duceti la linia erorii si stergeti unul din cele doua simboluri sau una din cele doua variabile, constante care sunt in plus.
7.Cum sa compilam un plugin local:
Dat fiind faptul ca compilatorul online al celor de la AMXX nu contine toate include-urile necesare compilari unui plugin trebuie sa facem o compilare locala adica sa il compilam de la noi din calculator.
Cum faceti asta?Va voi explica in randurile ce urmeaza:
Prima data descarcam Acest addons curat addons-ul contine doar pluginurile de baza, sma-urile de baza si fisierele .inc de baza.
Apoi intram in addons/amxmodx/scripting in acest folder punem fisierul sursa (fisierul .sma) alaturi de celelalte de acolo apoi intram in folderul include si verificam sa avem toate fisierele ce sunt trecute in plugin cu "#include" in fata daca nu le avem compilarea nu poate avea loc ( aveti cateva fisiere de tip .inc mai sus + explicatii ) apoi ne intoarcem in folderul scripting si deschidem executabilul compile.exe, daca compilarea a fost efectuata cu succes atunci va trebui sa arate ca in imaginea urmatoare: http://i.imgur.com/t4HOMCc.png (acele numere, reprezentand cat de mare este codul, timpul compilari).
Pluginele compilate le gasim in folderul scripting/compiled le luam de acolo si le punem in folderul plugins din orice addons vrem noi si asta este tot.
Tutoariale vor mai urma pe parcurs ce mai am timp sa mai adaug sau daca doresc ceilalti pot lasa reply-uri despre ce functii sa fac sau sa editeze (in caz ca au acces) si sa adauge noi explicatii ale problemelor.
Daca am gresit cu ceva prin explicati doresc sa fiu corectat.