ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Modifikation Liga Script Mairu

Geschlossen
  1. #1
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    Ich hab da nen Problem x_X

    ich würde gerne folgendes einbauen
    aber beim abrufen passiert nichts bekomme das mit der

    $menu->get x_X nicht hin
    kann mir da mal wer helfen?

    ich würde auch gerne den abruf vom kalender einbauen
    # Funktionen
    function XAJAX_showCalendar ($m,$j,$f) {
      if (empty($m)) { $m = date('n'); }
      if (empty($j)) { $j = date('Y'); }
    
      $objResponse = new xajaxResponse();
    
      $content = '<table border="0" cellpadding="1" cellspacing="1" class="border"><tr><td class="Cnorm"><a href="javascript:close'.$f.'();">schliessen</a></td></tr></table>';
      $content .= getCalendar($m, $j, 'javascript:void(0);" onclick="set'.$f.'(\'{jahr}-{mon}-{tag}\')', 'javascript:void(0);" onclick="xajax_XAJAX_showCalendar({mon},{jahr},\''.$f.'\')', '');
    
      $objResponse->assign('skalender'.$f, 'style.display', 'block' );
      $objResponse->assign('skalender'.$f, 'innerHTML', $content);
    
      # return object
      return $objResponse;
    }
    
    # AJAX Start
    $xajax = new xajax('http://'.$_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"].'?kalender=0');
    $xajax->registerFunction("XAJAX_showCalendar");
    $xajax->processRequest();
    
    # DESIGN
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    # AJAX ausgabe
    echo $xajax->printJavascript();

    aber weiß net wie genau


    //Spieler Herausfordern  anfang
     
      if($menu->get(1) == 'challenge') {
      $name = $menu->getN(challenge);
      $title = $allgAr['title'].' :: Ladder :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
      if (db_num_rows(db_query("SELECT id FROM prefix_user WHERE gesperrt = 0 AND id = ".$_SESSION['authid'])) == 1) {  
      
       if (isset($_POST['challenge'])) {
    	  $challenger = ($_SESSION['authid']);
          $challenged = db_query("SELECT id FROM prefix_user WHERE gesperrt = 0 AND name = ".$name);	
    	    
          }elseif ($challenger == $challenged) 
          $msg = 'Man kann nicht gegen sich selbst spielen, Verlierer und Gewinner d&uuml;rfen nicht der gleiche User sein';
         
    	  }else{
    	
         	if (@db_result(db_query("SELECT COUNT(id) FROM prefix_ladder_match WHERE time >= (UNIX_TIMESTAMP()-7*24*60*60) AND ( (loser = $challenger AND winner = $challenged) OR (loser=$challenged AND winner=$challenger) )"),0) >= 6) {
              $msg = 'Beide User haben schon 6 Spiele innerhalb der letzten Woche bestritten<br />';
            } elseif (challenge($challenger,$challenged,$time)) {
              wd('index.php?ladder-challenge-','Opponent challenged',5);
              sendpm($challenger, $challenged, 'Ladder challenge', 'Du wurdest von '.$challenger.' Herausgefordert\!\n\nYou were challenged by '.$challenger.'\n Read more \@ www.torridOrbs.com?ladder-challenged');
              $design->footer(1);               
            } else {
              $msg = 'Fehler beim Herausfordern des Spielers aufgetretet<br />';
            }
    	  }
    
           $tpl->set('msg',$msg);
        $tpl->set('user',dbliste(0,$tpl,'user','SELECT a.id,a.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id WHERE b.gesperrt = 0 AND a.id != '.$_SESSION['authid'].' ORDER BY name'));
        $tpl->out(6);
      } else {
        echo 'Dies ist nur f&uuml;r ungesperrte Laddermitspieler m&ouml;glich<br />';
      }
      $design->footer();
    
    
    //Spieler herausfordern ende

    Und hier wäre dann gleich mein 2. Problem x_X
    /*
    //Herausfordererung akzeptieren ablehnen
       if($menu->get(1) == 'challenged') {
    
      $title = $allgAr['title'].' :: Ladder :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
        if (isset($_POST['challenged'])) {
        
      $tpl->set('MPL',$MPL);
      $tpl->out(5);
      $design->footer();
    	}
     */



    HELP ^^


    Zuletzt modifiziert von Akira am 02.09.2008 - 14:59:58
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    ist das zu ungenau?
    braucht ihr da mehr daten oder hat grade keiner zeit?

    traurig
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    kann mir mal einer die get funktionen erklären

    ich komm da irgendwie net hinter...
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also die get Funktion hast du sicher richtig eingesetzt aber
      $name = $menu->getN(challenge);
    ist erstmal falsch, da müsste eigentlich auch ein Syntaxfehler kommen, wenn dann müsstest du
      $name = $menu->getN('challenge');
    verwenden, aber eigentlich wäre es besser über ein Formular die Userid mit zu übergeben.

    Beim letzten Codeausschnitt kann das so auch nicht ganz richtig sein, das Design sollte auch komplett ausgegeben werden, wenn nichts gesendet wird.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    hmm irgendwas klappt da nicht traurig

    ich schaffs grae nicht da großartig was zu coden next we hab ich dazu evtl was neues

    thx erstmal


    Zuletzt modifiziert von Akira am 08.09.2008 - 01:14:50
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    x_X

    also hab mich wieder rangesetzt

    bekomms aber immernoch nicht hin komisch traurig

    <?php
    defined ('main') or die ( 'no direct access' );
    
    #Challenge eintragen
    function challenge($f,$g,$d) {
    	db_query("INSERT INTO prefix_ladder_challenge (challenger,challenged,date) VALUES ($f,$g,$d,UNIX_TIMESTAMP())");
        db_query("UPDATE prefix_user SET points = cpoints + 1 WHERE id = $f");      
    		
    		$msg = 'Herausforderung eingetragen';
    
    }
    
    #Challenge akzeptieren
    function challengeagree($id) {
      $q = db_query("SELECT * FROM prefix_ladder_challenge WHERE id = $id");
      if (!$q or db_num_rows($q) != 1) { return false; }
      $r = db_fetch_object($q);
    
    	$titleladder = "Ladder Match 1v1";
    	$textladder = "Leer";
    	db_query("DELETE FROM prefix_ladder_challenge WHERE id = $id");
    	db_query("INSERT INTO prefix_kalender (gid,title,text,time) VALUES ($challenged,$titleladder,$textladder,$date,UNIX_TIMESTAMP())");
    sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Akzeptiert\!\n\nYou challenge is agreed\n Read more \@ www.torridOrbs.com?ladder');
        db_query("UPDATE prefix_user SET cpoints = cpoints + 1 WHERE id = $f");      
    $msg = "Challenge angenommen +1 Punkt";
    //db_query("INSERT INTO prefix_betmod (time,herausforderer,herausgefordert,text) VALUES ($date,$challenger,$challenged,$textladder)");
    }
    
    #Challenge ablehnen
    function challengdisagree($id) {
    		db_query("DELETE FROM prefix_ladder_challenge WHERE id = $challenged");
       		db_query("UPDATE prefix_user SET honor = honor + 1 WHERE id = $challenged"); 
    sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Abgelehnt\!\n\nYou challenge is disagreed\n Read more \@ www.torridOrbs.com?ladder');		
    $msg = 'Challenge abgelehnt -5 Punkte';
    }
    
    #code an sich
    
      if($menu->get(1) = $name) {
      $title = $allgAr['title'].' :: Ladderchallenge :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('challenge');
      	if (db_num_rows(db_query("SELECT id FROM prefix_user WHERE gesperrt = 0 AND id = ".$_SESSION['authid'])) == 1) {  
      
       if (isset($_POST['challenge'])) {
    	  $challenger = ($_SESSION['authid']);
        $challenged = db_query("SELECT id FROM prefix_user WHERE gesperrt = 0 AND name = ".$name);	
    	    
          }elseif ($challenger == $challenged) 
          $msg = 'Man kann nicht gegen sich selbst spielen, Verlierer und Gewinner d&uuml;rfen nicht der gleiche User sein';
         
    	  }else{
    	
         	if (@db_result(db_query("SELECT COUNT(id) FROM prefix_ladder_match WHERE time >= (UNIX_TIMESTAMP()-7*24*60*60) AND ( (loser = $challenger AND winner = $challenged) OR (loser=$challenged AND winner=$challenger) )"),0) >= 6) {
              $msg = 'Beide User haben schon 6 Spiele innerhalb der letzten Woche bestritten<br />';
            } elseif (challenge($challenger,$challenged,$time)) {
              wd('index.php?ladder-challenge-','Opponent challenged',5);
              sendpm($challenger, $challenged, 'Ladder challenge', 'Du wurdest von '.$challenger.' Herausgefordert\!\n\nYou were challenged by '.$challenger.'\n Read more \@ www.torridOrbs.com?ladder-challenged');
              $design->footer(1);               
            } else {
              $msg = 'Fehler beim Herausfordern des Spielers aufgetretet<br />';
            }
    	  }
        $tpl->set('msg',$msg);
        $tpl->set('user',dbliste(0,$tpl,'user','SELECT a.id,a.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id WHERE b.gesperrt = 0 AND a.id != '.$_SESSION['authid'].' ORDER BY name'));
        $tpl->out(6);
      } else {
        echo 'Dies ist nur f&uuml;r ungesperrte Laddermitspieler m&ouml;glich<br />';
      }
      $design->footer();
    ?>


    bekomme nu lehre HP
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
      if($menu->get(1) = $name) {


    geht nicht, du willst sicher == haben und hast anscheinend Fehlerausgabe aus, deswegen werden keine Fehler angezeigt und die Seite ist weiß.

    Als Tipp, in der index.php bei error_reporting E_ALL ^ E_NOTICE machen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    Notice: Undefined index: HTTP_X_FORWARDED_FOR in C:\xampp\htdocs\xampp\test\include\includes\func\statistic.php on line 110

    Notice: Undefined index: template in C:\xampp\htdocs\xampp\test\include\includes\func\user.php on line 127

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\xampp\test\include\includes\func\statistic.php:110) in C:\xampp\htdocs\xampp\test\include\includes\func\user.php on line 131

    Notice: Undefined index: HTTP_X_FORWARDED_FOR in C:\xampp\htdocs\xampp\test\include\includes\func\statistic.php on line 110


    Notice: Undefined offset: 6 in C:\xampp\htdocs\xampp\test\include\includes\class\tpl.php on line 189


    hab etwas umgebaut
    defined ('main') or die ( 'no direct access' );
    
    #Challenge eintragen
    function challenge($f,$g,$d) {
    	db_query("INSERT INTO prefix_ladder_challenge (challenger,challenged,date) VALUES ($f,$g,$d,UNIX_TIMESTAMP())");
        db_query('UPDATE prefix_user SET points = cpoints + 1 WHERE id ='.$f.'');      
    		
    		$msg = 'Herausforderung eingetragen';
    
    }
    
    #Challenge akzeptieren
    function challengeagree($id) {
      $q = db_query('SELECT * FROM prefix_ladder_challenge WHERE id = '.$id.'');
      if (!$q or db_num_rows($q) != 1) { return false; }
      $r = db_fetch_object($q);
    
    	$titleladder = "Ladder Match 1v1";
    	$textladder = "Leer";
    	db_query("DELETE FROM prefix_ladder_challenge WHERE id = $id");
    	db_query("INSERT INTO prefix_kalender (gid,title,text,time) VALUES ($challenged,$titleladder,$textladder,$date,UNIX_TIMESTAMP())");
    sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Akzeptiert\!\n\nYou challenge is agreed\n Read more \@ www.torridOrbs.com?challenged');
        db_query("UPDATE prefix_user SET cpoints = cpoints + 1 WHERE id = $f");      
    $msg = "Challenge angenommen +1 Punkt";
    //db_query("INSERT INTO prefix_betmod (time,herausforderer,herausgefordert,text) VALUES ($date,$challenger,$challenged,$textladder)");
    }
    
    #Challenge ablehnen
    function challengdisagree($id) {
    		db_query('DELETE FROM prefix_ladder_challenge WHERE id = '.$challenged.'');
       	db_query('UPDATE prefix_user SET honor = honor + 1 WHERE id = '.$challenged.''); 
        sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Abgelehnt\!\n\nYou challenge is disagreed\n Read more \@ www.torridOrbs.com?ladder');		
    $msg = 'Challenge abgelehnt -5 Punkte';
    }
    
    #code an sich
    	$challenger = ($_SESSION['authid']);
      $challenged = $menu->get(1);
      $name = 'TEST';
      $title = $allgAr['title'].' :: Ladderchallenge :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('challenge');
    
    	
    	    
         
          if ($challenger = $challenged) {
          $msg = 'Man kann nicht gegen sich selbst spielen, Verlierer und Gewinner d&uuml;rfen nicht der gleiche User sein';
         
    	  }else{ 
    	
         	if (@db_result(db_query('SELECT COUNT(id) FROM prefix_ladder_match WHERE time >= (UNIX_TIMESTAMP()-7*24*60*60) AND ( (loser = '.$challenger.' AND winner =  '.$challenged.') OR (loser='.$challenged.' AND winner= '.$challenger.') )'),0) >= 6) 
    {
              $msg = 'Beide User haben schon 6 Spiele innerhalb der letzten Woche bestritten<br />';
           
            } elseif (challenge($challenger,$challenged,$time)) { 
              wd('index.php?challenge-','Opponent challenged',5);
              sendpm($challenger, $challenged, 'Ladder challenge', 'Du wurdest von '.$challenger.' Herausgefordert\!\n\nYou were challenged by '.$challenger.'\n Read more \@ www.torridOrbs.com?ladder-challenged');
              $design->footer(1);               
             } else { 
              $msg = 'Fehler beim Herausfordern des Spielers aufgetretet<br />';
            
    
    
       }
       if ('SELECT '.$challenger.' FROM prefix_user WHERE gesperrt = 1'){ 
        echo 'Dies ist nur f&uuml;r ungesperrte Laddermitspieler m&ouml;glich<br />';
    }
      $design->footer();
    } $xd ='';
          $tpl->set('msg',$msg);
          $tpl->set('name',$name);
          $tpl->set('begind',$xd);
      
       $design->footer();
        $tpl->out(6);


    ich komm leider wieder nicht weiter durch dein tipp mairu konnte ich viele fehler beseitigen aber weiß leider net wieso das net will traurig
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dann gibt halt mal alle nötigen Informationen. (PHP, TPL + SQL)
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    sql:
    CREATE TABLE `ic2_ladder_challenge` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `challenger` mediumint(9) NOT NULL,
      `challenged` mediumint(9) NOT NULL,
      `date` int(12) unsigned NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=9 ;


    tpl (das das alte mit de rkallender funktion
    das mit dem auflisten der erhaltenen forderungen wo man ablehnen oder zustimmen kann hab ich rausgemacht weils net ging und mittlerweile verloren)
     <a href="index.php?ladder-matches">Zur Spiele&uuml;bersicht</a> | <a href="index.php?ladder">Zur
    Spieler&uuml;bersicht</a> | <a href="index.php?articles-1">Mapguide</a>|  <a href="index.php?challenged">Herausforderungen</a><br />
    <br />
    <form action="index.php?challenge-{uid}" method="post" name="form">
    <table >
      <tr class="Chead">
        <td colspan="2"><strong>Challenge Opponent</strong></td>
      </tr>
      <tr>
        <td class="Cmite">Challenge :</td>
        <td class="Cnorm">{name}</td>
      </tr>
      <tr> </tr>
      <tr>
        <td class="Cmite">Date &amp; Time :</td>
        <td class="Cnorm"><input value="{begind}" name="begind" size="12" maxlength="10" onclick="xajax_XAJAX_showCalendar('','','begind')" />
          um
          <select id="stunde" name="stunde">
            {_list_stunden@%3
            </option>
            }
          </select>
          <b>:</b>
          <select id="minute" name="minute">
            {_list_minuten@%3
            </option>
            }
          </select>
          Uhr </td>
      </tr>
      <tr>
        <td class="Cdark" colspan="2" align="center"><input type="submit" name="challenge" value="Challenge" /></td>
      </tr>
    </table>
    {EXPLODE}


    php
    <?php
    defined ('main') or die ( 'no direct access' );
    
    #Challenge eintragen
    function challenge($f,$g,$d) {
    	db_query("INSERT INTO prefix_ladder_challenge (challenger,challenged,date) VALUES ($f,$g,$d,UNIX_TIMESTAMP())");
        db_query('UPDATE prefix_user SET points = cpoints + 1 WHERE id ='.$f.'');      
    		
    		$msg = 'Herausforderung eingetragen';
    
    }
    
    #Challenge akzeptieren
    function challengeagree($id) {
      $q = db_query('SELECT * FROM prefix_ladder_challenge WHERE id = '.$id.'');
      if (!$q or db_num_rows($q) != 1) { return false; }
      $r = db_fetch_object($q);
    
    	$titleladder = "Ladder Match 1v1";
    	$textladder = "Leer";
    	db_query("DELETE FROM prefix_ladder_challenge WHERE id = $id");
    	db_query("INSERT INTO prefix_kalender (gid,title,text,time) VALUES ($challenged,$titleladder,$textladder,$date,UNIX_TIMESTAMP())");
    sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Akzeptiert\!\n\nYou challenge is agreed\n Read more \@ www.torridOrbs.com?challenged');
        db_query("UPDATE prefix_user SET cpoints = cpoints + 1 WHERE id = $f");      
    $msg = "Challenge angenommen +1 Punkt";
    //db_query("INSERT INTO prefix_betmod (time,herausforderer,herausgefordert,text) VALUES ($date,$challenger,$challenged,$textladder)");
    }
    
    #Challenge ablehnen
    function challengdisagree($id) {
    		db_query('DELETE FROM prefix_ladder_challenge WHERE id = '.$challenged.'');
       	db_query('UPDATE prefix_user SET honor = honor + 1 WHERE id = '.$challenged.''); 
        sendpm($challenged, $challenger, 'Ladder Challenge', 'Deine Herrausforderung wurde Abgelehnt\!\n\nYou challenge is disagreed\n Read more \@ www.torridOrbs.com?ladder');		
    $msg = 'Challenge abgelehnt -5 Punkte';
    }
    
    #code an sich
    	$challenger = ($_SESSION['authid']);
      $challenged = $menu->get(1);
      $name = 'TEST';
      $title = $allgAr['title'].' :: Ladderchallenge :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('challenge');
    
    	
    	    
         
          if ($challenger = $challenged) {
          $msg = 'Man kann nicht gegen sich selbst spielen, Verlierer und Gewinner d&uuml;rfen nicht der gleiche User sein';
         
    	  }else{ 
    	
         	if (@db_result(db_query('SELECT COUNT(id) FROM prefix_ladder_match WHERE time >= (UNIX_TIMESTAMP()-7*24*60*60) AND ( (loser = '.$challenger.' AND winner =  '.$challenged.') OR (loser='.$challenged.' AND winner= '.$challenger.') )'),0) >= 6) 
    {
              $msg = 'Beide User haben schon 6 Spiele innerhalb der letzten Woche bestritten<br />';
           
            } elseif (challenge($challenger,$challenged,$time)) { 
              wd('index.php?challenge-','Opponent challenged',5);
              sendpm($challenger, $challenged, 'Ladder challenge', 'Du wurdest von '.$challenger.' Herausgefordert\!\n\nYou were challenged by '.$challenger.'\n Read more \@ www.torridOrbs.com?ladder-challenged');
              $design->footer(1);               
             } else { 
              $msg = 'Fehler beim Herausfordern des Spielers aufgetretet<br />';
            
    
    
       }
       if ('SELECT '.$challenger.' FROM prefix_user WHERE gesperrt = 1'){ 
        echo 'Dies ist nur f&uuml;r ungesperrte Laddermitspieler m&ouml;glich<br />';
    }
      $design->footer();
    } $xd ='';
          $tpl->set('msg',$msg);
          $tpl->set('name',$name);
          $tpl->set('begind',$xd);
      
       $design->footer();
        $tpl->out(6);
     # $tpl->set('user',dbliste(0,$tpl,'user','SELECT a.id,a.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id WHERE b.gesperrt = 0 AND a.id != '.$_SESSION['authid'].' ORDER BY name'));
    //Spieler herausfordern ende
    
    
    /*#Herausfordererung akzeptieren ablehnen
       if($menu->get(1) == 'challenge') {
    
      $title = $allgAr['title'].' :: Ladder :: Spieler herausfordern';
      $hmenu = 'Ladder &raquo; Challenge '.$name.'';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
        if (isset($_POST['challenged'])) {
        
      $tpl->set('MPL',$MPL);
      $tpl->out(5);
      $design->footer();
    	}
    	
    #Challenges anzeigen	
    	$tpl->out(0);
      $limit = 30; //challenges pro Seite
      $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
      $MPL = db_make_sites ($page , '' , $limit , '?ladder' , 'user' );
      $anfang = ($page - 1) * $limit;
      $q = db_query("SELECT a.id,a.punkte,a.spiele,b.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id ORDER BY a.gesperrt,a.punkte DESC, b.name LIMIT $anfang,$limit");
      while ($r = db_fetch_assoc($q)) {
        $class = $class == 'Cmite' ? 'Cnorm' : 'Cmite';
        $r['class'] = $class;
        if ($r['gesperrt'] == 0) {
          $r['jepnop'] = 'jep';
          $r['ent'] = '';
        } else {
          $r['jepnop'] = 'nop';
          $r['ent'] = 'ent';
        }
        $r['level'] = getLadderLevel($r['punkte']);
        $tpl->set_ar_out($r,1);
      }
      $tpl->set_out('MPL',$MPL,2);
      
      $design->footer();
    }
     */
    
     ?>



    Zuletzt modifiziert von Akira am 02.10.2008 - 18:41:16
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ok so hat das kein Sinn, ich sehe da ehrlich gesagt nicht durch, man kann ja keinen Spieler auswählen oder so, rufst du die Seite immer über eine andere auf, so dass man auch immer die ID des Users, den man herausfordert hat?

    Dann die Einschränkung mit den 6 Spielen, ist die generell nur 6 Spiele in einer Woche oder so wie du es hast, 6 mal gegen einen Spieler in einer Woche?

    Dann das mit den Punkten, points = cpoints + 1 ergibt nicht wirklich sinn, da cpoints nicht verändert wird, also points immer gleich bleibt bzw. immer 1 mehr als cpoints?

    Und wie das mit dem Ablehnen etc. gehen soll, wenn es doch keine Übersicht oder ein Link in einer PM dazu gibt, ist mir auch nicht klar.

    Vielleicht solltest du mal genau sagen, was du willst von deinem Code mal abgesehen.
    hey du hattest doch mal mein altes laddermodul an dein ligamodul angepasst (wenn dich erinnerst)
    
    ich brauch da jetzt aber leider ne funktion und zwar
    muss sie folgendes können:
    
    In der Übersicht muss ein "Spieler fordern" Button rein
    Mit termin Datum Uhrzeit
    und die user müssen "Forderung ablehnen" oder "Forderung annehmen" können sollten sie keins von beiden tun gibs nach dem 2. mal nen loss
    
    ich wollte das über ne eigene sql tabelle lösen habs aber total nicht hinbekomme Traurig
    
    ob du da helfen könntest?
    hattest du mir mal geschrieben, aber das reicht bei weitem nicht aus.

    Also ich brauche alle Dateien und das SQL was damit im Zusammenhang steht und eine genaue Beschreibung was es werden soll, aber bitte nicht zu viele Anforderung, ich will dafür ehrlich gesagt nicht viel länger als eine Stunde brauchen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Mairu

    Ok so hat das kein Sinn, ich sehe da ehrlich gesagt nicht durch, man kann ja keinen Spieler auswählen oder so, rufst du die Seite immer über eine andere auf, so dass man auch immer die ID des Users, den man herausfordert hat?

    Also soll so sein das bei der Auflistung der Spieler
    externer Link nen button drücken kannst von wegen Herrausfordern

    dann geht das an Challenge-{ID}

    dort kann man Kalenderdatum+ Uhrzeit angeben

    der Herausgeforderte bekommt ne PM und kann über challenged ablehnen oder zustimmen
    bei ablehnung bekommt er punkt abzug

    bei zustimmen bekommt er punkte + das datum & uhrzeit wird im Kalender eingetragen




    ZitatZitat geschrieben von Mairu

    Dann die Einschränkung mit den 6 Spielen, ist die generell nur 6 Spiele in einer Woche oder so wie du es hast, 6 mal gegen einen Spieler in einer Woche?


    6 Spiele die woche gegen selben gegner ist Aktuell Maximum (gab son fall da ham 2Spieler 40 games gemacht ging garnicht)


    ZitatZitat geschrieben von Mairu

    Dann das mit den Punkten, points = cpoints + 1 ergibt nicht wirklich sinn, da cpoints nicht verändert wird, also points immer gleich bleibt bzw. immer 1 mehr als cpoints?


    da war vertippt x_X cpoints =cpoints +1 muss das sein
    da points ladderpunkte sind

    ZitatZitat geschrieben von Mairu

    Und wie das mit dem Ablehnen etc. gehen soll, wenn es doch keine Übersicht oder ein Link in einer PM dazu gibt, ist mir auch nicht klar.


    Die übersicht der herrausforderungen hab ich ja nicht hinbekommen eingelich sollst da ne übersicht geben traurig

    ZitatZitat geschrieben von Mairu

    Also ich brauche alle Dateien und das SQL was damit im Zusammenhang steht und eine genaue Beschreibung was es werden soll, aber bitte nicht zu viele Anforderung, ich will dafür ehrlich gesagt nicht viel länger als eine Stunde brauchen.


    So ladder script
    CREATE TABLE `ic2_ladder_match` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `loser` mediumint(9) NOT NULL,
      `winner` mediumint(9) NOT NULL,
      `dif` smallint(2) NOT NULL,
      `time` int(12) unsigned NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=14 ;



    Da hab ich das noch nciht das beim user die ID angegeben wird
    Ladder.php
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    #   Ladderscript by Mairu
    
    defined ('main') or die ( 'no direct access' );
    
    require_once('include/includes/func/ladder.php');
    
    if ($menu->get(1) == 'matches') {
      $title = $allgAr['title'].' :: Ladder :: Spiele';
      $hmenu = 'Ladder &raquo; Spiele';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
      
      //Spiele anzeigen
      $tpl->out(3);  $limit = 30; //Spiele pro Seite
      $page = ( $menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
      $MPL = db_make_sites ($page , '' , $limit , '?ladder-match' , 'ladder_match' );
      $anfang = ($page - 1) * $limit;
      //Spiele ausgeben
      $q = db_query("SELECT a.id,FROM_UNIXTIME(a.time,'%d.%m.%Y - %H:%i') as time,b.name as verlierer,c.name as gewinner FROM prefix_ladder_match a
                      LEFT JOIN prefix_user b ON a.loser = b.id LEFT JOIN prefix_user c ON a.winner = c.id ORDER BY a.time DESC LIMIT $anfang,$limit");
                      
      while ($r = db_fetch_assoc($q)) {
        $class = $class == 'Cmite' ? 'Cnorm' : 'Cmite';
        $r['class'] = $class;
        $tpl->set_ar_out($r,4);
      }
      $tpl->set('MPL',$MPL);
      $tpl->out(5);
      $design->footer();
    
    } elseif($menu->get(1) == 'insert') {
      $title = $allgAr['title'].' :: Ladder :: Spiel eintragen';
      $hmenu = 'Ladder &raquo; Spiel eintragen';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
      if (db_num_rows(db_query("SELECT id FROM prefix_user WHERE gesperrt = 0 AND id = ".$_SESSION['authid'])) == 1) {  
        //Spiel eintragen
        if (isset($_POST['insertmatch'])) {
          $loser = escape($_SESSION['authid'],'integer');
          $winner = escape($_POST['winner'],'integer');
          if ($loser == $winner) {
            $msg = 'Man kann nicht gegen sich selbst spielen, Verlierer und Gewinner d&uuml;rfen nicht der gleiche User sein';
          } else {
            if (@db_result(db_query("SELECT COUNT(id) FROM prefix_ladder_match WHERE time >= (UNIX_TIMESTAMP()-7*24*60*60) AND ( (loser = $loser AND winner = $winner) OR (loser=$winner AND winner=$loser) )"),0) >= 6) {
              $msg = 'Die beiden User haben schon 6 Spiele innerhalb der letzten Woche bestritten<br />';
            } elseif (insertmatch($loser,$winner)) {
              wd('index.php?ladder-match','Spiel erfolgreich eingetragen',5);
              sendpm($loser, $winner, 'Ladder', "Dir wurde ein Win zugesprochen\! \rDu steigst in der Rangliste\!\n\nYou won a Laddermatch\nMore \@ www.torridOrbs.com?ladder-matches");
              $design->footer(1);               
            } else {
              $msg = 'Fehler beim Eintragen des Spieles aufgetretet<br />';
            }
          }
        }
        $tpl->set('msg',$msg);
        $tpl->set('user',dbliste(0,$tpl,'user','SELECT a.id,a.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id WHERE b.gesperrt = 0 AND a.id != '.$_SESSION['authid'].' ORDER BY name'));
        $tpl->out(6);
      } else {
        echo 'Dies ist nur f&uuml;r ungesperrte Laddermitspieler m&ouml;glich<br />';
      }
      $design->footer();
      
    } else {
      $title = $allgAr['title'].' :: Ladder :: Spieler';
      $hmenu = 'Ladder &raquo; Spieler';
      $design = new design ( $title , $hmenu );
      $design->header();
      $tpl = new tpl('ladder');
      
      //Laddermember anzeigen
      $tpl->out(0);
      $limit = 30; //Spieler pro Seite
      $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
      $MPL = db_make_sites ($page , '' , $limit , '?ladder' , 'user' );
      $anfang = ($page - 1) * $limit;
      $q = db_query("SELECT a.id,a.punkte,a.spiele,b.name FROM prefix_user a INNER JOIN prefix_user b ON a.id = b.id ORDER BY a.gesperrt,a.punkte DESC, b.name LIMIT $anfang,$limit");
      while ($r = db_fetch_assoc($q)) {
        $class = $class == 'Cmite' ? 'Cnorm' : 'Cmite';
        $r['class'] = $class;
        if ($r['gesperrt'] == 0) {
          $r['jepnop'] = 'jep';
          $r['ent'] = '';
        } else {
          $r['jepnop'] = 'nop';
          $r['ent'] = 'ent';
        }
        $r['level'] = getLadderLevel($r['punkte']);
        $tpl->set_ar_out($r,1);
      }
      $tpl->set_out('MPL',$MPL,2);
      
      $design->footer();
    }
    ?>


    und nu die ladder funktion
    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    #   Ladderscript by Mairu
    
    defined ('main') or die ( 'no direct access' );
    
    //Gibt Level zurück, gegeben werden Punkte
    function getLadderLevel($p) {
       if ($p >=  -50    &&     $p <=   10) { return  1; } 
       if ($p >=   11    &&     $p <=   30) { return  2; } 
       if ($p >=   31    &&     $p <=   60) { return  3; } 
       if ($p >=   61    &&     $p <=  100) { return  4; } 
       if ($p >=  101    &&     $p <=  150) { return  5; } 
       if ($p >=  151    &&     $p <=  201) { return  6; } 
       if ($p >=  201    &&     $p <=  260) { return  7; } 
       if ($p >=  261    &&     $p <=  320) { return  8; } 
       if ($p >=  321    &&     $p <=  400) { return  9; } 
       if ($p >=  401    &&     $p <=  480) { return 10; } 
       if ($p >=  481    &&     $p <=  580) { return 11; } 
       if ($p >=  581    &&     $p <=  680) { return 12; } 
       if ($p >=  681    &&     $p <=  800) { return 13; } 
       if ($p >=  801    &&     $p <=  920) { return 14; } 
       if ($p >=  921    &&     $p <= 1060) { return 15; } 
       if ($p >= 1061    &&     $p <= 1200) { return 16; } 
       if ($p >= 1201    &&     $p <= 1360) { return 17; } 
       if ($p >= 1361    &&     $p <= 1520) { return 18; } 
       if ($p >= 1521    &&     $p <= 1700) { return 19; } 
       if ($p >= 1701    &&     $p <= 1900) { return 20; } 
       if ($p >= 1901    &&     $p <= 2100) { return 21; } 
       if ($p >= 2101    &&     $p <= 2300) { return 22; } 
       if ($p >= 2301    &&     $p <= 2500) { return 23; } 
       if ($p >= 2501    &&     $p <= 2700) { return 24; } 
       if ($p >= 2701)                      { return 25; } 
    }
    
    //Wandelt Levelunterschied zu Punkten um, die dem Gewinner hinzuaddiert und dem Verlierer abgezogen werden,
    //wobei $dif die Leveldifferent ist(Gewinnerlevel-Verliererlevel) und $ws und $ls sind dann die Punkte die dem Gewinner
    //oder verlieren hinzegerechnet/abgezogen werden
    function getLadderPoints($dif,&$ws,&$ls) {
      switch ($dif) {
        case -25: case -24: case -23: case -22: case -21: case -20: case -19: case -18: case -17: case -16:
        case -15: case -14: case -13: case -12: case -11: case -10: case -9: case -8: case -7: case -6:
        case -5: $ws = 20; $ls = -11; break;
        case -4: $ws = 18; $ls = -10; break;
        case -3: $ws = 16; $ls = -9; break;
        case -2: $ws = 14; $ls = -8; break;
        case -1: $ws = 10; $ls = -7; break;
        case 0: $ws = 8; $ls = -6; break;
        case 1: $ws = 6; $ls = -5; break;
        case 2: $ws = 5; $ls = -4; break;
        case 3: $ws = 4; $ls = -3; break;
        case 4: $ws = 3; $ls = -2; break; default:
        case 5: $ws = 2; $ls = -1; break;
      }
    }
    
    //Fügt ein Spiel ein, als Parameter Verlierer und Gewinner
    function insertmatch($l,$w) {
      $lp = @db_result(db_query("SELECT punkte FROM prefix_user WHERE id = $l"),0);
      $ll = getLadderLevel($lp);
      $wp = @db_result(db_query("SELECT punkte FROM prefix_user WHERE id = $w"),0);
      $wl = getLadderLevel($wp);
      $dif = $wl-$ll;
      if (db_query("INSERT INTO prefix_ladder_match (loser,winner,dif,time) VALUES ($l,$w,$dif,UNIX_TIMESTAMP())")) {
        getLadderPoints($dif,$ws,$ls);
        if ($ll >= 20) { $ls = 2*$ls; }
        db_query("UPDATE prefix_user SET punkte = punkte + $ws, spiele = spiele + 1 WHERE id = $w");      
        db_query("UPDATE prefix_user SET punkte = IF(punkte + $ls<0,0,punkte + $ls), spiele = spiele + 1 WHERE id = $l");
        return true;
      } else {
        return false;
      }
    }
    
    //Entfernt ein Spiel wieder, Parameter Spielid
    function deletematch($id) {
      $q = db_query("SELECT * FROM prefix_ladder_match WHERE id = $id");
      if (!$q or db_num_rows($q) != 1) { return false; }
      $r = db_fetch_object($q);
      if (db_query("DELETE FROM prefix_ladder_match WHERE id = $id")) {
        getLadderPoints($r->dif,$ws,$ls);
        if ($ll >= 20) { $ls = 2*$ls; }
        db_query("UPDATE prefix_user SET punkte = punkte - $ws, spiele = spiele - 1 WHERE id = $r->winner");      
        db_query("UPDATE prefix_user SET punkte = punkte - $ls, spiele = spiele - 1 WHERE id = $r->loser");
        return true;
      } else {
        return false;
      }
    }
    ?>



    Also vom ding her soll man bei der Ladder übersicht
    den nächsten gegner auswählen

    dem dann ne uhrzeit + datum mitteilen und der lehnt ab
    darauf bekommt er nen punkt abzug und honor wird 1 hochgesetzt (alles inner ic2_user drinnen)

    oder an dann kommt das in den kalender
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja also ob ich dir das so gegeben habe, wie es jetzt bei dir aufm Server ist bezweifel ich mal.
    Musste ja schon einige Sachen ändern, damit überhaupt das ladderscript wieder funktioniert hat.

    Ist schon etwas verzwickt, da ja immer der Verlierer das Ergebnis einträgt, wenn man dann Challenges hat, würde die Verwaltung ja eigentlich anders laufen, da man dann weiß, wann ein Spiel ist und beide könnten das Ergebnis eintragen bzw. es muss ja dann auch sowas wie, nicht gekommen geben oder so.

    Weiter ist das mit einem anderen einen Termin aufzwingen, sonst bekommt er Abzug auch nicht wirklich durchdacht.

    Und mit so vielen offenen Fragen macht das schon wieder kein Sinn das zu machen bzw. es wird dann recht kompliziert.

    Das muss alles besser durchdacht sein zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    Naja

    also das beide melden bzw einer (evtl mit downtime)

    hattets du ja mal geplant ?


    wir ham das ja früher immer so gehabt das der looser melden muss ^^

    das script läuft ja das muss net wirklich was verändert werden

    außer das man da den link einfügt mit der id am ende



    das herausforderungs teil kann man ja um ne abfrage erweitern

    Termin aufzwingen muss ja sein
    dass kann man ja so abhalten das man nur jemanden +x (mindestens2) tage inner zukunft herausfordern kann dann

    und wenn wer away ist isser halt net herausforderbar
    awayscript gibs ja schon und das kann man ja verbinden

    Desweiteren können die spieler ja evtl die festen termine verschieben

    zb man bekommt halt die forderung inner liste

    der tag passt nu nicht also mail ich mit dem und einige mich auf 3 tage später

    Also der herausgeforderte nimm das dann an und verschiebt den eintrag dann um x tage (würde als maximum 7 tage nehmen) und auhc nur der der herausgeforderte verschieben kann wobei verschieben auch nur 2x machbar sein darf


    wenn einer nicht erscheint ja da müsste es dann tatsäclich ne besonderheit geben die sache ist wenn einer jetzt ne pm bekommt bekommt er bei mnir ja auch ne e-mail
    wenn einer dan net innerhalb von 2 tagen reagiert
    hat er echt pech ^^ und bekmmt nen loss wenn das 4x passiert wird er halt für die ladder gesperrt ist ja auch net das problem

    ich mein bei ner liga gibs ja feste spiel tage und normal wird es ausgelost wann wer gegen wen

    externer Link


    und dann ist die abfrage das beide melden natürlich um einiges besser da haste recht x_X

    man kann da auch melden gegner net erschieben
    das gibt dan honor -2 oder so

    wenn honor -10 ist isser gesperrt (und honor sollte sich alle 7 tage um 1 oder so abbauen)



    ausführlicher und um einiges aufwendiger wa`?
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mhh irgendwie hab ich nicht wirklich lust da jetzt weiterzumachen, ich finde das irgendwie wenig durchdacht, aber ich hoffe du kannst damit trotzdem was anfangen.

    mairu.ilch.net/download/Mairu/ladder_06_10_2008.rar
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    damit komm ich auf jedenfall um einiges weiter

    vielen lieben dank!!!
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten