Das müsste so gehen, einfach forwarden.
Beiträge von dnlk
-
-
Danke..
Codestock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) //45508 { return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1, x2), 2)), floatsqroot(floatpower(floatsub(y1, y2), 2))), floatsqroot(floatpower(floatsub(z1, z2), 2))); }
Code
Alles anzeigenstock IsPlayerInWater(playerid) { new Float:pos[3], an = GetPlayerAnimationIndex(playerid); GetPlayerPos(playerid, pos[0], pos[1], pos[2]); if((1544 >= an >= 1538 || an == 1062 || an == 1250) && (pos[2] <= 0 || (pos[2] <= 41.0 && IsPlayerInZone(playerid, -1387.0, -473.0, 2025.0, 2824.0))) || (1544 >= an >= 1538 || an == 1062 || an == 1250) && (pos[2] <= 2 || (pos[2] <= 39.0 && IsPlayerInZone(playerid, -1387.0, -473.0, 2025.0, 2824.0)))) { return 1; } return 0; }
bei den beiden bleibt es gleich
Zeig mal die IsPlayerInZone funktion.
Und hast du GetDistanceBetweenPoints geforwarded?
forward Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2);
-
C
Alles anzeigenstock IsPlayerInWater(playerid) { new Float:X,Float:Y,Float:Z,an = GetPlayerAnimationIndex(playerid); GetPlayerPos(playerid,X,Y,Z); if((1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 0 || (Z <= 41.0 && IsPlayerInZone(playerid, -1387,-473, 2025,2824))) || (1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 2 || (Z <= 39.0 && IsPlayerInZone(playerid, -1387,-473,2025,2824)))) //45518 { return 1; } return 0; }
Cstock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) //45508 { return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1, x2), 2)), floatsqroot(floatpower(floatsub(y1, y2), 2))), floatsqroot(floatpower(floatsub(z1, z2), 2))); }
Cpublic BurningTimer(playerid) { if(PlayerOnFire[playerid] == 1) { SetPlayerHealth(playerid, GetPlayerHealth(playerid)-1); //45277 return 1; } return KillTimer(PlayerOnFireTimer[playerid]), KillTimer(PlayerOnFireTimer2[playerid]); }
C:\Users\User\Desktop\Script\gamemodes\German.pwn(45508) : warning 208: function with tag result used before definition, forcing reparseC:\Users\User\Desktop\ Script\gamemodes\German.pwn(45277) : warning 202: number of arguments does not match definitionC:\Users\User\Desktop\ Script\gamemodes\German.pwn(45518) : error 035: argument type mismatch (argument 2)
Hey,
Ich finde den fehler nicht kann mir einer sagen woran es liegt?
if((1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 0 || (Z <= 41.0 && IsPlayerInZone(playerid, -1387.0,-473.0, 2025.0,2824.0))) ||
(1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 2 || (Z <= 39.0 && IsPlayerInZone(playerid, -1387.0,-473.0,2025.0,2824.0))))
Hier hast du der funktion IsPlayerInZone Intergers anstatt Floats gegeben.SetPlayerHealth(playerid, GetPlayerHealth(playerid)-1); //45277
Hier nutzt du GetPlayerHealth falsch.
new Float:Health;
GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Health -1.0);Und die funktion Float:GetDistanceBetweenPoints kannst du entweder forwarden (oben im Skript) oder nach oben schieben
-
Wie kann ich aus einem Timer auslesen, wieviel Minuten er noch beträgt?
Du könntest höchstens beim Starten des Timers eine Globale Variable auf GetTickCount() + den Interval vom Timer setzen (bei einem Timer der sich wiederholt natürlich auch wenn er ausgeführt wurde), Die Variable - GetTickCount() wäre dann die Zeit in ms bis der Timer ausgeführt wird.
-
-
Hey,
Kurze frage lade meine Objecte per Filterscript.. weiß nicht ob das so schlau ist...
Aber wen der Server neu startet sind die Gebäude immer weg und muss die Filterscripts neu laden weiß jemand eine andere Lösung?Ein gmx lädt die filterscripts nicht neu.
Ich gehe mal davon aus dass du im Filterscript OnFilterScriptInit verwendest, änder das doch mal in OnGameModeInit. -
Hab deinen Code etwas falsch verstanden,
Nimm in der AdminList funktion das if (!IsPlayerConnected(pID)) continue; wieder raus.
Ersetz bei GetPlayerStatus das if(SpielerDaten[playerid][player_Eingeloggt]) mit if (IsPlayerConnected(playerid) && SpielerDaten[playerid][player_Eingeloggt])
-
Ich gehe mal davon aus dass du sscanf geladen hast,
Probier das mal mit diesem Code:GetPlayerIdFromName(const pName[])
{
new playerid = INVALID_PLAYER_ID;
sscanf(pName, "u", playerid);
return playerid;
} -
Zeig mal die GetPlayerIdFromName funktion
-
Code
Alles anzeigenpublic AdminList(playerid) { new string[1000],header[1001],adminrang,name[MAX_PLAYER_NAME],pID; new rows; cache_get_row_count(rows); for(new i=0;i<rows;i++) { cache_get_value_name_int(i,"Admin",adminrang); cache_get_value_name(i,"Name",name,255); pID = GetPlayerIdFromName(name); if(adminrang > 2 && adminrang < 8) { format(string, sizeof(string), "%s\n%s\t%s\t%s",string, GetAdminName(adminrang), name, GetPlayerStatus(pID)); format(header,sizeof(header),"Rang\tName\tOnlinestatus\n%s",string); print(header); } } ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_TABLIST_HEADERS, "{FF0000}Austrian Roleplay {FFFFFF}- Team",header,"Abbrechen",""); return 1; }
Code
Alles anzeigenstock GetPlayerStatus(playerid) { new string[500]; if(SpielerDaten[playerid][player_Eingeloggt]) { if(IsPlayerAFK(playerid)) { format(string, 32, "{FF0048}AFK"); return string;} if(SpielerDaten[playerid][player_AdminDienst]) { format(string, 32, "Im Dienst"); return string; } format(string, 32, "{40FF00}Online"); return string; } else { format(string,32,"{FF0000}Offline"); return string; } }
Momentan wirft das Script folgende Errors:
[17:52:47] [debug] Run time error 4: "Array index out of bounds"
[17:52:47] [debug] Attempted to read/write array element at index 65535 in array of size 1000
[17:52:47] [debug] AMX backtrace:
[17:52:47] [debug] #0 0000e944 in ?? (65535) in arp.amx
[17:52:47] [debug] #1 000108c0 in public AdminList (0) in arp.amxEdit: Hab mal mit -d3 compiled, jetzt komt folgendes
[18:50:11] [debug] Run time error 4: "Array index out of bounds"
[18:50:11] [debug] Attempted to read/write array element at index 65535 in array of size 1000
[18:50:11] [debug] AMX backtrace:
[18:50:11] [debug] #0 00011d10 in GetPlayerStatus (playerid=65535) at C:\Users\Alexander\Documents\meinserver\ARP2.0\pawno\include\../include/core/stocks.inc:671
[18:50:11] [debug] #1 0001455c in public AdminList (playerid=0) at C:\Users\Alexander\Documents\meinserver\ARP2.0\pawno\include\../include/core/daten.inc:160pID = GetPlayerIdFromName(name);
Gibt 65535 (INVALID_PLAYER_ID) zurück wenn der Spieler nicht online ist.
Nach sowas solltest du immer mit IsPlayerConnected überprüfen ob die zurückgegebene ID überhaupt online ist.Also:
pID = GetPlayerIdFromName(name);
if (!IsPlayerConnected(pID)) continue; -
OnVehicleDamageStatusUpdate bezieht sich ausschließlich auf Visuellen Schaden.
Du brauchst OnPlayerWeaponShot, dadurch kriegst du die Fahrzeug ID die Angeschossen wird.
-
-
Die Maps laden viel besser, sehen schöner aus, es gibt Ghosting, das Hunter Fighten am Ende läuft besser ab, uvm.
Abgesehen davon dass es Server seitig ist, ist das Map Streaming in SA-MP besser (besonders mit 0.3-DL)
Das mit dem schöner aussehen hab ich oben ja schon erwähnt, ist mit 0.3-DL ganz einfach machbar.
No Collision Mode gibt es in SA-MP auch.
Bei den Hunter Fights muss ich dir allerdings recht geben. -
MTA wurde auch gerade für gefühlt Modifikationen jeglicher Art programmiert, SAMP nicht.Auch läuft das Spiel um einiges flüssiger, Cheaten ist ohne überragende Fachkenntnisse kaum möglich (kenne nur eine Person die weiß wie man alle Sicherheitslücken dieses Clients findet).
Es macht viel mehr Sinn auf MTA umzusteigen, warum erklärt das angefügte Video von meiner Lieblingsmap wohl am besten, natürlich auch weil die Server gegen Abend um einiges voller sind und dadurch man wenigstens noch etwas Spaß hat.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.Keine Chance, dass man so eine geile Map für SAMP umscripten kann. Die ist einfach klasse.
Ich kann dir versichern dass diese map (mit ein paar ausnahmen) fast genau gleich aussehen wird in SA-MP.
Diese paar ausnahmen wären mit 0.3-DL dann aber auch schonwieder vergessen. Da würde die map sehr, sehr identisch aussehen.
-
Verstehe das noch nicht so ganz. Dann muss ich dennoch in den Hauptgamemode unter OnGameModeInit Code schreiben, oder?
Zumindest ist das mein Output.
//For more info on ALS Hooking check//http://forum.sa-mp.com/showthread.php?t=85907//--------------OnGameModeInit Hook-------------------public OnGameModeInit(){//your OnGameModeInit pre code here//function hook checksif (funcidx("mysql_OnGameModeInit") != -1){return CallLocalFunction("mysql_OnGameModeInit", "");}//your OnGameModeInit post code herereturn 1;}#if defined _ALS_OnGameModeInit#undef OnGameModeInit#else#define _ALS_OnGameModeInit#endif#define OnGameModeInit mysql_OnGameModeInitforward mysql_OnGameModeInit();Nimm lieber y_hooks.
https://github.com/pawn-lang/YSI
-
Ich habe selber nur einen Screen erhalten, wo stand das 0.3dl höchst wahrscheinlich vom System entfernt wird.
Dann zeig uns den doch mal.
-
Ich glaube du hast das prinzip von Salt nicht so ganz verstanden.
Probier es mal so:
// Registrieren
new salt[64], hash[64 + 1];
for(new i = 0; i < sizeof(salt); i++)
salt[i] = random(2) ? (random(26) + (random(2) ? 'a' : 'A')) : (random(10) + '0');
SHA256_PassHash(registerpw, salt, hash, sizeof(hash));
// -- Variablen hash & salt in Datenbank speichern// Login
// -- Variablen hash & salt aus Datenbank holen
new hash[64 + 1];
SHA256_PassHash(inputtext, SALT_AUS_DATENBANK, hash, sizeof(hash));
if (!strcmp(hash, HASH_AUS_DATENBANK))
{
// Erfolgreicher Login
} -
Ohne Code können wir dir nicht Helfen..
Ich blicke da jetzt nicht so ganz durch, du Hash't den input vom Spieler und dadurch holst du dir den passenden Salt? Wie soll das denn funktionieren?
-
@JacLos
if(vInfo[i][classcar] == 2)
{
if(PlayerInfo[playerid][FracID] == 3)
SCM(playerid, COLOR_LIGHTBLUE, "You entered a SWAT Vehicle");
else
{
SCM(playerid, COLOR_LIGHTBLUE, "This Car is used by the SWAT Team you can't drive it!");
TogglePlayerControllable(playerid, false);
TogglePlayerControllable(playerid, true);
}
return 1;
}
else if(vInfo[i][classcar] == 3)
{
if (PlayerInfo[playerid][FracID] == 4)
SCM(playerid, 0xFF7800FF, "You entered a A.R.M.Y Vehicle");
else
{
SCM(playerid, 0xFF7800FF, "This Car is used by the US A.R.M.Y you can't drive it!");
TogglePlayerControllable(playerid, false);
TogglePlayerControllable(playerid, true);
}
return 1;
} -
OnPlayerSave auch bitte.