Ludo Posted February 15, 2012 Share Posted February 15, 2012 Salve a tutti, sono nuovo nella community e questo è il mio primo post. Non ho trovato la sezione "presentazione" o cose simili quindi penso che non ce ne sia bisogno. Comunque siccome è di buona regola presentarsi, vi do una breve descrizione di me: Sono un ragazzo di 13 anni e scripto in lua da circa 5-6 mesi. Me la cavo abbastanza bene anche se le cose che non capisco sono molte, come per esempio le funzioni legate a table. Infatti il mio problema riguarda proprio questo: Ho creato uno script per il joinquit con una tabella, il problema è che non va, perchè nel debugscript mi esce scritto: ERROR: Infinite/too long execution (nome_script) Aborting; infinite running script in nome_script Non capisco cosa ci sia di sbagliato... Comunque lo script serve per trovare la nazione dalla quale entra il giocatore. IPList = { ["31.201.76.0 - 31.201.76.255"] = "AD", --Una serie di valori (circa 1300 quindi circa 1300 linee) } function getPlayerCountry(player) theIP = getPlayerIP(player) IP1 = tostring(math.adjust(tonumber(gettok(theIP, 1, 46)))) IP2 = tostring(math.adjust(tonumber(gettok(theIP, 2, 46)))) IP3 = tostring(math.adjust(tonumber(gettok(theIP, 3, 46)))) IP4 = tostring(math.adjust(tonumber(gettok(theIP, 4, 46)))) IP = tonumber(tostring(IP1..IP2..IP3..IP4)) for ip1, ip2 in pairs(IPList) do if ip1 and ip2 then IPStart = tostring(gettok(ip1, 1, 45)) IPEnd = tostring(gettok(ip1, 2, 45)) IPCode = tostring(ip2) if IPStart ~= "" and IPEnd ~= "" and IPCode ~= "" then IPS1 = tostring(math.adjust(tonumber(gettok(IPStart, 1, 46)))) IPS2 = tostring(math.adjust(tonumber(gettok(IPStart, 2, 46)))) IPS3 = tostring(math.adjust(tonumber(gettok(IPStart, 3, 46)))) IPS4 = tostring(math.adjust(tonumber(gettok(IPStart, 4, 46)))) IPE1 = tostring(math.adjust(tonumber(gettok(IPEnd, 1, 46)))) IPE2 = tostring(math.adjust(tonumber(gettok(IPEnd, 2, 46)))) IPE3 = tostring(math.adjust(tonumber(gettok(IPEnd, 3, 46)))) IPE4 = tostring(math.adjust(tonumber(gettok(IPEnd, 4, 46)))) IPS = tonumber(tostring(IPS1..IPS2..IPS3..IPS4)) IPE = tonumber(tostring(IPE1..IPE2..IPE3..IPE4)) if IP >= IPS and IP <= IPE then flag = IPCode end end end end return flag or "N/A" end math.adjust è una cosa che ho fatto io ma sono sicuro che funzioni. Anche senza quella mi da sempre lo stesso errore, quindi il problema riguarda lo script di per se... Ho provato a mettere "break" con una tabella più piccola e funziona, ma con questa non va più... Spero possiate aiutarmi. Grazie in anticipo! Link to comment
HunT Posted February 15, 2012 Share Posted February 15, 2012 Non Complicarti la vita Se vuoi il country ip te lo do io completo di chat "onPlayerJoin" + le bandiere nel scoreboard. Se poi vuoi creare una cosa tutta tua non posso aiutarti perche per me questo è solo un hobby.Conosco il Lua ma non a questo punto Posso dirti però che puoi benissimo chiamare le funzione che ti servono nell' admin panel. La risorsa che ho io chiama l'ip del giocatore nel pannello admin e tramite un table converte la parola IT in italia,con questi elementi posso sia settare l'outputchat che il scoreboard. Fammi Sapere. Link to comment
Ludo Posted February 15, 2012 Author Share Posted February 15, 2012 Grazie della risposta Hunterix, ho già quello che dici tu, o se non è perfettamente uguale comunque è simile... Se ho capito quello che dici è tramite il file .csv, vero? Il problema è che di quello non capisco come aggiungere un range di indirizzi.. E poi secondo me, questo metodo è più preciso perchè comprende TUTTI gli ip che esistono.. Comunque grazie lo stesso per l' aiuto, penso che posterò nella sezione globale sperando che qualcun' altro riesca ad aiutarmi OT: Ho visto i tuoi lavori e sono veramente fatti bene, quindi perchè hai scritto "Conosco il Lua ma non a questo punto"? Secondo me invece lo conosci molto bene, non ti sottovalutare EDIT: La sezione esatta per postare questo problema qual è? Intendo la globale. Grazie ancora Link to comment
HunT Posted February 15, 2012 Share Posted February 15, 2012 Non so quale risorsa hai visto ma il mio country ip e personalizzato con tutti i country. L'admin panel ha di base 178 bandiere e io le ho aggiunte tutte (quasi 300),in pratica ogni country worka e non ho mai visto un n/a nel mio server. Se ti riferisci ad una risorsa della community sicuramente hai fra inteso. Cmq se fai un country ip tuo è molto meglio ,se ci riesci tanto di cappello.Per me è un lavoro molto stressante selezionare gli ip e dargli il titolo . . A TUTTI OMG. Non ti stressa scusa? Ci passerai 3 4 giorni per farlo e alla fine avrai lo stesso risultato perche l'admin panel ha tutti gli ip ma non le bandiere. La sezione che cerchi e scripting. Per agevolare il lavoro ti consiglio di usare questo : exports.admin:getPlayerCountry(source) Quindi automaticamente ti chiama l'ip del giocatore. puoi usarlo per questo : country = exports.admin:getPlayerCountry(source) if country == nil or country == false then country = "ZZ" Link to comment
Ludo Posted February 15, 2012 Author Share Posted February 15, 2012 Penso che continuerò quello che sto facendo ora >_> Comunque A TUTTI OMG. Non ti stressa scusa? No non mi stressa perchè con le macro di notepad++ si fa velocemente. Altro che 3-4 giorni, in circa un ora si potrebbe fare tutto Comunque grazie ancora per l' aiuto, e se mi potessidire dove postare nella sezione globale per il supporto, mi aiuteresti tanto. Link to comment
HunT Posted February 15, 2012 Share Posted February 15, 2012 Penso che continuerò quello che sto facendo ora >_>Comunque A TUTTI OMG. Non ti stressa scusa? No non mi stressa perchè con le macro di notepad++ si fa velocemente. Altro che 3-4 giorni, in circa un ora si potrebbe fare tutto Comunque grazie ancora per l' aiuto, e se mi potessidire dove postare nella sezione globale per il supporto, mi aiuteresti tanto. Te l'ho detto . . .in scripting puoi chiedere aiuto here : viewforum.php?f=91 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now