Hallo erstmal.
Ich habe schon das ganze Forum durch gesucht, und es gegooglet...
Mein Problem ist , das ich den Spawnbutton bei der Skin Auswahl nur aktiv haben will,
wenn diese Abfrage
if(GetPVarInt(playerid,"loggedin") == 1)
passt.
Wenn nicht soll halt ne SendClientMessage kommen, aber dazu brauche ich ja wohl keine Hilfe , denn diese Parameter sollte ich beherschen
MFG.
Spawn Button deaktivieren
- Anker.
- 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
-
-
OnPlayerRequestClass ist der Teil wo die Spawnanzeige kommt.
Wie genau du das nun anstellst. Villt spawnen lassen und dann den public nochmal abfragen oder...?
kP. Ich hab den bei mir komplett draußen.
- Tomsen
-
Erstmal danke!
Das Problem ist nur , das ich das schon alle probiert habe , und nichts funktioniert hat...
MFG. -
Du löscht alles aus OnPlayerRequestClass
dann hast du nur noch
Spoiler anzeigen OnPlayerRequestClass
{
Dann machst du in die
http://wiki.sa-mp.com/wiki/SetSpawnInfoallso ungefähr so
Spoiler anzeigen OnPlayerRequestClass
{
if(GetPVarInt(playerid,"loggedin") == 1)
{
SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
SpawnPlayer(playerid);
}
else
{
return 1;
}
}/Edit neuer code (weiss aber nicht ob das funktioniert)
-
Ok , aber damit habe ich ja die Abfrage nicht drin.
-
Ist doch drin ?
-
Hab ich gerade eingefügt
-
Ok ich probiere es.
Lade Vorgang bitte warten... =)
MFG. -
Oh gott... wieso so umständlich? ;D
Guck dir lieber OnPlayerRequestSpawn an.
Dieses public wird aufgerufen wenn man auf den Spawn button drückt.Beispiel:
public OnPlayerRequestSpawn(playerid)
{
if(pEingeloggt[playerid] == false)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du musst dich vorher einloggen um Spawnen zu können!");
return 0;
}
return 1;
}Das "return 0" verhindert das Spawnen.
Es kann durchaus sein das OnPlayerRequestSpawn standartmäßig nicht im script vorhanden ist./EDIT: Satzbau
MFG, Zunno -
Das kann ich doch nicht wissen da dies nicht im Script enthalten ist ^^.
-
-
Ist es aber.
danke an beide, ich habe nun
public OnPlayerRequestSpawn(playerid)
{
if(GetPVarInt(playerid,"loggedin") == 1)
{
SpawnPlayer(playerid);
}
else
{
SendClientMessage(playerid, BLAU, "Du musst dich vorher einloggen um Spawnen zu können!");
return 0;
}
return 1;
}kann ich ihn dann einfach spawnen?
-
Allso wenn ich ein neues Script mache ist das nicht da da ist nur OnPlayerRequestClass.
Und denke mal ja das du einfach spawnen kannst. -
OK.
Habe jetzt mal alles gemacht, jetzt geht es dann mal an das debuggen und testen..
MFG. -
Oh gott... wieso so umständlich? ;D
Guck dir lieber OnPlayerRequestSpawn an.
Dieses public wird aufgerufen wenn man auf den Spawn button drückt.Beispiel:
public OnPlayerRequestSpawn(playerid)
{
if(pEingeloggt[playerid] == false)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du musst dich vorher einloggen um Spawnen zu können!");
return 0;
}
return 1;
}Das "return 0" verhindert das Spawnen.
Es kann durchaus sein das OnPlayerRequestSpawn standartmäßig nicht im script vorhanden ist./EDIT: Satzbau
MFG, Zunno
Jedoch sollte man dazu beachten das man den Spieler danach mit SetSpawnInfo spawnt sonst kommt es zu komplikationen
das man crasht.
Eine andere möglichkeit -
so sieht es nun bei mir aus:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerInterior(playerid,11);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(GetPVarInt(playerid,"loggedin") == 1)
{
spawnen(playerid);
SetPlayerInterior(playerid,0);
}
else
{
SendClientMessage(playerid, BLAU, "Du musst dich vorher einloggen um Spawnen zu können!");
return 0;
}
return 1;
}und
stock spawnen(playerid)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1958.0952,1342.8142,15.3746);
SetPlayerFacingAngle(playerid,73.4500);
return 1;
}So nun wenn ich auf spawnen klicke , und ich eingeloggt bin, verändert er den Interior nicht, mit der folge, das alles weiß ist, und ich in der Luft schwebe.
Kann mir jemand helfen? -
Logisch wenn du SetPlayerInterior(playerid,0) hast 0 ist die Interior ID die du ändern solltest
-
Wo willst du Spawnen (In einem Interior oder in der freien Welt?) und wieso setzt du den Interior 2 mal?!
- Tomsen
-
ehm ich bin während des Logins in einem Interior, und wenn er spawnt soll er einfach in LV gespawnt werden.
MFG. -
Jedoch sollte man dazu beachten das man den Spieler danach mit SetSpawnInfo spawnt sonst kommt es zu komplikationen
das man crasht.
Eine andere möglichkeitIch hab bis jetzt nie einen Crash bekommen, jedoch setzt man SetSpawnInfo ja bevor man ihn spawnt.
Und das drücken auf den Spawn Button spawnt den Spieler automatisch da brauch man dann auch kein SpawnPlayer benutzen. @xXminecraftterXx:Gruß, Zunno
-
Hm dann musst du erst bei OnPlayerSpawn den Interior null setzen.
Während er im Interior ist bzw. davor halt die Interior id, die bestimmt nicht null ist. Wenn es ein selbstgemachter ist und die doch null ist..
dann brauchste die eigentlich garnicht setzen.- Tomsen