Mahlzeit.
Ich hab nun folgende Frage zu der ich wohl Hilfe benötige.
Und zwar habe ich für eine Fraktion eine Garage erstellt, als Interior, in der die Fahrzeuge geparkt werden sollen. Nun möchte ich gerne vor dem GEbäude, da wo das Garagentor ist ein Pickup (den Pfeil) hinmachen, wenn man sich dann reinstellt bzw. dranstellt und zb /testbefehl eingibt, dass man dann in die Garage gelangt, dort ins Pickup welches sich am Ausgang befindet.
Ich könnte mir denken, dass das mit GetPlayerPos und SetPlayerPos iwas zu tun hat, bin mir aber nicht sicher. Wäre für jede Hilfe dankbar
mfG, der Godplay
//edit: natürlich soll der befehl dann nur für eine fraktion funktionieren. In meinem Fall ist es die Fraktionsid "18"
Zwischen Pickups porten
- Godplay
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
SetPlayerPos
//ganz oben
new eingang;
new ausgang;
//OnGameModeInit
eingang = CreatePickup(...............);
ausgang = CreatePickup(..............);
//OnPlayerPickupPickup
if(pickupid == eingang)
{
SetPlayerPos(playerid, X,Y,Z); // cords eintragen bei x,y,z
return 1;
}wenn der jetzt da rein läuft wird er ohne Befehl geportet.
Mit Befehl musste so machenif(strcmp("/pdgarage", cmdtext,true) ==0)
{
if(IsPlayerConnected))
{
if(PlayerToPoint(2.0,playerid,x,y,z)) // cords reinsetzen wo pickup ist.
{
SetPlayerPos(playerid, x,y,z); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
}
return 1;
}
}Mit ausgang ist das genau das gleiche
-
sauber danke
sprich, wenn ich das mit dem befehl mache, schreibe ich unter das untere von dir das, was im oberen steht und dann mit "ele if" das gleiche für den ausgang, ja? -
Wenn du das mit dem Ausgang auch automatisch machen willst so ..
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == eingang)
{
SetPlayerPos(playerid, X,Y,Z);
}
else if(pickupid == ausgang)
{
SetPlayerPos(playerid, X,Y,Z);
return 1;
}für den ausgang kopierste einfach den befehl und ersetzt die cordinaten und beneennst den befehl um.
-
So hab es nun versucht nach der Beschreibung bestmöglich hinzubekommen und ich glaube es ist völliger Käse geworden denn ich habe 7 Errors
Das sind die Errors
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3948) : error 017: undefined symbol "cmdtext"
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3952) : error 076: syntax error in the expression, or invalid function call
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3961) : warning 209: function "OnPlayerPickUpPickup" should return a value
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3961) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3963) : error 055: start of function body without function header
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3964) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3966) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3970) : error 010: invalid function or declarationpublic OnPlayerPickUpPickup(playerid, pickupid)
if(strcmp(cmdtext,"/ssgarage",true) ==0)
{
if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)if(IsPlayerConnected)
{
if(PlayerToPoint(2.0,playerid, 92.31, 2018.63, 17.597992)) // cords reinsetzen wo pickup ist.
{
SetPlayerPos(playerid, 79.37, 2016.43, -2.519671); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
}
return 1;
}
}
if(strcmp(cmdtext,"/ssgarage",true) ==0){
if(IsPlayerConnected)
{
if(PlayerToPoint(2.0,playerid, 79.37, 2016.43, -2.519671)) // cords reinsetzen wo pickup ist.
{
SetPlayerPos(playerid, 92.31, 2018.63, 17.597992); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
}
return 1;
}
}
Und das der betreffende Bereich der "OnPlayerPickUpPickup"
danke schonmal und mfG -
Nur das mit dem pickup automatisch port kommt in ONpalyerPickupPickup.
Die Befehle kommen unter
public OnPlayerCommandText(playerid, cmdtext[])
Mach aus OnPlayerPickupPickup wieder alles raus damit es wieder so aussieht.
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/ssgarage",true) ==0)
{
if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)
{
if(IsPlayerConnected))
{
if(PlayerToPoint(2.0,playerid, 92.31, 2018.63, 17.597992)) // cords reinsetzen wo pickup ist.
{
SetPlayerPos(playerid, 79.37, 2016.43, -2.519671); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
}
return 1;
}
}
}
if(strcmp(cmdtext,"/sogarage",true) ==0)
{
if(IsPlayerConnected))
{
if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)
{
if(PlayerToPoint(2.0,playerid, 79.37, 2016.43, -2.519671)) // cords reinsetzen wo pickup ist.
{
SetPlayerPos(playerid, 92.31, 2018.63, 17.597992); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
}
return 1;
}
return 0;
}
}
} -
Hab deinen COde nun so wie er hier steht ganz unten in den OnPlayerCommandText eingefügt und wieder hab ich viele Errors
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26870) : error 055: start of function body without function header
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26871) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26873) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26875) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26877) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26881) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26885) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26887) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26889) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26891) : error 010: invalid function or declaration
C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26895) : error 010: invalid function or declarationHast du da eine Erklärung?
-
Hab den Code überarbeitet.
Und die Position stimmt glaub nicht. -
Letztendlich funktioniert es
Nun muss ich noch adden, dass das Fahrzeug mit geportet wird, weil sonst macht die Garage wenig Sinn
Danke schön für die Hilfe! -
Kein Problem , immerwieder gerne.
-
-
Ehmm habe ne frage ich hab nen 0.3a server und ich habe alles
genau gemacht usw.-.und keine errors nur das problem ist das
das pickup nicht angezeigt wird..und da wo es eig..sein sollte klappt das porten auch nit
hoffe einer kann mir helfen -
Wir sollen dir helfen, aber ohne Code geht das wohl schlecht.
Mfg
Ed_Hardy -
Hay ne danke habs schon aber kannst du ihr mir hier bei helfen?? also das hier möchte ich so haben
das nur die fraktion id 2 sich porten kann wenn sie da druch läuftpublic OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == eingang)
{
SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
SendClientMessage(playerid, COLOR_RED, "Sie haben sich aufs FBI Dach geportet!");
}
return 1;
}was muss ich da verändern??
//Edit:
Wollte jetzt das man auch von dem einen derekt wiede rzu rück kommt abe rhier ist ein fehler lopublic OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == ausgang)
{
SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844); // cords eintragen bei x,y,z
SendClientMessage(playerid, COLOR_RED, "Du hast dich in die FBI Base geportet!");
}
return 1;
}
if(pickupid == eingang)
{
SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
SendClientMessage(playerid, COLOR_RED, "Du hast dich aufs FBI Dach geportet!");
}
return 1;
}C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(1994) : warning 225: unreachable code
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2823) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2831) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2924) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(3773) : error 010: invalid function or declaration
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(3778) : error 010: invalid function or declaration
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6784) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6904) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6905) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7002) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7003) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7004) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7049) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8840) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8866) : warning 202: number of arguments does not match definition
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8871) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(9141) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(9222) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(15739) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(15765) : warning 217: loose indentation
C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6841) : warning 204: symbol is assigned a value that is never used: "eingang"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
diee warninkommen immer ka warum auch normal also wenn ich in ongamemode init was einfüge komme immer mehr warnings naja egal
es geht um die errors ka hoffe einer kann mir helfen -
Mach einfach eine Abfrage kein ob er in der Fraktion [ID2] ist.
Ich weiß ausserdem gar nicht wie du es Definiert hast.Mfg
Ed_Hardy -
ja das einzige die errors da die befinden sich in der zeile oben
-
Die Errors bedeutet das es eine falsche Funtkion ist in der angegebenen Zeile.
Die Warnings sind " Einrückungsfehler" man sollte eben nicht alles kopieren.MfG
Ed_Hardy -
ja richtig aber wenn ich hier gucke
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == ausgang)
{
SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844); // cords eintragen bei x,y,z
SendClientMessage(playerid, COLOR_RED, "Du hast dich in die FBI Base geportet!");
}
return 1;
}
if(pickupid == eingang)
{
SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
SendClientMessage(playerid, COLOR_RED, "Du hast dich aufs FBI Dach geportet!");
}
return 1;
}sehe ich jkeine fehler
-
Schreib doch mal die Errors + die Zeilen hier rein.
Es sind 2 Errors also muss es auch 2 Zeilen geben worin es liegt. [bzw manchmal mehr]MfG
Ed_Hardy -
Kann man das auch machen das man wenn mann derekt geportet wird ein Text kommt
den mal normal als Admin machen kann INgame mit /cnnn 1 [TEST] ??
also das unten rechts ein text kommt?? geht des irgentwie?//edit miom probiere kurz
GameTextForPlayer(playerid, "~w~bölaböa",5000,1); aus
ok habs..sryaba ich hab das jetzt
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == eingang)
{
SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105);
GameTextForPlayer(playerid, "~r~F.B.I Dach",5000,1);
}
else if(pickupid == ausgang)
{
SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844);
GameTextForPlayer(playerid, "~r~F.B.I Base",5000,1);
}
return 1;
}und wenn ich rein laufe spawn ich derekt in der base ist ja logisch.. aba geht das irgentwie das man 5sek hat um von dem
pickup runter zu gehn damit man nit derekt gespawnt wird?? -
breadfish.de
Hat das Thema geschlossen.