Hey Leute,
ich möchte, wenn ich /bomb eingebe, dass jeder Spieler in der Nähe die Nachricht "%s platziert eine Bombe!" erhält. (%s = name).
Wie kann ich es machen, dass nur Spieler in der Nähe (z.B. 5 Metern) diese Nachricht lesen können? :O
Hey Leute,
ich möchte, wenn ich /bomb eingebe, dass jeder Spieler in der Nähe die Nachricht "%s platziert eine Bombe!" erhält. (%s = name).
Wie kann ich es machen, dass nur Spieler in der Nähe (z.B. 5 Metern) diese Nachricht lesen können? :O
Alles anzeigen
IsPlayerInZone(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(pos[0] >= MinX && pos[0] <= MaxX &&pos[1] >= MinY && pos[1] <= MaxY) return true;
return false;
}
Alles anzeigen
IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
return 1;
}
return 0;
}
IsPlayerInArea(playerid, 398.9820, -2177.3076,836.7108,-2424.8113)
2 Probleme haben sich entwickelt ![]()
1) Die Gangzone wirkt auf der Minimap total durcheinander wenn ich den Blickwinkel etwas anders Bewege :o
*siehe Minimap!
2) Der Befehl funktioniert nicht, bzw. zeigt immer an (auch wenn ich anscheinend in einer Zone bin), dass ich nicht in einer Zone bin ![]()
if(strcmp(cmdtext,"/zone", true)==0)
{
if(IsPlayerInArea(playerid, 398.9820, -2177.3076,836.7108,-2424.8113))
{
SendClientMessage(playerid,COLOR_GREEN,"Du befindest dich in der Fischerzone!");
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Du bist derzeit in keiner Zone!");
return 1;
}
Alles anzeigenPAWN Quelltext
1
2
3
4
5
6
7
IsPlayerInZone(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(pos[0] >= MinX && pos[0] <= MaxX &&pos[1] >= MinY && pos[1] <= MaxY) return true;
return false;
}
Alles anzeigenPAWN Quelltext
1
2
3
4
5
6
7
8
9
10
IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
return 1;
}
return 0;
}
PAWN Quelltext
1
IsPlayerInArea(playerid, 398.9820, -2177.3076,836.7108,-2424.8113)
Vielen Dank für eure Hilfe! ![]()
Aber bei der if Abfrage (IsPlayerInArea...)
Wie genau sind Koordinaten geordnet?
min x, max y, max x, min y ?
Oder nach welchem Schema?
Zone oben deklaieren:
new fischerzone;
Bei OnGameModeInit erstellen:
fischzone = GangZoneCreate(398.9820, -2177.3076,836.7108,-2424.8113);
Bei OnPlayerConnect der Zone eine Farbe geben:
GangZoneShowForPlayer(playerid, fischzone, COLOR_FISCHZONE);
Ich möchte nun eine Abfrage machen, ob der Spieler in der Gangzone ist :o
Hey Leute,
ich wollte euch fragen ob ihr mir sagen könnt, wie ich abfragen kann, ob der Spieler (playerid) in einer Gangzone (fischzone) ist.
Vielen Dank schonmal! ![]()
Hey Leute,
vorab zu Frage 1)
Ich möchte, dass der Text "bestanden" grün und der Text "nicht vorhanden" rot ausgegeben wird ![]()
if(Spieler[playerid][Autoschein]) { text1 = "bestanden"; } else { text1 = "nicht vorhanden"; }
Ich möchtes es so haben:
bestanden
nicht vorhanden
Und Frage 2)
Wie kann ich es machen, dass die einzelnen Teile farbig sind?
So funktioniert es nicht ![]()
format(string, sizeof(string), "(( *{0xC30000D9}[Moderator] {0xFFFFFFFFF}%s: {0x33CCFFAA}%s{0xFFFFFFFFF}))", sendername, result);
Ich möchte es so: [Moderator] 'Spielername' : 'TEXT'
Auf Nachfrage in PN:
Hast du zufällig eine mehrzeilige Meldung im Compiler, mit ganz vielen Zahlen?
Wenn ja, poste die bitte, wenn nein, poste bitte dein ganzes OnPlayerCommandText.
Meinst du das hier:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 4580 bytes
Code size: 367680 bytes
Data size: 607236 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5056 cells (20224 bytes)
Total requirements: 995880 bytes
Wie meinst du das?
Ich poste einfach mal alles, was mit dem Callback zu tun hat:
Oben im Script:
forward OnPlayerEnterRCP(playerid,checkpointid);
new beladenRCP;
Der Callcack:
public OnPlayerEnterRCP(playerid,checkpointid)
{
if(checkpointid == beladenRCP)
{
ShowPlayerDialog(playerid,DIALOG_BELADUNG,DIALOG_STYLE_LIST,"Flugzeug - Ladung wählen","Holz\nMetall\nÖl\nBenzin","Auswählen","Abbrechen");
DisablePlayerCheckpoint(playerid);
}
return 1;
}
Der Command:
if(strcmp(cmd, "/beladen", true) == 0)
{
if(Spieler[playerid][Beruf] == 8)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 553)
{
if(Beladen[playerid] == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Begib dich nun zum Ladebereich!");
beladenRCP = SetPlayerRaceCheckpoint(playerid,1, 1919.6748,-2245.9756,13.5469,0,0,0, 5.0);
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Dein Flugzeug ist schon beladen!");
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Du musst in einem Flugzeug (Nevada) sitzen!");
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Du bist kein Pilot!");
return 1;
}
Ja, aber ich habe einen eigenen gemacht, weil bei dem Callback "OnPlayerEnterRaceCheckpoint" ich nicht die "checkpointid" abfragen kann ![]()
Hey Leute,
ich möchte, dass wenn ich den Checkpoint mit der ID: beladenRCP fahre, dass der Checkpoint verschwindet und sich ein Dialog öffnet.
Folgende Sachen habe ich derzeit gemacht:
Der Checkpoint wird erstellt:
...
beladenRCP = SetPlayerRaceCheckpoint(playerid,1, 1919.6748,-2245.9756,13.5469,0,0,0, 5.0);
...
Der public:
public OnPlayerEnterRCP(playerid,checkpointid)
{
if(checkpointid == beladenRCP)
{
ShowPlayerDialog(playerid,DIALOG_BELADUNG,DIALOG_STYLE_LIST,"Flugzeug - Ladung wählen","Holz\nMetall\nÖl\nBenzin","Auswählen","Abbrechen");
DisablePlayerCheckpoint(playerid);
}
return 1;
}
Es funktioniert aber nicht ![]()
Weiß jemand von euch etwas? ![]()
es funktioniert immer noch nicht ![]()
Alles anzeigenif (strcmp(cmd, "/stats", true) == 6)
{
if(IsPlayerConnected(playerid))
{
if (Eingeloggt[playerid] != 0)
{
Stats(playerid,playerid);
}
else SendClientMessage(playerid, COLOR_RED, "Du bist nicht eingeloggt!");
}
return 1;
}
Wenn es immer noch nicht geht zeigst du mir mal deine Stats funktion. (playerid, playerid) scheint mir komisch zu kommen.
Funktioniert immer noch nicht ![]()
Hier die Function:
Function Stats(playerid,targetid)
{
if(Spieler[playerid][Ausweis] == 1)
{
new jtext[20];
if(Spieler[playerid][Beruf] == 0) { jtext = "Arbeitslos"; }
else if(Spieler[playerid][Beruf] == 1) { jtext = "Harz IV"; }
else if(Spieler[playerid][Beruf] == 2) { jtext = "Drogendealer"; }
else if(Spieler[playerid][Beruf] == 3) { jtext = "Taxifahrer"; }
else if(Spieler[playerid][Beruf] == 4) { jtext = "Pizzalieferant"; }
else if(Spieler[playerid][Beruf] == 5) { jtext = "Stuntman"; }
else if(Spieler[playerid][Beruf] == 6) { jtext = "DHL-Lieferant"; }
else if(Spieler[playerid][Beruf] == 7) { jtext = "KFZ-Mechhaniker"; }
else if(Spieler[playerid][Beruf] == 8) { jtext = "Pilot"; }
else if(Spieler[playerid][Beruf] == 9) { jtext = "Fischer"; }
else if(Spieler[playerid][Beruf] == 10) { jtext = "Feuerwehrmann"; }
else if(Spieler[playerid][Beruf] == 11) { jtext = "Geldtransporteur"; }
new drank[20];
if(Spieler[playerid][Donator] == 1) { drank = "Premium Bronze"; }
else if(Spieler[playerid][Donator] == 2) { drank = "Premium Silber"; }
else if(Spieler[playerid][Donator] == 3) { drank = "Premium Gold"; }
else if(Spieler[playerid][Donator] == 4) { drank = "Elite User"; }
else { drank = "-"; }
new ehren[20];
if(Spieler[playerid][Ehren] == 1) { ehren = "Kapitalist"; }
else if(Spieler[playerid][Ehren] == 2) { ehren = "Ehrenbürger"; }
else { ehren = "Staatsbürger"; }
new hauss[20];
if(Spieler[playerid][Haus] == 1) { hauss = "Mieter"; }
else if(Spieler[playerid][Haus] == 2) { hauss = "Besitzer"; }
else { hauss = "-"; }
new btext[20];
if(Spieler[playerid][Business] == 0) { btext = "-"; }
else if(Spieler[playerid][Business] == 1) { btext = "Club Alhambra"; }
else if(Spieler[playerid][Business] == 2) { btext = "Luigi's Pizza"; }
else if(Spieler[playerid][Business] == 3) { btext = "S.A. Taxi"; }
else if(Spieler[playerid][Business] == 4) { btext = "L.S. Tower"; }
else if(Spieler[playerid][Business] == 5) { btext = "SS"; }
else if(Spieler[playerid][Business] == 6) { btext = "DHL-Lieferant"; }
else if(Spieler[playerid][Business] == 7) { btext = "KFZ-Mechhaniker"; }
else if(Spieler[playerid][Business] == 8) { btext = "Pilot"; }
else if(Spieler[playerid][Business] == 9) { btext = "Fischer"; }
else if(Spieler[playerid][Business] == 10) { btext = "Feuerwehrmann"; }
new ftext[20];
if(Spieler[playerid][Fraktion] == 0) { ftext = "keine"; }
else if(Spieler[playerid][Fraktion] == 1) { ftext = "L.S.P.D."; }
else if(Spieler[playerid][Fraktion] == 2) { ftext = "Brotherhood"; }
else if(Spieler[playerid][Fraktion] == 3) { ftext = "Groove Street"; }
else if(Spieler[playerid][Fraktion] == 4) { ftext = "Ballas"; }
else if(Spieler[playerid][Fraktion] == 5) { ftext = "Die Mafia"; }
else if(Spieler[playerid][Fraktion] == 6) { ftext = "Hells Angels"; }
else if(Spieler[playerid][Fraktion] == 7) { ftext = "Ordnungsamt"; }
else if(Spieler[playerid][Fraktion] == 8) { ftext = "La Puerta"; }
new vtext[20];
if(Spieler[playerid][Versicherung] == 1) { vtext = "L.S. Insurance"; }
else if(Spieler[playerid][Versicherung] == 2) { vtext = "LSI Help"; }
else if(Spieler[playerid][Versicherung] == 3) { vtext = "Life' Inc."; }
else { vtext = "keine"; }
new htext[20];
if(Spieler[playerid][Handy] == 1) { htext = "Nokia 2430"; }
else if(Spieler[playerid][Handy] == 2) { htext = "HTC One"; }
else if(Spieler[playerid][Handy] == 3) { htext = "Samsung S5"; }
else if(Spieler[playerid][Handy] == 4) { htext = "Sony Z3 LTE"; }
else if(Spieler[playerid][Handy] == 5) { htext = "iPhone 6"; }
else { htext = "keins"; }
new hvtext[20];
if(Spieler[playerid][Vertrag] == 1) { hvtext = "SMS Flatrate"; }
else if(Spieler[playerid][Vertrag] == 2) { hvtext = "Telefon Flatrate"; }
else if(Spieler[playerid][Vertrag] == 3) { hvtext = "All-in-One Flatrate"; }
else { hvtext = "keinen"; }
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
new string1[200],string2[200],string3[200],string4[200],string5[200],string6[200],string7[200],string8[200],rest[1500];
format(string1, sizeof string1, "{BDBDBD} Statistik von {0000FF} %s {BDBDBD} auf German Oldschool Reallife",name);
format(string2, sizeof string2, "{0000FF}[Allgemeines]");
format(string3, sizeof string3, "{FF00FF}Level: {00FFFF}%i {FF00FF}Respektpunkte:{00FFFF} %d {FF00FF}Skin ID: {00FFFF}%i {FF00FF}Tode: {00FFFF}%d {FF00FF}Morde: {00FFFF}%d {FF00FF}Verbechen: {00FFFF}%d", GetPlayerScore(playerid),Spieler[playerid][Respektpunkte],GetPlayerSkin(playerid),Spieler[playerid][Tode],Spieler[playerid][Kills],Spieler[playerid][Verbrechen]);
format(string4, sizeof string4, "{FF00FF}Adminlevel:{00FFFF} %d {FF00FF}Verwarnungen:{00FFFF} %d {FF00FF}Gesellschaft:{00FFFF} %s",Spieler[playerid][Adminrank],Spieler[playerid][Warnings],ehren);
format(string5, sizeof string5, "{FF00FF}Beruf:{00FFFF} %s {FF00FF}Fraktion:{00FFFF} %s {FF00FF}Donator-Rank:{00FFFF} %s",jtext,ftext,drank);
format(string6, sizeof string6, "{0000FF}[Besitztum]");
format(string7, sizeof string7, "{FF00FF}Bargeld:{00FFFF} %d {FF00FF}Kontoguthaben:{00FFFF} %d {FF00FF}Haus:{00FFFF} %s {FF00FF}Knastkarten:{00FFFF} %d",GetPlayerMoney(playerid),Spieler[playerid][Bank],hauss,Spieler[playerid][Knastkarten]);
format(string8, sizeof string8, "{FF00FF}Business:{00FFFF} %s {FF00FF}Versicherung:{00FFFF} %s {FF00FF}Handy:{00FFFF} %s {FF00FF}Handy Nr.:{00FFFF} %d {FF00FF}Vertrag:{00FFFF} %s",btext,vtext,htext,Spieler[playerid][Handynummer],hvtext);
format(rest, sizeof rest, "%s\n\n\n%s\n\n%s\n%s\n%s\n\n\n%s\n\n%s\n%s\n%s\n\n%s\n\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5,string6,string7,string8);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",rest,"OK","");
}
else
{
SendClientMessage(playerid,COLOR_RED, "Du bestizt keinen Personalausweis!");
}
}
Top ![]()
Jedoch habe ich noch eine andere Frage, komplett abseits von diesem Warning Problem! ![]()
Mein /stats Befehl funktioniert leider nicht mehr ![]()
Sobald ich ihn eingebe kommt die mledung "Uknow Command" !
Mein Command:
if (strcmp(cmd, "/stats", true) == 6)
{
if(IsPlayerConnected(playerid))
{
if (Eingeloggt[playerid] != 0)
{
Stats(playerid,playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist nicht eingeloggt!");
return 1;
}
}
return 1;
}
Was steht in Zeile 2884 und 2895
Die Zeilen 2884 & 2895 sind die ifAbfragen mit dme Beruf! (sprich jeweils die erste Abfrage) !
Hey Leute,
ich habe folgende Warnings (der Klassiker eigentlich):
D:\Domi\Spiele\GTA San Andreas\Domi Server\gamemodes\own.pwn(2884) : warning 213: tag mismatch
D:\Domi\Spiele\GTA San Andreas\Domi Server\gamemodes\own.pwn(2895) : warning 213: tag mismatch
Jedoch sehen die Zeilen ganz normal aus :o
if(!Spieler[playerid][Beruf] == 4)
{
for(new pv = 0; pv < sizeof(PizzaVehs); pv++)
{
if(newcar == PizzaVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
RemovePlayerFromVehicle(playerid);
}
}
}
if(!Spieler[playerid][Beruf] == 6)
{
for(new pv = 0; pv < sizeof(DHLVehs); pv++)
{
if(newcar == DHLVehs[pv])
{
SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
RemovePlayerFromVehicle(playerid);
}
}
}
Weiß jemand was ich falsch mache? :o
Hey Leute,
ich habe ein Taxisystem gemacht und man legt mit "/dienst [ZAHL]" den Preis fest.
Sprich [ZAHL] ist der Preis...
Wenn ich "/dienst" eingebe, kommt die Fehlermeldung, dass ich hinter "/dienst" eine Zahl angeben muss ! | <---- Das ist auch soweit richtig!
Wenn ich nun jedoch "/dienst 20" eingebe, kommt die Meldung "Uknow command"...
Was mache ich falsch?!?
Mein Befehl:
if(strcmp(cmdtext,"/dienst", true)==0)
{
new string[200];
new sendername[MAX_PLAYER_NAME];
new tmp;
tmp = strtok(cmdtext);
new moneys;
new idx;
moneys = strval(tmp);
if(Spieler[playerid][Beruf] == 3)
{
if(Dienst[playerid] > 0)
{
Dienst[playerid] = 0;
format(string, sizeof(string), "* Du bist nun außer Dienst und hast $%d verdient.", TransportMoney[playerid]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, TransportMoney[playerid]);
TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
SetPlayerColor(playerid,COLOR_WHITE);
return 1;
}
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 420 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 438)
{
if(GetPlayerState(playerid) == 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "NUTZUNG: /dienst [Fahrpreis]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 500) { SendClientMessage(playerid, COLOR_RED, "Preis muss zwischen 1 und 500 Dollar liegen!"); return 1; }
Dienst[playerid] = 1; TransportValue[playerid] = moneys;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "Taxifahrer %s ist im Dienst, Preis: $%d.", sendername, TransportValue[playerid]);
SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun im Dienst!");
GlobChat(COLOR_YELLOW,string);
SetPlayerColor(playerid,COLOR_YELLOW);
return 1;
}
}
SendClientMessage(playerid,COLOR_RED,"Du musst in einem Taxi sitzen!");
return 1;
}
SendClientMessage(playerid,COLOR_RED,"Du bist kein Taxifahrer!");
return 1;
}
Hello Leute,
ich wollte euch fragen, ob ihr mir eventuell zeigen/verraten/helfen könnt, wie ich ein standart Taxisystem machen kann.
Ich habe schonmal angefangen, komme bei den Timer Geschichten und so nicht weiter ![]()
----------------------------------------------------------------------------------------------------------
Mein bisheriger Fortschritt:
Command /dienst:
if(strcmp(cmdtext,"/dienst", true)==0)
{
if(Spieler[playerid][Beruf] == 3)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 420 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 438)
{
ShowPlayerDialog(playerid,DIALOG_TAXI,DIALOG_STYLE_LIST,"Taxifahrer Taxometer","Mindestlohn (10$)\nStandartlohn (30$)\n Standartlohn II (45$)\nExklusivlohn (60$)\nLuxuslohn (80$)\nPremiumlohn (100$)","Starten", "Abbrechen");
return 1;
}
{
SendClientMessage(playerid,COLOR_RED,"Du musst in einem Taxi sitzen um in den Dienst zu gehen!");
return 1;
}
}
SendClientMessage(playerid,COLOR_RED,"Du bist kein Taxifahrer!");
return 1;
}
Taxi Dialog (Fahrer) vor der Fahrt:
if(dialogid == DIALOG_TAXI)
{
if(response == 0)
{
SendClientMessage(playerid,COLOR_RED,"Taxidienst abgebrochen!");
TogglePlayerControllable(playerid,0);
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
Dienst[playerid] = 0;
return 1;
}
if(response == 1)
{
SetPlayerColor(playerid,COLOR_YELLOW);
Dienst[playerid] = 1;
SendClientMessage(playerid,COLOR_YELLOW,"Du bist mit dem Mindestlohn-Tarif im Dienst!");
return 1;
}
}
Heey,
ich möchte, dass wenn ein Spieler auf einen der PizzaRoller (PizzaVehs) steigt und er nicht den Beruf 4 hat (Spieler[playerid][Beruf] == 4) er auch nicht mit dem Fahrzeug fahren kann!
Wie genau mache ich das bzw. wo mache ich das?
OnPlayerEnterVehicle?
OnPlayerStateChange?
Danke schonmal!
![]()
#edit Hab den Fehler gefunden!!!
thread closed ![]()