Un chtit probleme de script

Répondre
Partager Rechercher
Hé oui je débute et j'ai un petit problème de script, vous pouvez m'aider ?

Je vous met juste la partie ou sa déconne.

Code PHP:

        if(sItemTag == "LeTlporteur")
 {

        if(
GetGold(oUser) >= 500)
        {
        
DelayCommand (3.0AssignCommand(GetItemActivator(),
        
TakeGoldFromCreature(500oUserTRUE);
        
JumpToLocation(GetLocation(GetObjectByTag("WP_PORTAILVILLE")))));
        
ApplyEffectToObject(DURATION_TYPE_INSTANTeVisual1oUser);
        
ApplyEffectToObject(DURATION_TYPE_INSTANTeVisualoUser);

        }

        if(
GetGold(oUser) < 500)
        {
        
SendMessageToPCoPC"Vous n'avez pas les moyens pour utiliser " +
                              
"cet objet.");
        }


 } 
euh..... soit.

ca déconne ? erreur de compilation ? si oui laquelle ? si non quel bug ?

je lis pas les erreurs aussi vite qu'un compilateur, un peu plus d'aide ne serait pas de refus
Je pense que c'est un problème de parenthèses (plus un problème sur la fonction JumpToLocation) :

Code PHP:


if(sItemTag == "LeTlporteur")
 {

        if(
GetGold(oUser) >= 500)
        {
            
DelayCommand (3.0AssignCommand(GetItemActivator(),
            
TakeGoldFromCreature(500oUserTRUE)));
            
AssignCommand(oUser,JumpToLocation(GetLocation(GetObjectByTag("WP_PORTAILVILLE"))));
            
ApplyEffectToObject(DURATION_TYPE_INSTANTeVisual1oUser);
            
ApplyEffectToObject(DURATION_TYPE_INSTANTeVisualoUser);
        }
        else
        {
            
SendMessageToPCoPC"Vous n'avez pas les moyens pour utiliser cet objet.");

        }
 } 
Citation :
Le probleme vient de la compilation
Ce genre de phrase veut à la fois tout dire et rien dire. Lorsque tu tentes de compiler ton script, normalement tu dois avoir un message d'erreur (quand ça marche pas). Ce message indique une ligne (qui n'est pas forcément celle qui a le problème) et le type de problème (au hasard l'oublie d'un ; ).

Suivant le message d'erreur, quelqu'un pourra te dire ce qui ne marche pas. Avec de la chance, le problème se situera effectivement dans la partie que tu as mit dans ce sujet, mais il est possible aussi que ton erreur vienne de plus haut dans le script.

Elle donne quoi la solution de Aldech ?
L'écriture du script n'est pas propre, on a des oUser, des oPC et des GetItemActivator : tache de faire le ménage la dedans. Ensuite, le passage a la ligne est foireux aussi. On a aussi des noms de variable effet différentes eVisual et eVisuall : bref avec le bout de code que tu nous donnes, c'est difficile de t'aider.

Sache néanmoins que le coding demande de la rigueur, alors faut faire des efforts.

PN
Re: Un chtit probleme de script
Citation :
Provient du message de The_Hyena
Code PHP:

DelayCommand (3.0AssignCommand(GetItemActivator(),
TakeGoldFromCreature(500oUserTRUE);
JumpToLocation(GetLocation(GetObjectByTag("WP_PORTAILVILLE"))))); 
Ben au hasard, je dirais par ici. Ya un tout petit peu trop de parantheses et de parametres
bon bonne nouvelle le script ne se compile pas correctement mais il fonctionne bien par conre donc plus besoin de se faire du soucis mais merci kan meme

Maintenant j'ai un autre probleme :

je voudrai mettre un script dans le oncliententer du module :

ce script a pour but de vérifier dans l'inventaire du personnage si un objet s'y trouve, et si il n'y est pas de le crée,

Quelqu'un peut m'aider ?

j'ai fait ca mais je ne sais pas comment faire en fait

Code PHP:

void main
(
if(!
hasnotitemoPc"tagitem"))
CreateItemoPc"resrefitem"1);

euh je suis sur le mac demon père la et je c pas commment faire les crochet donc j'ai mis des parentheses,

et je crois bien que c'est faut car j'ai vu que !hasitem existe mais pour le reste je ne sais pas. un petit coup de main serai le bienvenue. merci.
essai ça:

Code PHP:

int GetHasItem(object oPCstring sRes)
{
    
object oItem GetFirstItemInInventory(oPC);

    while(
GetIsObjectValid(oItem) && GetResRef(oItem) != sRes)
        
oItem GetNextItemInInventory(oPC);

    return 
GetResRef(oItem) == sRes;
}

void main()
{
    
object oPC GetEnteringObject();
    if(!(
GetHasItemoPC"resref_de_ton_objet")))
    {
         
CreateItemOnObject("resref_de_ton_objet",oPC);
    }

en ce qui concerne la fonction GetHasItem() je te conseil de la mettre dans un include regroupant tes fonctions.
heu fait attention à la différence entre tag et resref (idéalement tu devrai en avoir des identiques.... mais vérifie tout de même)

Si il y a la moindre modification a faire... (j'ai fait ça a l'arrache et de tête... je pense que ça doit se compiler sans prob)
Y a plus simple...

Code PHP:

object oPC GetEnteringCreature();
if 
not GetIsObjectValid(GetItemPossessedBy(oPC,"Tag de ton objet"))
    
CreateItemOnObject("resref de ton objet",oPC); 
On essaye de récupérer l'objet dans l'inventaire du PJ. Si on n'arrive pas à le récupérer, c'est qu'il ne l'a pas: on le créé.
vi c'est vrai c'est beaucoup plus simple.... jme suis laissé emporter... j'ai a peu prés le même script que celui que j'ai donné... sauf qu'il fait son test sur une partie du tag...

Dans ce cas précis ta solution est beaucoup plus simple.
ben merci les gars c'est super sympa, mais bon j'ai encore plein de problemes que j'essaye de résoudre tt seul mais j'ai beaucoup de mal en plus je dévellope mon mod tout seul :/

si il y en a qui sont intéréssé ....

euh sinon j'aimerai mettre un effet de sommeil lors du repos ( cad on voit presque plus rien quoi ) et faire que le joueur garde l'etat dans lequel sont ses sort, ses pv meme s'il deco reco ( en gros empecher les deco reco pour recupérer tout ses sorts ses pv ou pour ne pas respawn )

je sais vous me direz va voir sur le vault mais il y a tout en anglais :/
HCRs c'est quoi ?

en plus il y a une petit prob a la ligne la :

Code PHP:

if not GetIsObjectValid(GetItemPossessedBy(oPC,"Tag de ton objet")) 

erreur : NO LEFT BRACKET ON EXPRESSION
Merci les gars c'est sympa,

En plus je viens de faire mes deux premiers vrais script aujourd'hui et il se sont compilé tout de suite et fonctionne parfaitement.

Je trop content je commence à comprendre de plus en plus.
et au sujet du HCrs ??

tiens au fait il y a une commande vois voir l'xp de la personne ?
parce ke j'ai fais un script pour un dialogue ki appairait selon le level de la personne, il fonctionne bien,

par exemple gethitdice > 5 ca marche pour level 5 mais pas pour les multi par exemple level 2 et level 3 ou lvl 4 et 1 le script bloque le dialogue et je ne sais pas comment faire a par plutot me baser sur l'expérience du pj,

vous avez une idée ?
GetHitDice marche pour les multiclassés. C'est justement son interet. Sinon, regarde dans l'editeur et tu trouveras surement une fonction genre GetXP (je suis pas chez moi donc je ne peux pas verifier...)
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés