GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Street le 05 Septembre 2009, 09:00:55

Titre: Probléme moveobject
Posté par: Street le 05 Septembre 2009, 09:00:55
Bonjour a tous je minspire du code
de coco pour réalisé une barrière qui s'ouvre
automatiquement quand on et devant
J'ai un problème que je n'a rive pas a régler pouvez vous m'aider?Svp?
D:\Documents and Settings\Propriétaire\Bureau\Nouveau dossier (3)\gamemodes\Copie de LSTDM.pwn(51) : error 004: function "PlayerToPoint" is not implemented
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Merci d'avance !(c embétant :wall)
Titre: Re : Probléme moveobject
Posté par: dalphinus le 05 Septembre 2009, 09:41:08
Il te manque juste la fonction PlayerToPoint:

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);A placer au début du script

public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
    if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}

A placer à la fin de ton script  ;)
Titre: Re : Probléme moveobject
Posté par: Street le 05 Septembre 2009, 09:43:15
Merci je teste :D!
EDIT: GG merci bien =)

J'ai une deuxiéme question je voudrait faire un moveobject en rotation
Comment je doit faire svp?
Titre: Re : Probléme moveobject
Posté par: dalphinus le 05 Septembre 2009, 10:31:48
Le MoveObject en Rotation n'existe pas.

Pour faire une Rotation à un Objet tu as 2 moyens:
- Soit le détruire et remplacer l'Objet que tu désires éxécuter la rotation par le même mais avec les coordonnées d'arrivée
http://wiki.sa-mp.com/wiki/DestroyObject (http://wiki.sa-mp.com/wiki/DestroyObject)
http://wiki.sa-mp.com/wiki/CreateObject (http://wiki.sa-mp.com/wiki/CreateObject)

- Soit utiliser la fonction "SetObjetRot" qui te permet de faire faire une rotation à un Objet.
http://wiki.sa-mp.com/wiki/SetObjectRot (http://wiki.sa-mp.com/wiki/SetObjectRot)

L'inconvénient avec ces 2 moyens c'est que tu ne verras pas le mouvement de l'objet. C'est comme-ci la rotation était instantanée ^^'
Titre: Re : Probléme moveobject
Posté par: Street le 05 Septembre 2009, 10:37:11
:D merci j'essaie
sa de suite et je te tien au courant :D!

Double post
J'ai un petit doute
jai fait une erreur c pour sa que mon move marche pas?
ou jai manqué un episode ?Pouver vous confirmer svp ?
public OnPlayerCommandText(playerid, cmdtext[])
{
if(PlayerToPoint(6, playerid,3661.138428,-2336.698486,3.4585686))//6 est la taille de la zone
SetObjectRot(g1,3655.593506, -2332.028076, 3.458568);
SetTimer("Urban", 7000, 0);//On active le Timer
return 1;
}
Titre: Re : Probléme moveobject
Posté par: dalphinus le 05 Septembre 2009, 11:54:54
Oui tu as mis ton code dans le public pour les commandes ^^'

public OnPlayerCommandText(playerid, cmdtext[])
Met ton code dans un public à part à la fin de ton script et ajoute un Timer qui appelle ton public.
Titre: Re : Probléme moveobject
Posté par: Street le 05 Septembre 2009, 12:19:39
je fait un fs
c pour sa que j'ai toute ses erreur ^^
donc javai deja le timer =) mais le pb
c que je c pas ou metre
if(PlayerToPoint(6, playerid,3661.138428,-2336.698486,3.4585686))//6 est la taille de la zone
SetObjectRot(g1,3655.593506, -2332.028076, 3.458568);
SetTimer("Urban", 7000, 0);//On active le Timer
return 1;
}
Je lai mis dans ongamemode exit
Résulta ???
D:\Documents and Settings\Propriétaire\Bureau\Nouveau dossier (3)\gamemodes\tst.pwn(129) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Titre: Re : Probléme moveobject
Posté par: dalphinus le 05 Septembre 2009, 12:26:37
forward CustomPickups();A placer au tout début

SetTimer("CustomPickups", 1000, 1);A placer dans OnFilterScriptInit

public CustomPickups()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerToPoint(6, playerid,3661.138428,-2336.698486,3.4585686))//6 est la taille de la zone
{
SetObjectRot(g1,3655.593506, -2332.028076, 3.458568);
SetTimer("Urban", 7000, 0);//On active le Timer
return 1;
}
}
}
return 1;
}
A placer tout en bas

Dis le moi si ça fonctionne, j'ai fait ça vite fait ^^'
Titre: Re : Probléme moveobject
Posté par: Street le 05 Septembre 2009, 12:38:18
Merci j'ai essayé
Resulta
Roulement de tembour
Tada!
D:\Documents and Settings\Propriétaire\Bureau\Nouveau dossier (3)\gamemodes\tst.pwn(162) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
??? c tout de maime bissar non?
Titre: Re : Probléme moveobject
Posté par: ghm94 le 05 Septembre 2009, 12:40:25
Dans PlayerToPoint remplace playerid, par i  (Dans le code de dalphinus) ;)
Titre: Re : Probléme moveobject
Posté par: Street le 05 Septembre 2009, 12:41:33
Rien a dire apar "omg" et biensur
Merci :D! Fo allé voir se que sa donne ig =)
Merci a vous deux ;)
EDIT:
Merci beaucoup tout est niquel :)
Titre: Re : Probléme moveobject
Posté par: Ssk le 05 Septembre 2009, 15:00:48
Tu peut faire une rotation de l' objet, cherche dans mes tout premier post avec les keywords " barriere delta sasuke78200 " et tu verra la solution pour que l' objet fasse une rotation en le voyants
Titre: Re : Probléme moveobject
Posté par: Street le 06 Septembre 2009, 01:15:35
Sasuke j'ai pas trouver merci quand méme
je vais essayé de chercher aillieur ;)
dans le pawn center :)