[gdr 5.4.1] Aumenta Caratteristiche (un else di troppo)
[gdr 5.4.1] Aumenta Caratteristiche (un else di troppo) postato il 28/11/2017 12:04:52 nel forum programmazione, open source e hosting e modificato da mp_knight il 28/11/2017 14:41:25
Ciao Ragazzi, ho appena finito di rielaborare il codice delle skill per crearne uno per aumentare le caratteristiche, senza stravolgere il database. L'unico problema è quando cerco di copiarlo per le altre car che mi da errore essendo che faccio anche opportuni cambiamenti.Codice car0
<?php } } else { $px_totali_pg=$record['esperienza']; //carico le sole abilità del pg $result=gdrcd_query("SELECT car0, nome FROM personaggio WHERE nome='".gdrcd_filter('in',$_REQUEST['pg'])."'", 'result'); $px_spesi=0; while ($row=gdrcd_query($result, 'fetch')){ /*Costo in px della singola abilità*/ $px_abi=$PARAMETERS['settings']['px_x_rank']*(($row['car0']*$row['car0']+1)/2); /*Costo totale*/ $px_spesi+=$px_abi; $ranks[$row['car0']]=$row['car0']; } gdrcd_query($result, 'free'); /*Incremento skill*/ if((gdrcd_filter('get',$_REQUEST['op'])=='addskill') && (($_SESSION['login']==gdrcd_filter('out',$_REQUEST['pg']))||($_SESSION['permessi']>=MODERATOR))){ $px_necessari=$PARAMETERS['settings']['px_x_rank']*($ranks[$_REQUEST['what']]+1); if(($px_totali_pg-$px_spesi)>=$px_necessari){ $px_spesi+=$px_necessari; if ($px_necessari==$PARAMETERS['settings']['px_x_rank']){ $ranks[$_REQUEST['what']]=1; #echo $query; } else { $ranks[$_REQUEST['what']]++; $query="UPDATE personaggio SET car0 = ".$ranks[$_REQUEST['what']]." WHERE car0 = ".gdrcd_filter('num',$_REQUEST['what'])." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'"; }//else gdrcd_query($query); echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>'; }//if }//if /*Decremento skill*/ if((gdrcd_filter('get',$_REQUEST['op'])=='subskill') && ($_SESSION['permessi']>=MODERATOR)){ if ($ranks[$_REQUEST['what']]==1){ $query="DELETE FROM personaggio WHERE car0 = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."' LIMIT 1"; $ranks[$_REQUEST['what']]=0; } else { $ranks[$_REQUEST['what']]--; $query="UPDATE personaggio SET car0 = ".$ranks[$_REQUEST['what']]." WHERE car0 = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'"; }//else gdrcd_query($query); echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>'; }//ifif (isset($_REQUEST['op'])===FALSE){?>
codice car1 incollato sotto a car0<?php } } else { $px_totali_pg=$record['esperienza']; //carico le sole abilità del pg $result=gdrcd_query("SELECT car1, nome FROM personaggio WHERE nome='".gdrcd_filter('in',$_REQUEST['pg'])."'", 'result'); $px_spesi1=0; while ($row=gdrcd_query($result, 'fetch')){ /*Costo in px della singola abilità*/ $px_abi1=$PARAMETERS['settings']['px_x_rank']*(($row['car1']*$row['car1']+1)/2); /*Costo totale*/ $px_spesi1+=$px_abi1; $ranks[$row['car1']]=$row['car1']; } gdrcd_query($result, 'free'); /*Incremento skill*/ if((gdrcd_filter('get',$_REQUEST['op'])=='addskill1') && (($_SESSION['login']==gdrcd_filter('out',$_REQUEST['pg']))||($_SESSION['permessi']>=MODERATOR))){ $px_necessari=$PARAMETERS['settings']['px_x_rank']*($ranks[$_REQUEST['what']]+1); if(($px_totali_pg-$px_spesi1)>=$px_necessari){ $px_spesi1+=$px_necessari; if ($px_necessari==$PARAMETERS['settings']['px_x_rank']){ $ranks[$_REQUEST['what']]=1; #echo $query; } else { $ranks[$_REQUEST['what']]++; $query="UPDATE personaggio SET car1 = ".$ranks[$_REQUEST['what']]." WHERE car1 = ".gdrcd_filter('num',$_REQUEST['what'])." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'"; }//else gdrcd_query($query); echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>'; }//if }//if /*Decremento skill*/ if((gdrcd_filter('get',$_REQUEST['op'])=='subskill1') && ($_SESSION['permessi']>=MODERATOR)){ if ($ranks[$_REQUEST['what']]==1){ $query="DELETE FROM personaggio WHERE car1 = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."' LIMIT 1"; $ranks[$_REQUEST['what']]=0; } else { $ranks[$_REQUEST['what']]--; $query="UPDATE personaggio SET car1 = ".$ranks[$_REQUEST['what']]." WHERE car0 = ".$_REQUEST['what']." AND nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'"; }//else gdrcd_query($query); echo '<div class="warning">'.gdrcd_filter('out',$MESSAGE['warning']['modified']).'</div>'; }//ifif (isset($_REQUEST['op'])===FALSE){?>
Il primo problema è che }else{ viene richiamato come un errore, successimente, mi permette di mandare avanti la car del personaggio, ma non scala i punti. Aiutatemi a risolverloModerazione: Discussione spostata nel forum corretto
Pagine → 1
28/11/2017 15:59:11
Ma a meno che non veda doppio, gli Else non sono posizionati alla chiusura delle parentesi sbagliate?
28/11/2017 18:16:09 e modificato da mp_knight il 28/11/2017 18:18:50
spiegami meglio a me da errore solo sui primi else dop quello di car0 del codice e se li tolgo le car aumentano ma non tolgono i px di esperienza
14/03/2018 15:32:21
un aiuto in più sarebbe gradito
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!