Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254728 Messages dans 14037 Fils de discussion- par 6623 Membres - Dernier membre: Magicien

24 Mai 2012 à 13:31:23
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center] (Modérateurs: S!m, Xartrick)Des Spawn multiples
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Des Spawn multiples  (Lu 227 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Gzsume
« J'apprends donc je suis »
Hors ligne Hors ligne


Team NSG
GTAOnline Fan Boy
*

Messages: 2115


« le: 26 Juillet 2009 à 16:07:40 »

Bonjour.
Je code actuellement un petit Gamemode sympathique, mais je rencontre un petit problème. Je souhaiterais avoir 10 points de Spawn possibles, et que lorsqu'un joueur spawn, cet endroit soit en quelque sorte tiré au sort.
Voici comment je procède.
En haut de mon script, j'ai créé ceci :
Code:
new Float:gRandomPlayerSpawns[10][3] = {
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
};
J'ai mis ça avant le main(); de mon Gamemode.
Ensuite j'utilise la callback OnPlayerSpawn pour faire ceci :
Code:
SetPlayerRandomSpawn(playerid);

Malheureusement, à la compilation, j'ai ces erreurs :
Code:
C:\Users\User\Desktop\Projet Serveur\gamemodes\gzboum.pwn(101) : error 017: undefined symbol "SetPlayerRandomSpawn"
C:\Users\User\Desktop\Projet Serveur\gamemodes\gzboum.pwn(229) : warning 203: symbol is never used: "gRandomPlayerSpawns"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

1 Error.

Est-ce que quelqu'un sait d'où peuvent venir ces erreurs ? Merci d'avance,
Gzsume. Clin d'oeil
Journalisée



« Dans la vie, il faut savoir
transformer les citrons en limonade. »



°D@vid°
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 54


« Répondre #1 le: 26 Juillet 2009 à 16:18:28 »

Salut moi pour mes dm j'utilise sa:

Code:
en haut du gm:

new Float:DM6[7][5] = {
{2632.1482,2828.6726,122.9219},
{2724.8901,2684.9878,59.0234},
{2669.2820,2633.3252,10.8203},
{2693.7012,2784.1489,59.0234},
{2575.0430,2843.7878,19.9922},
{2549.9006,2834.5996,10.8203},
{2593.8225,2639.1589,114.0313}
};


Code:


Dans la commande:

new rand = random(sizeof(DM6));
SetPlayerPos(playerid, DM6[rand][0],DM6[rand][1],DM6[rand][2]);


maintenant essaye de place t'est possition et intercalés le SetPlayerPos dans Onplayerspawn tous simplement Clin d'oeil

++
Journalisée
cristab
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

Messages: 7333


« Répondre #2 le: 26 Juillet 2009 à 16:23:15 »

tente de cette façon


Code:
new Float:gRandomPlayerSpawns[10][3] = {
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
};

Code:
forward SetPlayerSpawn(playerid);
public SetPlayerSpawn(playerid)
{
new rand = random(sizeof(gRandomPlayerSpawns));
SetPlayerPos(playerid,gRandomPlayerSpawns[rand][0],gRandomPlayerSpawns[rand][1],gRandomPlayerSpawns[rand][2]);
return 1;
}

et pour finir dans ta callback onplayerspawn

Code:
SetPlayerSpawn(playerid);

j'espere avoir etait assez precis
Journalisée

°D@vid°
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 54


« Répondre #3 le: 26 Juillet 2009 à 17:07:46 »

C'est se que j'ai montrée  LMAO
Journalisée
Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3731


WWW



sasuke78200

« Répondre #4 le: 26 Juillet 2009 à 17:48:49 »

Regarde si la callback que tu as creer est bien appeler ( orthographe , surtout les MAJ )
Journalisée






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2260


« Répondre #5 le: 26 Juillet 2009 à 18:12:37 »

Salut,

alors il faut que tu comprenne tes erreurs:

Code:
C:\Users\User\Desktop\Projet Serveur\gamemodes\gzboum.pwn(101) : error 017: undefined symbol "SetPlayerRandomSpawn"
C:\Users\User\Desktop\Projet Serveur\gamemodes\gzboum.pwn(229) : warning 203: symbol is never used: "gRandomPlayerSpawns"

undefined symbol = la fonction ou variables (ou autre..) citée n'a pas été définie, bref tu n'as pas écrit le code qui correspond à ce que FAIT cette fonction (ou la déclaration de la variable (par exemple new variable;)

le warning qui suit te dit que ta variable contenant les position au hasard n'est pas utilisé,

en comprenant ces deux messages, tu devrais comprendre que ton problème vient de ta fonction SetPlayerRandomSpawn qui n'est pas utilisée...

donc à ta place j'aurais tendance a choisir la solution de Cristab puisqu'elle représente moins d'efforts...

Code:
SetPlayerRandomSpawn (playerid)
{
    new rand = random (sizeof (gRandomPlayerSpawns));
    SetPlayerPos (playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);
    return 1;
}

bonne chance avec ton random spawn Clin d'oeil

++Sim++
Journalisée





Gzsume
« J'apprends donc je suis »
Hors ligne Hors ligne


Team NSG
GTAOnline Fan Boy
*

Messages: 2115


« Répondre #6 le: 26 Juillet 2009 à 20:01:36 »

Salut.

Tout d'abord, merci de vos réponses, ça fait plaisir de recevoir de l'aide aussi vite et aussi bien expliqué.
J'ai pris le code de Cristab, et il ne me reste qu'une petite erreur.
Au niveau de ce code :
Code:
new Float:gRandomPlayerSpawns[10][3] = {
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
};
J'ai cette erreur :
Code:
C:\Users\User\Desktop\Projet Serveur\gamemodes\gzboum.pwn(20) : error 018: initialization data exceeds declared size
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

1 Error.
La ligne 20 correspond à l'avant dernière ligne du code que je vous ai donné. Je n'ai jamais utilisé ce genre de variable (ça ressemble un peu aux arrays en php), donc je ne sais pas vraiment ce que cela signifie.

Voilà, merci d'avance et bonne soirée à vous,
Gzsume. Clin d'oeil
Journalisée



« Dans la vie, il faut savoir
transformer les citrons en limonade. »



cristab
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

Messages: 7333


« Répondre #7 le: 26 Juillet 2009 à 20:20:48 »

tu as une virgule en trop

Code:
new Float:gRandomPlayerSpawns[10][3] = {
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746},
{1958.3783,1343.1572,15.3746}
};

c'est la derniere ligne regarde bien
Journalisée

Gzsume
« J'apprends donc je suis »
Hors ligne Hors ligne


Team NSG
GTAOnline Fan Boy
*

Messages: 2115


« Répondre #8 le: 26 Juillet 2009 à 20:25:33 »

Ça compile, merci. Sourire
Journalisée



« Dans la vie, il faut savoir
transformer les citrons en limonade. »



Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.134 secondes avec 23 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact