Du kannst auch einfach die R38 nehmen, einen großen Unterschied macht das definitiv nicht.
Beiträge von dnlk
-
-
- Plattform: UPlay
- Spiel: The Crew
- Link zur Aktion: https://club.ubisoft.com/en-en/ubi30
- Hinweis: /
- Gültig bis: Mitte Oktober (Spiel behält man)
-
Wie soll man dann bitte via SAMP das Passwort so hashen lassen, dass es auch für Wbb passt. Es geht einfach nicht.
Funktioniert nicht mit WBB4, für WBB4 gibt es gerade keine möglichkeit.getSaltedHash(string[],salt[]){
new hash[256];
format(hash, sizeof(hash), "%s%s%s",string,salt,string);
sha1(hash, hash);
format(hash, sizeof(hash), "%s%s%s",hash,salt,hash);
sha1(hash, hash);
return hash;
} -
Die Preise der beiden CPUs sind ja nicht gerade weit voneinander entfernt.
Allerdings musst du dir ein neues Mainboard besorgen wenn du dich für den Intel Prozessor entscheidest.Wenn du genug Geld zur verfügung hast bzw. es kein problem darstellen würde, würde ich an deiner stelle den Intel Prozessor wählen da er einfach von der performance her besser ist.
Wenn es dir allerdings darum geht wo du Billiger mit weg kommst, solltest du den AMD Prozessor wählen (auch wenn er mehr Strom verbraucht).
Ich hab nicht sonderlich viel ahnung von Prozessoren, das ist einfach nur meine meinung.
-
GetPlayerPoolSize gibt die höchste Spieler ID die sich gerade auf dem Server befindet zurück.
-
Bleib bei einem Timer und fang so an:
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i)) continue;
// Dein Code hier
}
Versuch MAX_PLAYERS in Verbindung mit for() zu vermeiden, [wiki]GetPlayerPoolSize[/wiki] ist da deutlich besser geeignet, selbe gilt für MAX_VEHICLES & [wiki]GetVehiclePoolSize[/wiki]Das break; am Ende bricht es übrigens komplett ab, es würde also nur für den Spieler mit der niedrigsten ID funktionieren, also solltest du das auch rausnehmen.
ZitatThe use of many timers will result in increased memory/cpu usage.
Jetzt stell dir mal vor es befinden sich 128 Spieler auf dem Server, und für jeden Spieler wird ein Timer gestartet. Glaubst du dass das eine geringe auswirkung auf die Leistung hat?
Du musst außerdem bedenken dass das Script nur in einem Thread läuft. -
Den einzigen Fehler denn ich da jetzt sehe ist ein fehlendes } für das "if(newstate==PLAYER_STATE_DRIVER)"
-
ResetPlayerMoney(i);
GivePlayerMoney(i, TempMoney[i]);new Float:HP,Float:Armor,Score;
GetPlayerHealth(i, HP);
GetPlayerArmour(i, Armor);Score += floatround(HP);
Score += floatround(Armor);
SetPlayerScore(i, Score); -
@fishy
CMD:veh(playerid,params[])
{
new vid;
if(sscanf(params,"k<vehicle>",vid)) return SendClientMessage(playerid, 0xFFFFFFFF, "/veh <vehicle name / id>");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
new vehicleid = CreateVehicle(vid,X,Y,Z,0.0,-1,-1,-1);
SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid,vehicleid);
return true;
}@[LnD]JustMe.77 Warum so kompliziert wenn's auch einfach geht
-
Danke :P.
Frage: Wie stelle ich ab, dass automatisch der motor an geht wenn man ein Fahrzeug betritt? Möchte jetzt ein /motor system machen
In OnGameModeInit:
ManualVehicleEngineAndLights();
-
Ich würd gern en Steam Key haben
-
Wieso wird bei mir immer nur ein Object erstellt ?
forward LadeBlitzerSystem();public LadeBlitzerSystem(){ new rows, fields, result[128], Blitzerr = 0; cache_get_data(rows, fields); if(rows){ while(Blitzerr < rows){ if(Blitzerr < MAX_BLITZER){ Blitzer[Blitzerr][b_x] = cache_get_field_content_float(0, "x"); Blitzer[Blitzerr][b_y] = cache_get_field_content_float(0, "y"); Blitzer[Blitzerr][b_z] = cache_get_field_content_float(0, "z"); Blitzer[Blitzerr][b_a] = cache_get_field_content_float(0, "a"); Blitzer[Blitzerr][b_gesch] = cache_get_field_content_int(0, "geschwindigkeit"); cache_get_field_content(0, "position", result); format(Blitzer[Blitzerr][b_ort], 100, "%s", result); if(Blitzer[Blitzerr][b_x] != 0.0){ Blitzer[Blitzerr][b_erstellt] = 1; Blitzer[Blitzerr][b_obj] = CreateDynamicObject(18880,Blitzer[Blitzerr][b_x],Blitzer[Blitzerr][b_y],Blitzer[Blitzerr][b_z]-2.0,0.0,0.0,Blitzer[Blitzerr][b_a]+180); } Blitzerr++; } } } printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows); return 1;}
So müsste es funktionieren.forward LadeBlitzerSystem();
public LadeBlitzerSystem(){
new rows, fields, result[128];
cache_get_data(rows, fields);
if(rows)
{
for(new rowid = 0; rowid < rows; rowid++)
{
if(rowid >= MAX_BLITZER)
break;
Blitzer[rowid][b_x] = cache_get_field_content_float(rowid, "x");
Blitzer[rowid][b_y] = cache_get_field_content_float(rowid, "y");
Blitzer[rowid][b_z] = cache_get_field_content_float(rowid, "z");
Blitzer[rowid][b_a] = cache_get_field_content_float(rowid, "a");
Blitzer[rowid][b_gesch] = cache_get_field_content_int(rowid, "geschwindigkeit");
cache_get_field_content(rowid, "position", result);
format(Blitzer[rowid][b_ort], 100, "%s", result);
if(Blitzer[rowid][b_x] != 0.0)
{
Blitzer[rowid][b_erstellt] = 1;
Blitzer[rowid][b_obj] = CreateDynamicObject(18880,Blitzer[rowid][b_x],Blitzer[rowid][b_y],Blitzer[rowid][b_z]-2.0,0.0,0.0,Blitzer[rowid][b_a]+180);
}
}
}
printf("[BLITZERSYSTEM] Es wurden %d Blitzer geladen.", rows);
return 1;
} -
Hallo, ich habe meine ältere MySQL Version auf die aktuellste Version aktualisiert und habe nun ein Problem.
stock DB_Check_Charakter(playerid,charid) //DB_Check_Charakter(playerid,charid){new AccountID = DB_GetAccountID(playerid);printf("AccountID: %d",AccountID);new dbstring[256];format(dbstring, sizeof(dbstring), "SELECT ID FROM `"CHARAKTERTABLE"` WHERE AccountID = '%d' AND CHAR = '%d'", AccountID,charid);mysql_query(DB_Main,dbstring,true);new num_rows, num_fields;cache_get_data(num_rows, num_fields);printf(dbstring);printf("DB_Check_Charakter: %d | %d",num_rows,num_fields);if(num_rows == 1){return true;} else {return false;}}
Er gibt hier immer nur 0 zurück obwohl die Abfrage laut Print stimmt auch die ID etc.
Mit der älteren Version ging es auf der altmodischen Art.Hier die Print´s:
Code[21:08:00] AccountID: 8 [21:08:00] SELECT ID FROM `charakter` WHERE AccountID = '8' AND CHAR = '1' [21:08:00] DB_Check_Charakter: 0 | 0
Der DB Ausschnitt:
====================================================
Anmerkung:
Bei der neueren Version hat er mir ständig den Fehler angezeigt:Code....\a_mysql.inc(228) : error 017: undefined symbol "AMX_GetRelativeAddress" ....\a_mysql.inc(231) : error 017: undefined symbol "Callback_Array"
Diese habe ich aber ausgeklammert.
Ich empfehle dir mysql_pquery zu benutzen [wiki]MySQL/R33#mysql_pquery[/wiki]
Falls du jedoch weiterhin mysql_query benutzen willst, versuch mal
format(dbstring, sizeof(dbstring), "SELECT ID FROM `"CHARAKTERTABLE"` WHERE AccountID = '%d' AND CHAR = '%d'", AccountID,charid);
new Cache:Result = mysql_query(DB_Main,dbstring,true);
new num_rows, num_fields;
cache_get_data(num_rows, num_fields);
printf(dbstring);
printf("DB_Check_Charakter: %d | %d",num_rows,num_fields);
cache_delete(Result); -
Alles klar danke, das habe ich nicht gewusst. Hat das trotzdem was mit dem ' vor und nach dem %d ?
Hab meinen Post editiert.
Zitat von Ich selber?Und das mit dem " bei %d ist irrelevant, funktioniert sowohl mit als auch ohne, macht keinen Unterschied.
-
Vor dem WHERE .... muss das Komma weg
Und das mit dem " bei %d ist irrelevant, funktioniert sowohl mit als auch ohne, macht keinen Unterschied.
-
Welchen denn genau? Davon steht ja nichts in der Log.
Eventuell die hier?format(Query,sizeof(Query),"UPDATE `players` SET Admin = %d, Level = %d, Kills = %d, Deaths = %d, Ratio = '%f', Weed = %d, Exp = %d, MExp = %d, Banned = %d, Skin = %d, Color = %d, Weather = %d, Time = %d, AL = %d, ReceivedBonus = %d, DoubleEXP = %d, WHERE Name = '%s'",
Codeformat(Query,sizeof(Query),"UPDATE `players` SET Admin = %d, Level = %d, Kills = %d, Deaths = %d, Ratio = '%f', Weed = %d, Exp = %d, MExp = %d, Banned = %d, Skin = %d, Color = %d, Weather = %d, Time = %d, AL = %d, ReceivedBonus = %d, DoubleEXP = %d WHERE Name = '%s'",
Der Fehler ist das Komma nach DoubleEXP = %d
-
-
Infra ft. Tx! - Undiscovered Island
Ist zwar schon ein wenig älter aber Ich hab's nie hier geposted, also wird das jetzt nachgeholt..
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
Ne, der Befehl soll auch nicht verfügbar sein während man Fahrer/Beifahrer ist, trotzdem danke
Edit:
Habe ein weiteres kleines Problem, hoffe ihr könnt mir behilflich sein. Mit folgendem Befehl gebe ich Spielern eine bestimmte Waffe, benutze ich anstatt den Waffen Namen die ID (beispielsweise 24), taucht folgendes in der ServerLog auf.
sscanf warning: Format specifier does not match parameter count.
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at negative index -1
[debug] AMX backtrace:
[debug] #0 0009e8d8 in GetWeaponNameById (weaponid=-1) at C:\Users\David\Desktop\LnD\gamemodes\main.pwn:6446
[debug]
#1 0008c31c in public cmd_givegun (playerid=0, params[]=@00dc5d54 "0
24") at C:\Users\David\Desktop\LnD\gamemodes\main.pwn:4886
[debug] #2 native CallLocalFunction () from samp-server.exe
[debug]
#3 000238c0 in public OnPlayerCommandText (playerid=0,
cmdtext[]=@00dc5d1c "/givegun 0 24") at
C:\Users\David\Desktop\LnD\pawno\include\zcmd.inc:110CMD:givegun(playerid, params[]) { new playerID, gun[24], cQuery[144]; if(pData[playerid][P_Admin] < 5) return SendClientMessage(playerid, COLOR_RED, LV_Fail); if(sscanf(params,"us[24]", playerID, gun)) return SendClientMessage(playerid, COLOR_RED, "Use: /givegun <player> <weapon name>"); GivePlayerWeapon(playerID, GetWeaponIdByName(gun), 999); new weapname = GetWeaponIdByName(gun); if(IsSilent[playerid] == false) { format(cQuery, sizeof(cQuery), "{%06x}%s gave you a weapon (%s)", GetPlayerColor(playerid) >>> 8, GetName(playerid), GetWeaponNameById(weapname)); SendClientMessage(playerID, -1, cQuery); } return 1;}
Sofern du sscanf2 benutzt kannst du k<weapon> benutzen, macht's einfacher
Code
Alles anzeigenCMD:givegun(playerid, params[]) { new playerID,weaponid,cQuery[144]; if(pData[playerid][P_Admin] < 5) return SendClientMessage(playerid, COLOR_RED, LV_Fail); if(sscanf(params,"uk<weapon>",playerID,weaponid)) return SendClientMessage(playerid,COLOR_RED,"Use: /givegun <player> <weapon name>"); GivePlayerWeapon(playerID,weaponid,999); if(IsSilent[playerid] == false) { format(cQuery, sizeof(cQuery),"{%06x}%s gave you a weapon (%s)",GetPlayerColor(playerid) >>> 8,GetName(playerid),GetWeaponNameById(weaponid)); SendClientMessage(playerID,-1,cQuery); } return 1; }
-
Alles klar, verwende dann PLAYER_STATE_ONFOOT, danke dir
Mach es lieber so: