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