#Help Kanalo Forumas
http://lt-help.com/fm/

GatherBot
http://lt-help.com/fm/viewtopic.php?f=60&t=3444
Puslapis 11

Autorius:  k1ck [ 2012-05-24, 20:51 ]
Pranešimo tema:  GatherBot

Yra viena problema, gather adminui neleidžia sukti antro gatherio, kol neparestartuoji boto. Kur galėtų būt klaida?
Kodas:
alias startas {
  set %gth on
  var %failas $read(servers.txt,s, $+ $1)
  set %nr $readn
  var %visosu $calc($readini(viso.ini,isviso,viso) + 1)
  set %admin %nori
  set %ip $2
  set %rcon $gettok($read(servers.txt, $+ %nr),2,32)
  set %port $3
  set %server $1
  write -ds $+ %server vyksta.txt
  set %password $rand(a,z) $+ $rand(a,z) $+ $rand(0,9)
  set %gth.start.plrs1 0
  set %gth.start.plrs2 0
  set %vote 1
  set %map
  set %topic $remove($chan(%chan).topic,%topicend)
  write -c gthtemp.txt
  write -c voters.txt
  write -c votemap.txt
  write gthtemp.txt %admin 1
  write -c list.txt
  unset %teamas
  unset %teamas1
  unset %teamas2
  set %tm1 CT
  set %tm2 T
  set %teamas1 $addtok(%teamas1, %admin $+ , 32)
  inc %gth.start.plrs1
  sockudp -kn serveris %ip %port $str($chr(255),4) $+ rcon $readini(srv.ini,challenge, $+ %nr $+ ) " $+ $gettok($read(servers.txt, $+ %nr $+ ),2,32) $+ " sv_password %password
  topic %chan 15,1Admin: $+ %spalva %admin 4,1::15,1 Map: $+ %spalva %mepas $+ 3,1 [8,1UNLOCKED3,1] 4,1::15,1 Gather ID: $+ %spalva %visosu $+ 0.
  .notice %chan 0,1Prasidejo $+ %spalva Gather0 registracija!
  mode %chan -m
}



on *:TEXT:*:%chan: {
  if (.start == $1) && (%negalimas == off) && (%siunciu == off) && ($read(user.txt,s, $+ $nick $+ )) && (%gth == off) && ($nick isop %chan) && ($read(eile.txt)) && (!$read(adm.txt,s,$nick)) && ($read(steamid.txt,s,$nick)) {
    var %teile $read(eile.txt,1)
    if ($nick == $gettok(%teile,1,32)) {
      .ignore -u3 $address($nick,1)
      write -c eile.txt
      set %nori $nick
      set %negalimas on
      .timer 1 2 set %negalimas off
      set %pp1 5
      set %pp2 5
      set %tipas 5x5
      startuks
    }
    else {
      .msg %chan 0,1Eile pradeti $+ %spalva $gettok(%teile,1,32) $+ 0,1.
    }
  }
  if (.start == $1) && (%negalimas == off) && (%siunciu == off) && ($read(user.txt,s, $+ $nick $+ )) && (%gth == off) && ($nick isop %chan) && (!$read(eile.txt)) && (!$read(adm.txt,s,$nick)) && ($read(steamid.txt,s,$nick)) {
    .ignore -u3 $address($nick,1)
    .timereile off
    set %nori $nick
    set %negalimas on
    .timer 1 2 set %negalimas off
    set %pp1 5
    set %pp2 5
    set %tipas 5x5
    startuks
  }
}

on *:udpread:startas*:{
  if ($sockerr > 0) {
    return
  }
  :nextreada
  sockread -f %sock.start
  if ($sockbr == 0) {
    return
  }
  if (%sock.start == $null) {
    goto nextreada
  }
  else {
    if (players == $gettok(%sock.start,1,32)) && ($gettok(%sock.start,3,32) == 0) && (%gth == off) && (!$readini(negalima.ini,negalima, $+ $gettok($sockname,2,95))) {
      set %gth on
      startas $gettok($sockname,2,95) $gettok($gettok($sockname,2,95),1,58) $gettok($gettok($sockname,2,95),2,58)
    } 
  }
  goto nextreada
}

alias startuks {
  if ($read(servers.txt)) {
    var %sup 1
    while (%sup <= $lines(servers.txt)) {
      var %servas $gettok($read(servers.txt, $+ %sup),1,32))
      var %ipuks $gettok($gettok($read(servers.txt, $+ %sup),1,32),1,58)
      var %portuks  $gettok($gettok($read(servers.txt, $+ %sup),1,32),2,58)
      var %failas $read(servers.txt,s, $+ %servas)
      var %srvrs $readn
      var %rrcon $readini(srv.ini,challenge, $+ %srvrs $+ )
      sockudp -kn startas_ $+ %ipuks $+ : $+ %portuks %ipuks %portuks $str($chr(255),4) $+ rcon %rrcon " $+ $gettok($read(servers.txt, $+ %srvrs $+ ),2,32) $+ " status
      inc %sup
    }
  }
  else {
    .notice %nori 0,1Serveriu $+ %spalva nera0.
  }
}

Autorius:  Picius [ 2012-05-29, 09:12 ]
Pranešimo tema:  Re: GatherBot

Jam leidzia, tik turi pirmiau baigtis to admino gth, nes pas bota fiksuojasi kaip dar sukamas to admino gth ir 2 neleidzia iskarto sukti.

Autorius:  k1ck [ 2012-05-29, 11:34 ]
Pranešimo tema:  Re: GatherBot

Nu kad ir baigiasi GTH, vistiek neleidžia sukti.

Autorius:  Ishban [ 2012-05-29, 23:47 ]
Pranešimo tema:  Re: GatherBot

Picius rašė:
Jam leidzia, tik turi pirmiau baigtis to admino gth, nes pas bota fiksuojasi kaip dar sukamas to admino gth ir 2 neleidzia iskarto sukti.


k1ck rašė:
Nu kad ir baigiasi GTH, vistiek neleidžia sukti.



Kaip ir paaikinsiu ka Picius turejo omeny:

Kai perkrauni bota - dazniausiai buna vadinamas "resetas" kai jis isijungia "unset/set blablablablablabla"
t.y. visi parametrai nustatomi i pradinius 0 ar ten 1 ar dar ka

Isvada, kad botas nenusistato "gth susuktas ir galima sukti kita gth = 1"
cia butu tokia labiausiai tinkama problema - o seip imesk patikrinimus (else) tarkim prie "siuo metu sukamas GTH - else { msg $nick siuo metu sukamas gth } - 100% zinosi kur klaida, ir tolimesniam kode tikrini kodel nepasikeicia parametras (dazniausiai buna uzvadinta %gth.start - tyngiu gilintis i koda - nepyk :P )

Jei su else tau nieko nesigaus - sorry irgi tyngiu - jei su else gausis (1. paleidi suktis gth - tuo pat metu megini kita - meta kad siuo metu jau sukamas, 2. susuko botas info issiunte - megini susukti gth - tas pats else is pirmos salygos turi grazinti ta paty - siuo metu gth sukamas)

ne tame beda - ziurek boto status langa "rankiniu budu" kokius errorus meta

Autorius:  Nto [ 2013-02-12, 23:41 ]
Pranešimo tema:  Re: GatherBot

Yra folderis adm.txt, ta istrynk ten isiraso adminas ir po to jis negali sukti naujo gth nes jau jis sukamas jo, tai reminimo komanda susikurk ir viskas

Autorius:  Nto [ 2013-02-12, 23:42 ]
Pranešimo tema:  Re: GatherBot

Ir beto nepranesiau ne visa istrynk ta folderi bet kad istryntu uzrasus tame eancius folderyje

Puslapis 11 Visos datos yra UTC + 1 valanda [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/