Und jetzt sag mir folgendes:
1. Wie groß ist MAX_FVEHS?
2. Die Deklaration von FahrzeugDefinition und von Fahrzeug und von FahrzeugInfoModel und von vFahrzeug...
mfg. ![]()
Und jetzt sag mir folgendes:
1. Wie groß ist MAX_FVEHS?
2. Die Deklaration von FahrzeugDefinition und von Fahrzeug und von FahrzeugInfoModel und von vFahrzeug...
mfg. ![]()
Du kannst mal versuche ob dieses Plugin dir helfen kann
Das nutzt er doch, deshalb hat er ja diese Fehlermeldung da stehen ![]()
cmd_vehlist
Poste mal diese public-Funktion ![]()
mfg. ![]()
Also er zäht hoch und bei den zeichen runter
Ja, was eine Überraschung ![]()
Um dir dieses Phänomen mal zu erklären, es ist ganz einfach:
//Nehmen wir einen String:
new string[6] = "Hallo";
//Printen wir nun etwas:
print(string[0]); //Hier printet er: Hallo
//Da alles ab dem 0ten Zeichen bis zum Ende ausgegeben wird.
print(string[1]); //Hier printet er: allo
//Da alles ab dem 1ten Zeichen bis zum Ende ausgegeben wird.
Um das Problem, welches du hast zu lösen, musst du einfach dem String noch eine Dimension geben, da du ja noch Zeichen hast, sprich:
LastDriver[vehicleid] = "Hallo";
//Das ist falsch, da du z.B. jetzt nicht das H als Zeichen ausgeben kannst, sondern nur den ganzen String, oder halt ab dem Zeichen.
new LastDriver[MAX_VEHICLES][6];
LastDriver[vehicleid] = "Hallo";
//Jetzt kannst du es ausgeben:
LastDriver[vehicleid][0] // -> Das würde jetzt das H ausgeben
Sprich du musst noch eine Dimension mit MAX_LENGTH des Strings angeben ![]()
mfg. ![]()
Ich weiß aufjedenfall das dass möglichs ist..
Ohne ein extra Plugin, dass gegen die Auflagen der SA-MP Lizenz verstößt, wohl eher nicht ![]()
Was du meinen könntest ist der gpci Hash...aber das ist nur ein Hash aus dem Windows Benutzernamens des Computers, wo der Client gerade connectet.
mfg. ![]()
Entscheid dich doch mal für eine Art von Commandprozessor...
In deinem Server.log steht, du nutzt ocmd, dann kann es zu Komplikationen kommen, wenn du auch noch dcmd nutzt. Da der Callback gehookt wird und somit nicht mehr aufgerufen wird. Du müsstest das dcmd Makro in einen anderen von ocmd gefertigten Callback schreiben.
Also nutze doch entweder nur ocmd oder dcmd, das wäre um einiges leichter ![]()
mfg. ![]()
PlayerCar[playerid][x][Plate] = kz;
Schreib die Zeile so:
//Und bitte deklariere kz so:
kz[32]; //Nicht 128!
format(PlayerCar[playerid][x][Plate], 32, kz);
mfg. ![]()
//Ban(giveplayerid);
Kick(giveplayerid);
Du kickst ihn ja auch nur ![]()
Das Ban(giveplayerid); ist ja auskommentiert...sprich mach es so:
Ban(giveplayerid);
//Kick(giveplayerid); <<kannst du auch ganz löschen
mfg. ![]()
Ich arbeite ganz normal mit Pawn
Dann glaube ich dir das nicht ![]()
Hast du TeamViewer, dann schick mir doch kurz deine Daten per PN und ich schaue mir das an ![]()
mfg. ![]()
Schreibe die Funktion so:
stock CreateLanguage3DTextLabel(const textDE[], const textEN[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 100.0)
{
if(pInfo[playerid][Language] == LANGUAGE_DE) CreateDynamic3DTextLabel(textDE, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);
else if(pInfo[playerid][Language] == LANGUAGE_EN) CreateDynamic3DTextLabel(textEN, color, x, y, z, drawdistance, attachedplayer, attachedvehicle, testlos, worldid, interiorid, playerid, streamdistance);
return 1;
}
Lerne den Unterschied zwischen Attributen und Parametern ![]()
mfg. ![]()
Wie kann man den herrausfinden, wie viele Objekte erstellt worden sind(CreateDynamicObject, CreateObject), wie viele entfernt worden sind(RemoveBuildingForPlayer) und das per einen Print Output ausgeben lassen?
Die Funktionen hooken und einen counter mitzählen lassen ![]()
Habe vor nem Jahr oder so das mal gemacht: [ INCLUDE ] Limit Counter
Kannst dir da ja ein wenig Inspiration holen ![]()
mfg. ![]()
ProxDetector(7.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
Es geht nur um diesen Funktionsaufruf, zeig mal bitte, wie string und playerid da deklariert sind ![]()
mfg. ![]()
Die Funktion ist zwar nicht schön, aber richtig.
Zeig mal, wo du die Funktion nutzt ![]()
mfg. ![]()
1. Bitte schreibe nicht so groß, meine Augen sind noch gut.
2. http://files.sa-mp.com/samp03z_svr_R1_win32.zip Das Downloaden und dann unter pawno/includes...
mfg. ![]()
Ich würde mal einen Viren-Scanner über deinen PC laufen lassen ![]()
mfg. ![]()
Das undefined Symbol kommt daher, dass du noch veraltete SA-MP Includes hast...downloade sie dir nochmal hier: http://sa-mp.com/download.php
Und das uncreable Code, kommt daher, dass du wahrscheinlich ein return darüber platziert hast, sodass der untere Code nicht mehr reichbar ist ![]()
mfg. ![]()
Wenn das schon nicht geht, dann klappt das Ganze nicht..
Danke dir für deine Antwort..
Du kannst aber die Waffe dem Spieler removen und dann wieder geben mit weniger Munition...hat den selben Effekt ![]()
Es kommt immer die Nachricht, dass der Spieler nicht online ist.
Du musst auf die Chronologische Reihenfolge deiner if-Abfragen achten ![]()
Zudem wenn du eine Variable mit einem TAG deklarierst (Float:x), dann musst du nicht immer den Tag wieder davor schreiben, nur wenn du die Variable casten willst ![]()
Also hier, so funktioniert es:
CMD:goto(playerid,params[])
{
if(GetPVarInt( playerid, "Level" ) < 1 ) return SendClientMessage( playerid, -1, "Du musst ein "COLOR_LIGHT_BLUE"Administrator Level 1 {FFFFFF}sein, um diese Funktion nutzen zu können.");
if(sscanf( params, "u", params[0])) return SendClientMessage( playerid, -1, ""COLOR_LIGHT_BLUE"Verwendung:{FFFFFF} /goto <ID/Name>");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Dieser Spieler ist nicht online.");
if(InBehandlung[params[0]]) return SendClientMessage(playerid, -1, ""COLOR_RED"Fehler: {FFFFFF}Spieler ist in Behandlung.");
if(params[0] == playerid) return SendClientMessage(playerid, -1, ""COLOR_RED"Fehler: {FFFFFF}Du kannst dich nicht zu dir selbst teleportieren.");
new Float:x, Float:y, Float:z;
GetPlayerPos(params[0], x, y, z);
SetPlayerPos(playerid, x, y, z);
return 1;
}
CMD:gethere(playerid,params[])
{
if(GetPVarInt( playerid, "Level" ) < 1 ) return SendClientMessage( playerid, -1, "Du musst ein "COLOR_LIGHT_BLUE"Administrator Level 2 {FFFFFF}sein, um diese Funktion nutzen zu können.");
if(sscanf( params, "u", params[0])) return SendClientMessage( playerid, -1, ""COLOR_LIGHT_BLUE"Verwendung:{FFFFFF} /gethere <ID/Name>");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, ""COLOR_RED"Fehler: {FFFFFF}Dieser Spieler ist nicht online.");
if(InBehandlung[params[0]]) return SendClientMessage(playerid, -1, ""COLOR_RED"Fehler: {FFFFFF}Spieler ist in Behandlung.");
if(params[0] == playerid) return SendClientMessage(playerid, -1, ""COLOR_RED"Fehler: {FFFFFF}Du kannst dich nicht zu dir selbst teleportieren.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(params[0], x, y, z);
return 1;
}
mfg. ![]()
So müsste es gehen:
//obj = O
//obj1 = A
new Float:Pos[6];
GetObjectPos(obj,Pos[0],Pos[1],Pos[2]);
GetObjectPos(obj1,Pos[3],Pos[4],Pos[5]);
SetObjectRot(obj1,0.0,0.0,atan2(Pos[4] - Pos[1],Pos[3] - Pos[0]));
//Falls es nicht gehen sollte versuche:
SetObjectRot(obj1,0.0,0.0,atan2(Pos[4] - Pos[1],Pos[3] - Pos[0])-180);
mfg. ![]()
Hey, ich habe mal eine Frage wieso ich diesen Error bekomme.
Mach das return 1; in der Schleife weg und das Semikolon hinter der if-Abfrage in Zeile 7 ![]()
mfg. ![]()
Und nun sollen 4 Per Random Gespawned werden bitte helft mir.
Das könntest du so lösen:
static Float:r_Pos[][3] = {
{652.88098, -93.44363, 18.23879},
{650.15161, -125.84965, 21.31182},
{623.77222, -129.92299, 23.98880},
{617.01825, -126.81814, 24.33205},
{611.12610, -107.54742, 22.79732},
{610.66663, -92.06685, 20.15582},
{738.89392, -95.42523, 20.24735},
{730.02472, -88.85505, 20.44882},
{696.23511, -82.35695, 21.67834},
{660.66663, -91.32520, 18.68274},
{672.91217, -130.31569, 20.90508}
},Reh[4];
//Und Random Spawnen lassen:
static idx[sizeof Reh],tmp;
for(new i; i<sizeof Reh; ++i,tmp++) {
idx[tmp] = random(sizeof r_Pos);
for(new x; x<tmp; x++) if(idx[x] == idx[tmp]) idx[tmp] = random(sizeof r_Pos),x=-1;
Reh[i] = CreateObject(19315, r_Pos[idx[tmp]][0], r_Pos[idx[tmp]][1], r_Pos[idx[tmp]][2], 0.0, 0.0, 0.0);
}
Da wir Reh[4] haben, werden auch nur 4 Rehe gespawnt, wenn du das erhöhst, werden mehr random gespawnt ![]()
mfg. ![]()