In der mobilen Ansicht funktioniert das. Ich werde erfolgreich in die Suche geleitet.
Was redest du da? ![]()
Die Suche funktioniert ja auch, es geht um das Bild, welches nicht vorhanden ist (auch in der mobilen Version nicht).
mfg. ![]()
In der mobilen Ansicht funktioniert das. Ich werde erfolgreich in die Suche geleitet.
Was redest du da? ![]()
Die Suche funktioniert ja auch, es geht um das Bild, welches nicht vorhanden ist (auch in der mobilen Version nicht).
mfg. ![]()
Es stört mich schon seit einer ganzen Weile, dass dieser Pfad nicht existiert: http://forum.sa-mp.de/icon/searchS.png
Da ist immer dieses leere Bild:

Quelle: by myself
Würde mich freuen, wenn ihr da mal was machen könntet ![]()
mfg. ![]()
Ich finde die von GTA-SA Singleplayer am besten:



Quelle: http://gta-sa-mp.de/forum/index.php?...jSearch=marker
s kommen irgendwelche zahlen... aber nicht die ObjectID´s
Du musst das Objekt auch mit CreateObject erstellen, wenn du diesen Callback nutzen willst ![]()
Ansonsten, nutze: OnShootDynamicObject
mfg. ![]()
Danke klappt, aber jetzt sind alle Fahrzeuge weg. und wenn man sich eins spawnt ist es auch nicht da .
auch nicht unsichtbar das man dagegenläuft einfach weg
Das liegt sicher nicht an meinem Code ![]()
..Bist du sicher, dass du in der virtuellen Welt 0 bist? ![]()
hab ich ja
Schreib deinen Befehl mal so:
ocmd:sduty(playerid)
{
if(!isPlayerAnAdmin(playerid,1))return SCM(playerid, COLOR_FADE3,"Diesen Befehl kannst du nicht nutzen.");
new adminname[30];
switch(GetPVarInt(playerid,"Adminlevel")) {
case 0:{adminname="Nein";}
case 1:{adminname="{00FF5A}Supporter";}
case 2:{adminname="{572B54}Moderator";}
case 3:{adminname="{0000FF}Administrator";}
case 4:{adminname="{FF0000}Server Manager";}
case 5:{adminname="{FF0000}Projektleiter";}
case 6:{adminname="{FF0000}Projektleiter";}
}
if(GetPVarInt(playerid,"AdminDuty"))
{
SetPlayerColor(playerid,WHITE);
s_SetPlayerHealth(playerid,GetPVarFloat(playerid,"healsave"));
DeletePVar(playerid,"AdminDuty"),DeletePVar(playerid,"healsave");
Delete3DTextLabel(SDUTY[playerid]),TextDrawHideForPlayer(playerid,ADUTY);
if(lsduty[playerid] == 1) SetPlayerColor(playerid,0x0055FFFF);
if(armyduty[playerid] == 1) SetPlayerColor(playerid,0x006400FF);
if(medicduty[playerid] == 1) SetPlayerColor(playerid,0xFF005FFF);
if(oamtduty[playerid] == 1) SetPlayerColor(playerid,0x53969cFF);
return 1;
}
new Float:heal,str[145], name[MAX_PLAYER_NAME];
GetPlayerHealth(playerid,heal);
SetPVarFloat(playerid,"healsave",heal);
SetPlayerColor(playerid,ROT),s_SetPlayerHealth(playerid,200);
GetPlayerName (playerid, name, MAX_PLAYER_NAME);
format(str, 145, "%s ist jetzt Duty.", name);
for(new i; i < MAX_PLAYERS; i++) if(i!= playerid) SendClientMessage(i, ROT, str);
SetPVarInt(playerid,"AdminDuty",1);
TextDrawShowForPlayer(playerid,ADUTY);
switch(GetPVarInt(playerid,"Adminlevel")) {
case 1: SDUTY[playerid] = Create3DTextLabel("*Supporter onduty*",AdminGelb,30.0,40.0,50.0,40.0,0);
case 2: SDUTY[playerid] = Create3DTextLabel("*Moderator onduty*",AdminGrun,30.0,40.0,50.0,40.0,0);
case 3: SDUTY[playerid] = Create3DTextLabel("*Administrator onduty*",AdminBlau,30.0,40.0,50.0,40.0,0);
case 4: SDUTY[playerid] = Create3DTextLabel("*Server Manager onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
case 5: SDUTY[playerid] = Create3DTextLabel("*Projektleiter onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
case 6: SDUTY[playerid] = Create3DTextLabel("*Projektleiter onduty*",AdminRot,30.0,40.0,50.0,40.0,0);
}
return Attach3DTextLabelToPlayer(SDUTY[playerid], playerid, 0.0, 0.0, 0.4);
}
mfg. ![]()
Warum soll die Nachricht mit "Du" an alle geschickt werden, Kaliber? Macht wenig Sinn.
Meinst du nicht, dass dies impliziert, dass man den Text umschreibt? ![]()
Du sollst den Code von Jeffry in deinen Command schreiben nicht irgendwo ins Skript ![]()
Godfather würde ich sagen
Ein Godfather hilft nie!
Es gibt doch ein Blank Skript (new.pwn). Öffne dieses und schau dir die einzelnen Callbacks an, wann diese aufgerufen werden, geh mal auf dem Server und schau dir die Funktionen an, bzw suche die, die du brauchst ![]()
mfg. ![]()
aber an den admin schickt er dann 2 und das soll nicht so sein
...die normale SendClientMessage musst du dann natürlich rausnehmen und dann 1x einfach an alle senden und dann bekommt jeder auf dem Server die Nachricht 1x...
Dann verwende doch einfach SendClientMessageToAll...da sendet es die Nachricht an alle ![]()
Poste evtl mal den kompletten Befehl ![]()
Auf die neuen Fx, Fy und Fz umgeschrieben werden kann ich mir irgendwie die neue Position des Objects ausgeben lassen?
Ja, habe den Callback doch schon gepostet gehabt, les dir nochmal den wiki Eintrag durch: OnPlayerEditObject
mfg. ![]()
if(SpielerInfo[playerid][pAdmin] >= 3)
1. Der Pawn BB Code - Die richtige Anwendung
//Edit:
schreibe es so:
if(SpielerInfo[playerid][pAdmin] < 3)
mfg. ![]()
Destroy und neu erstellen
Natürlich erst mit GetObjectPos die Koordinaten raussuchen
Um Gottes Willen, nein nicht so machen!
Dadurch bricht EditObject ab und alles hängt.
Mach es einfach so:
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
if(!playerobject)
{
if(!IsValidObject(objectid)) return 1;
MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
}
return 1;
}
mfg. ![]()
Dazu sollte man noch sagen, das man AObjectID nicht einfach drin stehen lassen kann
Doch natürlich, wenn man ein Objekt vorher erstellt hat (so wie ich es beschrieben habe), kann man das genau so lassen ![]()
Das Objekt welches man erstellt hat, gibt doch die objektid zurück, die in dieser Variable gespeichert wird und auf diese man zugreift um es zu editieren ![]()
mfg. ![]()
1. Musst du das Enum über deiner Variablen Deklaration stehen, sprich so:
enum AdminObjectsInfo
{
AObjectID,
Float:AObjectX,
Float:AObjectY,
Float:AObjectZ,
ANewsObject
};
new AdminObjects[MAX_PLAYERS][AdminObjectsInfo];
2. Musst du die Variable erstmal initialisieren.
AdminObjects[playerid][AObjectID] = CreateObject(...); //Hier erstmal das Objekt, welches du dann später editieren willst.
3. Und dann kannst du auf diesen Wert zugreifen:
if(!strcmp(cmdtext, "/oedit", true))
{
EditObject(playerid, AdminObjects[playerid][AObjectID]);
SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: You can now edit the object!");
return 1;
}
mfg. ![]()
Vielleicht gibt es auch noch ein paar andere Antworten.
Wenn du die ID willst schreibe es so:
new id;
for(new i,tmp=-1; i<MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i)) continue;
if(Kills[i] > tmp) tmp=Kills[i],id=i;
}
format(string,sizeof(string),"Der Spieler %s hat die meisten Kills gemacht. %i Kills",SpielerName(id),Kills[id]);
SendClientMessageToAll(Irgendeinetollefarbe, string);
mfg. ![]()
Idx ist nun die ID des Führenden, hat aber nicht den Wert.
Auch nicht, so wie er es geschrieben hat, funktioniert der Algorithmus nicht ![]()
Es muss so heißen:
new idx;
for(new i;i<MAX_PLAYERS;i++;)
{
if(Kills[i] > idx)idx = Kills[i];
}
mfg. ![]()
Mach das #undef OnPlayerConnect raus.
Sollte denke ich einmal an dem liegen. Hatte noch nie so ein Problem also einfach probieren.
Nein, das wird nicht helfen, im Gegenteil ![]()
Es liegt an einer anderen Include, welche nutzt du denn alles? ![]()
0.0m und 3.0m
Das ist aber ganz schön nah!
Schau dir diese Funktion mal an: GetPlayerCameraFrontVector
Da ist sogar schon ein passendes Beispiel dabei ![]()
mfg. ![]()