[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>';
}//if
if (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>';
}//if
if (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 risolverlo
Moderazione: 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!
State of Survival ↗
Raja Dunia ↗
Exclusive Villa GdR ↗