Rechtsklick auf die DLL dann Eigenschaften.
Unten sollte eventuell so ein Security ding sein. "Die DLL Stammt von einem anderen System blah blah"
Dann auf Freigeben, Übernehmen und OK.
Dann nochmal probieren.
Beiträge von root
-
-
Was gibt der dir den für einen Fehler aus?
Schon mit try {} catch() probiert?
PS: Der Pfad ist absolut nicht realtiv -
@malE
Du kannst das eigentlich ziemlich einfach erreichen:Codenew langerText[] = "ICH BIN DER STRING"; new striche[256]; printf("%s",langerText); for(new i = 0; i < strlen(langerText); i++) { strcat(striche, "-"); //Strich Hinzufügen } printf("%s",striche);
Habs probiert sollte passen. Musst es nurnoch auf deine Variablen anpassen.
-
ALT + ENTER => Spiel in Fenstermodus
Dann wieder ALT + ENTER Spiel wieder auf Fullscreen.
Hat bei mir immer geholfen. -
funktioniert immer noch nicht die gleichen fehler;C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 029: invalid expression, assumed zero
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : warning 215: expression has no effect
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 001: expected token: ";", but found "]"
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 029: invalid expression, assumed zero
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Eher so oder?
-
Je nach Hersteller kann man anfragen und bekommt eine ISO oder ähnliches.
Zum Teil kann man den Key einfach auf Steam einlösen -
Aber da nehme ich auch Route um zu wissen welche Strecke es ist geht das nicht auch iwie bei sizeof?
Code
Alles anzeigenenum Fahrschulcheckpoints { Float:fscp_x, Float:fscp_y, Float:fscp_z, Float:fscp_rad } new fscp_strecke1[][][Fahrschulcheckpoints] = { { {1420.4747,-1650.9874,12.9183,4.0}, {1442.0400,-1527.3809,12.9318,4.0}, {1457.3605,-1181.8098,22.1781,4.0}, {1484.7733,-1046.9332,23.2085,4.0}, {1380.0831,-1033.3884,25.8709,4.0}, {1374.9781,-958.5410,33.6481,4.0}, {1191.7825,-935.7949,42.2936,4.0}, {1004.8117,-956.1220,41.1875,4.0}, {588.9537,-1222.1122,17.3355,4.0}, {498.8979,-1331.8008,15.4384,4.0}, {441.8085,-1505.4916,30.4206,4.0}, {613.9475,-1592.6312,15.5575,4.0}, {640.2908,-1419.9365,13.0931,4.0}, {799.9543,-1342.6307,12.9321,4.0}, {945.2153,-1232.6627,16.2017,4.0}, {1146.2305,-1403.1858,13.0817,4.0}, {1299.4003,-1838.3225,12.9320,4.0}, {1417.2319,-1735.1187,12.9399,4.0}, {1420.4747,-1650.9874,12.9183,4.0} }, { {1420.4747,-1650.9874,12.9183,5.0}, {1442.0400,-1527.3809,12.9318,5.0}, {1457.3605,-1181.8098,22.1781,5.0}, {1484.7733,-1046.9332,23.2085,5.0}, {1380.0831,-1033.3884,25.8709,5.0}, {1374.9781,-958.5410,33.6481,5.0}, {1191.7825,-935.7949,42.2936,5.0}, {1004.8117,-956.1220,41.1875,5.0}, {588.9537,-1222.1122,17.3355,5.0}, {498.8979,-1331.8008,15.4384,5.0}, {441.8085,-1505.4916,30.4206,5.0}, {613.9475,-1592.6312,15.5575,5.0}, {640.2908,-1419.9365,13.0931,5.0}, {799.9543,-1342.6307,12.9321,5.0}, {945.2153,-1232.6627,16.2017,5.0}, {1146.2305,-1403.1858,13.0817,5.0}, {1299.4003,-1838.3225,12.9320,5.0}, {1417.2319,-1735.1187,12.9399,5.0}, {1420.4747,-1650.9874,12.9183,5.0} } }; new route = afsinfo[playerid][afs_Route],string[128]; SetPlayerCheckpoint(playerid,fscp_strecke1[route][0][fscp_x],fscp_strecke1[route][0][fscp_y],fscp_strecke1[route][0][fscp_z],fscp_strecke1[route][0][fscp_rad]);
Denke man kann bei sizeof() nur die Dimensionen auslesen. Vielleicht hat @Kaliber @Jeffry noch eine Idee
-
@Kaliber
Danke für die Info. Länger nicht mehr mit PAWN gearbeitet.Wie Kaliber schon erwähnte noch das -1 machen da arrays bei 0 anfangen.
-
Nein Dimensionen sind was anderes.
Code
Alles anzeigennew fscp_strecke1[][][fahrschulcheckpoints] = {//Erste Dimension {//Zweite Dimension //Route 1 {0.0,0.0,0.0},//Dritte Dimension {0.0,0.0.0.0}//Dritte Dimension }, {//Zweite Dimension //Route 2 {0.0,0.0,0.0},//Dritte Dimension {0.0,0.0,0.0}//Dritte Dimension } }
Ich bin mir nicht sicher ob du das so angeben kannst:
Musst du mal probieren, hab länger nicht mehr mit PAWN gearbeitet. -
wie kann ich von der 2 Strecke die sizeof auslesen ?Welche Strecke habe ich unter Route gespeichert
Du kannst in sizeof die Dimensionen mit angeben (glaub ich zumindest).
Quasi:Codesizeof(fscp_streacke1) //Gesamt sizeof(fscp_streacke1[]) //Erste Dimension sizeof(fscp_streacke1[][]) //Zweite Dimension sizeof(fscp_streacke1[][][]) //Dritte Dimension
@The Sensei
Was genau geht denn nicht / nur ab und zu? -
Moin Leute!
Ich bin dabei mein Teleport System zu schreiben, Speichern klappt Problemlos, aber das Laden nicht irgendwie.
Sobald ich den Befehl eingebe, sagt er mir, das keine Teleports vorhanden sei, obwohl in der Datenbank drei Einträge gibt.Der Befehl:ocmd:ateleport(playerid, params[]){if(!IstSpielerEinAdmin(playerid,2))return SendClientMessage(playerid, FARBE_WEISS, "[{FF0000}FEHLER{FFFFFF}]: Du hast nicht die Rechte diesen Befehl zu benutzen!");if(!sInfo[playerid][sEingeloggt])return SendClientMessage(playerid, FARBE_WEISS, "[{FF0000}FEHLER{FFFFFF}]: Du bist nicht eingeloggt!");new buffer[512];for(new i; i < MAX_TELEPORTS; i++){if(TeleInfo[i][set] == true){format(buffer, sizeof(buffer), "{FFFFFF}%s%s\n", buffer, TeleInfo[i][tName]);}}if(strlen(buffer) == 0)return SendClientMessage(playerid, FARBE_WEISS, "[{FF0000}FEHLER{FFFFFF}]: Es sind derzeit keine Teleports vorhanden!");ShowPlayerDialog(playerid, DIALOG_TELEPORTS, DIALOG_STYLE_LIST, "{FFFFFF}Teleports", buffer, "Porten", "Abbrechen");return 1;}Die Funktion zum Laden:forward LoadTeleports();public LoadTeleports(){if(cache_get_row_count(MySQL_Handle)){for(new i,y=cache_get_row_count(MySQL_Handle);i<y;i++){TeleInfo[i][tX] = cache_get_field_content_float(i, "tX", MySQL_Handle);TeleInfo[i][tY] = cache_get_field_content_float(i, "tY", MySQL_Handle);TeleInfo[i][tZ] = cache_get_field_content_float(i, "tZ", MySQL_Handle);TeleInfo[i][tInterior] = cache_get_field_content_int(i, "tInterior", MySQL_Handle);TeleInfo[i][tVWorld] = cache_get_field_content_int(i, "tVWorld", MySQL_Handle);cache_get_field_content(i, "tName", TeleInfo[i][tName], MySQL_Handle, 32);TeleInfo[i][set] = true;}}printf("Aktuele Teleports: %i/%i", cache_get_row_count(MySQL_Handle), MAX_TELEPORTS);return 1;}
Hoffe einer kann mir Helfen, wäre sehr Dankbar!
Von wo holst du diesen MYSQL_Handler her?
Du gehts nämlich durch die Rows dieses Handlers durch.Hi, ich habe mir ein kleines FilterScript erstellt womit ich in der server_log.txt die Befehle printe die auf meinem Server ausgeführt werden.
Nun möchte ich das aber in einer seperaten Datei abspeichern, dennoch genau wie in dem folgenden Code ohne Zugriff auf das Gamemode zu haben (sprich nicht in jedem Befehl irgendeine Zeile hinzufügen damit der Befehl geloggt wird).Gibt es eine Möglichkeit alle Befehle die ausgeführt werden in einer seperaten Datei abzuspeichern? Aktueller Code schaut so aus, taucht aber wie gesagt nur in der server_log auf.
public OnPlayerCommandText(playerid, cmdtext[]){ new playername[24]; GetPlayerName(playerid, playername, 24); printf("[CMD LOG]: Command %s(%d): %s", playername, playerid, cmdtext); return 0;}
Du kannst es z.b so machen:
-
Ich brauch die Zeilen ab ca 4573 - 6163.
Bestenfalls natürlich das gesamte Script damit die Zeilennummern übereinstimmen -
Der Klammernfehler muss irgendwo in der nähe, sicher über der Zeile des erstens Fehlers.
D.h. du darfst ab dem ersten Zeile wo ein Fehler ist nach oben gehen und irgendwo da müsste ein Klammernfehler sein.
Sonst lad den Code mal auf Pastbin oder so hoch und schick die errors. -
Falls du die API von samp-api.net verwendets kannst du die DLL nicht als Referenz hinzufügen.
Das must du mit DLLImport machen.
Siehe hier: https://github.com/SAMPProject…lude/C%23/SAMP_API.cs#L12 -
Wieso wird das Objekt "wrope" nicht an meinem Auto befestigt und somit das andere Auto und "wobj"? Nein, es kommen keine Erros alles weitere ist vorhanden(Die Schnippsel wie new wobj; oder so)
if (PRESSED(KEY_NO)){if(IsPlayerInRangeOfPoint(playerid, 2.0, 437.2438,-1806.4763,5.5469)){if(IsPlayerInAnyVehicle(playerid)){wveh = GetPlayerVehicleID(playerid);if(!wohnwagenan){wtrailer = CreateVehicle(607, 0.0000, 0.0000, 0.0000, 0.0000, -1, -1, 100);wobj = CreateDynamicObject(3168, 0.00000, -8.25150, -0.6327, 0.00000, 0.00000, 180.00000);wrope = CreateDynamicObject(19087, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wrope, wveh, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wrope, wtrailer, 0.0000, 3.4823, -0.2727, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wobj, wtrailer, 0.0000, -2.2660, -0.9707, 0.00000, 0.00000, 180.00000);SendClientMessage(playerid, COLOR_WHITE, "Du hast erfolgreich einen Wohnwagen für 500 Dollar an deinem Fahrzeug befestigt!");SendClientMessage(playerid, COLOR_LIGHTBLUE, "[OOC] Drücke hier nochmals 'N' um ihn wieder abzuhängen.");GivePlayerMoney(playerid, -500);wohnwagenan = true;return 1;}else{DestroyVehicle(wtrailer);DestroyDynamicObject(wobj);DestroyDynamicObject(wrope);SendClientMessage(playerid, COLOR_WHITE, "Du hast den Wohnwagen abgekoppelt und zurück gegeben!");wohnwagenan = false;return 1;}}}}
CodeAttachDynamicObjectToVehicle(wrope, wveh, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000); AttachDynamicObjectToVehicle(wrope, wtrailer, 0.0000, 3.4823, -0.2727, 0.00000, 90.00000, 90.00000);
Du machst das wrope Object 1x an deinem Auto an und dann am Trailer.
Denke mal das du wenn du das Objekt am Trailer anmachst somit es vom Auto wieder ablöst.
Kannst also entweder am Auto oder am Trailer anmachen. -
Du findest hier alle Funktionen die du brauchst.
-
ocmd:ban(playerid,params[]){if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");new pID, reason[128],string[555];if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,-1,"Tippe: /ban [id] [grund]");format(string,sizeof(string),"Sie wurden gerade gesperrt da Sie gegen das Regelwerk verstößen haben.\nBitte lesen Sie erneut das Regelwerk damit soetwas nicht erneut passiert.\nWenn Sie denken das die Sperre zu unrecht verhangen wurde melden Sie sich bei dem Ausführendem Admin.\n\nInformationen:\n\nBan-Grund: %s\nAusführerender Admin: %s",reason,PlayerInfo[playerid][pName]);ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"Spielausschluss",string,"Okay","");SetTimerEx("kicktimer",200,false,"d",pID);format(string,sizeof(string),""#error_farbe"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);SendClientMessageToAll(-1,string);PlayerInfo[pID][pBan] = 1;PlayerInfo[pID][pBanadmin] = PlayerInfo[playerid][pName];BanUser(pID, reason);format(string,sizeof(string),"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);Log("BanLog",string);return 1;}
Er ist doch ein String?
stock BanUser(pID, reason){new query[256];gettime(stunde,minuten,sekunde);getdate(jahr,monat,tag);mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);mysql_pquery(handle, query);return 1;}
Da der Grund ein String ist muss der Stock wie folgt sein:
Codestock BanUser(pID, reason[128]) //Hier eine grösse { new query[256]; gettime(stunde,minuten,sekunde); getdate(jahr,monat,tag); mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'", PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde); mysql_pquery(handle, query); return 1; }
-
Er zeigt mir hier:
BanUser(pID, reason);an das etwas fehlt aber ich wüsste nicht das im Stock ist das genauso geschrieben.
C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(159) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
Zeig mal den Kompletten Befehl der den Stock aufruft.
-
Die Fehlercodes waren oben:
Code
Alles anzeigenC:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(92) : warning 219: local variable "query" shadows a variable at a preceding level C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(105) : warning 219: local variable "query" shadows a variable at a preceding level C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(114) : warning 219: local variable "query" shadows a variable at a preceding level C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(159) : error 004: function "BanUser" is not implemented C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(226) : warning 219: local variable "query" shadows a variable at a preceding level C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(426) : error 055: start of function body without function header C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(428) : error 021: symbol already defined: "gettime" C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(433) : error 010: invalid function or declaration C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(452) : warning 203: symbol is never used: "query" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors.
es hat angeblich was mit meinem Stock zutun (selbst erstellt)
stock BanUser(pID, reason);{new query[256];gettime(stunde,minuten,sekunde);getdate(jahr,monat,tag);mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);mysql_pquery(handle, query);return 1;}
Du musst den Strickpunkt wegnehmen nach dem Stocknamen,
Codestock BanUser(pID, reason) { new query[256]; gettime(stunde,minuten,sekunde); getdate(jahr,monat,tag); mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'", PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde); mysql_pquery(handle, query); return 1; }
-
WTF? W T F ?!
Er zeigt in der console die korrekten koordinaten an!
Habe dann mal SetPlayerPos ge-// und SetSpawnInfo benutzt. Plötzlich bin ich gespawnt. Wie kann das sein?! ABER SetPlayerInterior und VirtualWorld funktioniert nicht, denn ich bin in der Luft gespawnt und unsaft geladent^^
Du musst beim laden auch noch die Viruelle Welt aus der Datenbankladen.
Code
Alles anzeigennew pHouseIDquery[128]; format(pHouseIDquery, sizeof(pHouseIDquery), "SELECT * FROM houses"); mysql_function_query(dbhandle, pHouseIDquery, true, "",""); /// ???? new num_fields,num_rows; cache_get_data(num_rows,num_fields,dbhandle); if(!num_rows)return 1; for(new i=0; i<num_rows; i++) { hInfo[i][h_x]=cache_get_field_content_float(i, "h_x", dbhandle); hInfo[i][h_y]=cache_get_field_content_float(i, "h_y", dbhandle); hInfo[i][h_z]=cache_get_field_content_float(i, "h_z", dbhandle); hInfo[i][hi_x]=cache_get_field_content_float(i, "hi_x", dbhandle); hInfo[i][hi_y]=cache_get_field_content_float(i, "hi_y", dbhandle); hInfo[i][hi_z]=cache_get_field_content_float(i, "hi_z", dbhandle); hInfo[i][h_interior]=cache_get_field_content_int(i, "h_interior", dbhandle); //Evtl Anpassen printf("Haus %i geladen.",i); }
//Edit: Korrektur