Jump to content

2 mal die selbe IP online


Pysk

Recommended Posts


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Hallo.

 

Ist es möglich per Script zu bestimmen das eine IP zu selben zeit maximal 2 mal online sein kann und eine dritte einfach rausfliegt wenn sie sich einloggt?

 

Ich habe das ganze bisher so das eine IP nur 2 mal pro Map online sein kann.

 

Das Script klappt auch ganz gut ist aber nicht das was ich suche.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  318
  • Reputation:   37
  • Joined:  12/30/11
  • Last Seen:  

ist indem sinne das gleich wie dein script für die MAP

 

musst es nur auf OnPCloginEvent umstellen , und dort den check für die 2 ips einbauen

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  249
  • Reputation:   72
  • Joined:  10/20/12
  • Last Seen:  

SELECT COUNT(*) FROM `login` l INNER JOIN `char` c ON c.`account_id` = l.`account_id` WHERE `last_ip` = '"+getcharip()+"' AND c.`online` = 1;
So könnte eine Lösung per SQL-Query aussehen. Etwas effizienter wäre evtl. noch ein Scriptcommand.

Allerdings halte ich von so etwas nicht viel. Wenn man sich mal zum gemeinsamen Ragnarok Spielen treffen möchte, dürfen nur maximal 2 Spieler auf den Server. Irgendwie schade ^^"

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Das Problem ist das die Leute sich zig Accounts machen wegen Linker, Bufer Endow etc. Das fördert in keinsterweise das zusammenspiel finde ich.

 

Zudem sind die leute mit High Endp PCs im WoE im vorteil die sich dann 5 Accs aufstellen können. 2 - 3 Accounts je IP müssn einfach reichen.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  47
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   99
  • Joined:  05/23/12
  • Last Seen:  

Ich würde die IPs, die Online sind in einer Temporären Datenbank ablegen, sobald sich einer ausloggt wird die IP wieder entfernt. So kannst du mittels OnPCLoginEvent: eine Abfrage machen, ob die IP bereits 2 mal vorhanden ist, wenn nicht kannst du die IP in der Temporären DB ablegen.

 

Wenn du noch Fragen hast, dann kannst du dich bei mir melden.

 

Rynbef~

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Ich komme einfach nicht weiter.

 

Akutell sieht das ganze so aus:

 

-    script    abcde    -1,{

    OnPCLoadMapEvent:

          

           getmapxy(.@amap$,.@mapx,.@mapy,0);



           if(.@amap$!="dragonia" && .@amap$ !="morocc" && .@amap$ !="geffen" && .@amap$ !="payon" && .@amap$ !="alberta" && .@amap$ !="izlude" && .@amap$ !="aldebaran" && .@amap$ !="xmas" && .@amap$ !="comodo" && .@amap$ !="yuno" && .@amap$ !="amatsu" && .@amap$ !="gonryun" && .@amap$ !="umbala" && .@amap$ !="niflheim" && .@amap$ !="louyang" && .@amap$ !="gm_haus" && .@amap$ !="jawaii" && .@amap$ !="ayothaya" && .@amap$ !="einbroch" && .@amap$ !="lighthalzen" && .@amap$ !="einbech" && .@amap$ !="hugel" && .@amap$ !="rachel" && .@amap$ !="veins" && .@amap$ !="moscovia" && .@amap$ !="mid_camp" && .@amap$ !="brasilis" && .@amap$ !="dicastes01" && .@amap$ !="mora" && .@amap$ !="dewata" && .@amap$ !="malangdo" && .@amap$ !="malaya" && .@amap$ !="eclage" && .@amap$ !="prontera") end;

              

            query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);

            query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@AccountId);

            set .@aidtemp,getcharid(3,strcharinfo(0));



            for(set .@i ,0;.@i<getarraysize(.@AccountId);set .@i,.@i+1)

               {

                 if(attachrid(.@AccountId[.@i]))

                    {

                      getmapxy(.@qmap$,.@qmapx,.@qmapy,0);

                      if (.@qmap$== .@amap$) set .@j,.@j+1;

                     }

                    detachrid;

               }

            attachrid .@aidtemp;

            if(.@j > $@MaxWimdows)

                  atcommand "@kick " + strcharinfo(0) + "";

    end;

    

    OnInit:

    

    set $@MaxWimdows,2;

    end;

    

    }

    

    //------Enable map OnPCLoadMapEvent-------------------

dragonia    mapflag    loadevent
alberta    mapflag    loadevent
geffen    mapflag    loadevent
morocc    mapflag    loadevent
geffen    mapflag    loadevent
payon    mapflag    loadevent
alberta    mapflag    loadevent
izlude    mapflag    loadevent
aldebaran    mapflag    loadevent
xmas    mapflag    loadevent
comodo    mapflag    loadevent
yuno    mapflag    loadevent
amatsu    mapflag    loadevent
gonryun    mapflag    loadevent
umbala    mapflag    loadevent
niflheim    mapflag    loadevent
louyang    mapflag    loadevent
gm_haus    mapflag    loadevent
jawaii    mapflag    loadevent
ayothaya    mapflag    loadevent
einbroch    mapflag    loadevent
lighthalzen    mapflag    loadevent
einbech    mapflag    loadevent
hugel    mapflag    loadevent
rachel    mapflag    loadevent
veins    mapflag    loadevent
moscovia    mapflag    loadevent
mid_camp    mapflag    loadevent
brasilis    mapflag    loadevent
dicastes01    mapflag    loadevent
mora    mapflag    loadevent
dewata    mapflag    loadevent
malangdo    mapflag    loadevent
malaya    mapflag    loadevent
eclage    mapflag    loadevent
prontera    mapflag    loadevent

 

Aber ich bekomme es nicht global hin. Ich habe das Script auch nicht geschrieben sondern aus dem RA Forum.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  249
  • Reputation:   72
  • Joined:  10/20/12
  • Last Seen:  

Lol,

das Script ist auch ziemlich umständlich xD

(Schaut, ob eine IP mehrmals auf einer der Maps ist)

Ich habe an sich schon eine fast vollständige Lösung oben geschrieben oo

OnPCLoadMapEvent:
query_sql("SELECT COUNT(*) FROM `login` l INNER JOIN `char` c ON c.`account_id` = l.`account_id` WHERE `last_ip` = '"+getcharip()+"' AND c.`online` = 1;",.@ipCount);
if( .@ipCount > .MaxIpCount )
  atcommand "@kick " + strcharinfo(0) + "";
end;
Ungetestet. Aber das schaffst du schon ;) Edited by Jey
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Also so gehts nicht und wenn ich auf OnPCLoginEvent: umstelle fliege ich raus wenn ich mich einloggen will.

 

Wo kann ich bei der Variante einstellen was MaxIpCount ist?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  249
  • Reputation:   72
  • Joined:  10/20/12
  • Last Seen:  

Entweder vorher oder im OnInit mit "set .MaxIPCount,3;" ^^

Edited by Jey
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  234
  • Reputation:   8
  • Joined:  01/19/12
  • Last Seen:  

Danke es geht.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  249
  • Reputation:   72
  • Joined:  10/20/12
  • Last Seen:  

cool :o

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...