Danke
Beiträge von STANLEY
-
-
Du kannst mit der Funktion GetPlayerHealth die Lebenspunkte des Spielers abfragen. Das packst du dann in eine simple if-Abfrage.
Im Wiki steht auch ein Beispiel.Danke, wäre dir aber noch mehr dankbar, wenn du es mir posten könntest
weis nicht wo ich da am besten ansetzen soll. Danke schon mal -
Hallo liebe Leser,
Ich bin grad dabei ein Drivein zu erstellen. Klappt auch alles wunderbar nur weis ich nicht genau
wie ich es einfügen soll, das dass System abfrägt, ob man schon 100HP hatBitte um hilfe
Code
Alles anzeigenif(!strcmp("/Drivein",cmdtext,true)) { if(IsPlayerInRangeOfPoint(playerid, 3.0, 1215.3196,-904.8914,42.9189)) { if(GetPlayerMoney(playerid) < 120) return SendClientMessage(playerid, 0x8C8C8CFF,"FEHLER: Du hast nicht genügend Geld!"); { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, 0xBEBEBEFF,"INFO: Deine Bestellung war erfolgreich!"); SendClientMessage(playerid, 0xBEBEBEFF,"INFO: Du hast nun wieder volle Energie"); SendClientMessage(playerid, 0xBEBEBEFF,"INFO: Schönen Tag noch ..."); GivePlayerMoney(playerid, -120); } } else { SendClientMessage(playerid, 0x8C8C8CFF,"FEHLER: Du bist nicht am BSN!"); return 1; } } return 0; }
-
bsnenter = CreatePickup(1318,1,1199.3047,-918.6964,43.1187); // LS BSN - ENTER
Sieht das bei dir unter OnGameModeInit auch so aus? Oder fehlt das bsnenter?stimmt, ganz vergessen. Danke
-
Passiert denn irgendwas wenn du in das Pickup läufst oder wirst du einfach zu den falschen Koordinaten teleportiert?
Nein, es passiert nichts. Ich stehe einfach in dem Pickup
-
Der # Hashtag muss weg. Dann funktioniert es, daher kommen die beiden Errors.
Danke
Die Errors sind jetzt zwar weg, aber ich werde nicht in den Interior Teleportiert
Warum ? -
Offensichtlich hast du bsnenter nicht definiert.
Kannst du uns noch einmal deinen aktuellen Code schicken? Das Warning ist erstmal unbedenklich, nur ein Schönheitsfehler. Für den ersten Error würde ich gern den Code sehen.
Bei public OnGameModeInit()
Bei public OnPlayerPickUpPickup(playerid, pickupid)Code{ if(pickupid == bsnenter) { SetPlayerPos(playerid, 375.962463,-65.816848,1001.507812); SetPlayerInterior(playerid, 10); } return 1; }
Kommen folgende Errors
C:\Users\CONSiDE\Desktop\SAMP SERVER\gamemodes\TEST-SCRIPT.pwn(7) : error 031: unknown directive
C:\Users\CONSiDE\Desktop\SAMP SERVER\gamemodes\TEST-SCRIPT.pwn(233) : error 017: undefined symbol "bsnenter"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
public OnPlayerPickUpPickup(playerid, pickupid){ if(pickupid == bsnenter) { SetPlayerPos(playerid, 369.579528,-4.487294,1001.858886); SetPlayerInterior(playerid, 9); } if(pickupid == bsnexit) { SetPlayerPos(playerid, 725.7241,-1439.7871,13.5391); SetPlayerInterior(playerid, 0); } return 1;}
Du hast als "bsnenter & bsnexit" aber du hast unten "cluckenter & cluckexit" angegeben.
Eventuell auch mal die Error-Codes senden c:Das war alles richtig, so wie es da stand
Kamen trotzdem Errors
Werde später mal die Errors posten//EDIT
Die Errors
C:\Users\CONSiDE\Desktop\SAMP SERVER\gamemodes\TEST-SCRIPT.pwn(7) : error 031: unknown directive
C:\Users\CONSiDE\Desktop\SAMP SERVER\gamemodes\TEST-SCRIPT.pwn(233) : error 017: undefined symbol "bsnenter"
C:\Users\CONSiDE\Desktop\SAMP SERVER\gamemodes\TEST-SCRIPT.pwn(238) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
Danke, hat geklappt
-
Hallo,
Ich noch mal
Ich habe ein problem undzwar, wenn ich mir ein Pickup erstellen möchte, wo ich dann am ende rein laufe und ich teleportiert werden soll
funktioniert nicht so richtig.Ich möchte den BSN Scripten. Dafür setze ich ganz oben an "new bsnenter; & new bsnexit;
Dann erstelle ich das Pickup unter public OnGameModeInit()und dann unter OnPlayerPickupPickup folgendes
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid==cluckenter)
{
SetPlayerPos(playerid, 369.579528,-4.487294,1001.858886);
SetPlayerInterior(playerid, 9);
}
if(pickupid==cluckexit)
{
SetPlayerPos(playerid, 725.7241,-1439.7871,13.5391);
SetPlayerInterior(playerid, 0);
}
return 1;
}bekomme aber immer Errors, woran liegt es?
MFG
-
Kannst du mir das evtl schreiben? Damit ich es einfügen kann?
Checke nicht so richtig, an welcher stelle ich ansetzen soll -
Hallo lieber Leser,
Ich habe noch mal eine Frage
Undzwar, wie stelle ich es an, dass wenn ich zum beispiel ein Gebäude betrete mit /Enter und dafür Geld abziehen lassen möchte.
Wenn die Person aber kein Geld hat, dass dann im Chat steht "Du hast nicht genug Geld" ?Wäre nett, wenn einer helfen kann
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/Enter",cmdtext,true))
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 739.0507, -1417.6555, 13.5234))
{
SetPlayerPos(playerid, 502.1714,-70.5580,998.7578);
GameTextForPlayer(playerid,"~h~Willkommen~h~",3000,1);
GivePlayerMoney(playerid, -120);
SetPlayerFacingAngle(playerid, 180.9095);
SetPlayerInterior(playerid, 11);
return 1;
}
} -
Code
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/enter",cmdtext,true)) { if(IsPlayerInRangeOfPoint(playerid, 3.0, 739.0507, -1417.6555, 13.5234)) { SetPlayerPos(playerid, 203.777999,-48.492397,1001.804687); SetPlayerInterior(playerid, 1); return 1; } } return 0; }
So dürfte es funktionieren
Du hast das Gegenteil abgeprüft, würde theoretisch auch gehen, wenn du dahinter irgendwas returnst, aber du willst ja sicher mehrere "Dinge" über enter betretbar machen.Kannst du mir erklären wofür du das "Create3DTextLabel("Test",0x33CCFFAA,739.0507,-1417.6555,13.5234,30.0,0,0);" an der Stelle brauchst?
Würde das eher im OnGameModeInit() festlegen.Danke, hat funktioniert
Würde es auch bei "OnGameModelnit()" festlegen, aber es wird mir einfach kein 3DTextLabel angezeigt, ich weis nicht warum
-
Abend liebe Leser
Ich bin grad so nebenher am Scripten und möchte aktuell den Befehl /Enter scripten.
Jedoch habe ich das problem, dass ich diesen Befehl von überall eingeben kann und werde dann in mein Interior Telepotiert.
Warum, weis ich leider nicht. Normalerweise sollte es nur im Radius von 3metern gehen.Könnt ihr mir bitte weiterhelfen ?
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/enter",cmdtext,true))
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0,739.0507,-1417.6555,13.5234))
Create3DTextLabel("Test",0x33CCFFAA,739.0507,-1417.6555,13.5234,30.0,0,0);
SetPlayerPos(playerid, 203.777999,-48.492397,1001.804687);
SetPlayerInterior(playerid, 1);
return 1;
}
return 0;
}