und wie spiel ich es dann ab?
also bei Dropbox
Über den direkten Link:
http://www.heise.de/ct/hotline…ropbox-Datei-2065203.html
und wie spiel ich es dann ab?
also bei Dropbox
Über den direkten Link:
http://www.heise.de/ct/hotline…ropbox-Datei-2065203.html
Irgendein Spieler @Jeffry.
stock IsAnyPlayerInRangeOfPlayer(playerid, Float:range)
{
if(!IsPlayerConnected(playerid)) return 0;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i) || i == playerid) continue;
if(IsPlayerInRangeOfPoint(i, range, x, y, z)) return 1;
}
return 0;
}
Dann kannst du es so nutzen:
if(IsAnyPlayerInRangeOfPlayer(playerid, 5.0))
{
SendClientMessage(playerid, 0xFF0000FF, "Error: Dir ist jemand zu nahe.");
return 1;
}
Weil wenn ich GivePlayerMoney(playerid,-500); mache dann kann ich ja nicht
sInfo[playerid][Money] += money machen
Doch, das klappt, da mathematisch ein +- zu - wird.
Beispiel:
5 +- 3 = 2
Kann ich jetze ganz einfach GivePlayerMoney(playerid,500) machen ?
Ja, und ausgeführt wird dann der Code, der in my_GivePlayerMoney steht.
Und wird dort auch + bzw - Geld erkannt ?
Ja, es funktioniert alles gleich wie bei GivePlayerMoney. Die Funktion wird gehookt.
(Siehe Post drüber)
Mit welcher Funktion kann ich nachprüfen ob ein Spieler z.B. in meiner Nähe ist (5m) ?
Ein bestimmter Spieler, oder irgendein Spieler, der in der Nähe ist?
Lies dir bitte diesen Thread genau durch und beachte diese Punkte in Zukunft beim Posten in der Scripting Base:
Tipps: Scripting-Probleme richtig erklären
Danke!
Zum Problem:
Poste die Errors bitte.
Was habe ich falsch gemacht?
Setze ein return 1; nach die Error Nachricht.
Kann ich jetze ganz einfach GivePlayerMoney(playerid,500) machen ?
Ja, und ausgeführt wird dann der Code, der in my_GivePlayerMoney steht.
Und wird dort auch + bzw - Geld erkannt ?
Ja, es funktioniert alles gleich wie bei GivePlayerMoney. Die Funktion wird gehookt.
Hey wie kann ich die GivePlayerMoney selber machen sprich das ich die normale funktion Raus nehme und mir selber eine schreibe ?
Unter den Includes oder in eine Include:
stock my_GivePlayerMoney(playerid, money)
{
//Code hier
return 1;
}
#if defined _ALS_GivePlayerMoney
#undef GivePlayerMoney
#else
#define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney my_GivePlayerMoney
wo kann ich musik Hochladen und über dem SA-MP server abspielen?
Auf einem Webhost, oder zum Beispiel in Dropbox.
Versuche es so:
if(IsPlayerAdmin(playerid))
{
if(PlayerInfo[playerid][ALevel] == 0) return MeldungText(playerid, "Du bist kein Admin!", 5);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return MeldungText(playerid, "Benutze: /newbiz [Kosten] [Name]", 6);
new preis = strval(tmp), len = strlen(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return MeldungText(playerid, "Benutze: /newbiz [Kosten] [Name]", 6);
ladebize++;
new Float:spx, Float:spy, Float:spz;
GetPlayerPos(playerid, spx, spy,spz);
new sql[256];
mysql_real_escape_string(cmdtext[len+9],sql);
format(sql, sizeof(sql), "INSERT INTO biz (id,name,besitzer,x,y,z,kostet) VALUES (%d,'%s','Niemand',%f,%f,%f,%d)",ladebize,sql,spx,spy,spz,preis);
mysql_query(sql);
SendClientMessage(playerid, 0xFFFFFFFF, "Biz wurde erstellt.");
}
return 1;
}
Hast du in deinem Gamemode die main Funktion?
Wenn nicht, füge das hier zum Gamemode hinzu:
main() { }
Ansonsten, falls du eine veraltete Version vom crashdetect Plugin nutzt, lade dir die aktuelle Version herunter, aus dem Link den ich oben gepostet habe.
Die Fehlermeldungen werden dir im Server Log ausgegeben.
Die brauchst du nicht.
Es reicht, wenn du das Plugin bei plugins einfügst und in der Server.cfg einträgst.
Lade dir das crashdetect Plugin herunter und füge es in deinen Server ein. Dann poste was im Server Log steht, wenn du den Server startest.
http://forum.sa-mp.com/showthread.php?t=262796
Dann sagt er mir auch das folgende Funktion die ich gemacht habe nicht gibt:
samplernen.p(1570) : warning 203: symbol is never used: "SetPlayerMoney"
Das heißt nur, dass du die Funktion nirgends verwendest.
Wenn du die Warnung entfernen willst, dann setze vor das SetPlayerMoney - bei der Funktion - ein "stock" hin.
stock SetPlayerMoney(playerid,money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,money);
return 1;
}
Versuche es so:
Unter den Includes (ganz oben) nur das hier:
new taxvalue;
Und den PaydayInit so:
@PaydayInit(playerid);
@PaydayInit(playerid)
{
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][pPayseconds]++;
if(PlayerInfo[playerid][pPayseconds] >= 60)
{
PlayerInfo[playerid][pPayseconds] = 0;
PlayerInfo[playerid][pPayminutes]++;
if(PlayerInfo[playerid][pPayminutes] >= 60)
{
new kassenstring[128];
new lohnsteuer = PlayerInfo[playerid][pPaycheck] * taxvalue / 100;
new gehalt = PlayerInfo[playerid][pPaycheck] - lohnsteuer;
PlayerInfo[playerid][pPayminutes] = 0;
PlayerInfo[playerid][pBank] += gehalt;
SendClientMessage(playerid, COLOR_WHITE, "==========================");
SendClientMessage(playerid, COLOR_WHITE, "Kontoauszug");
format(kassenstring, sizeof(kassenstring), "Lohnüberweisung +%d", PlayerInfo[playerid][pPaycheck]);
SendClientMessage(playerid, COLOR_WHITE, kassenstring);
format(kassenstring, sizeof(kassenstring), "Lohnsteuer -%d", lohnsteuer);
SendClientMessage(playerid, COLOR_WHITE, kassenstring);
/*if(PlayerInfo[playerid][pRented] == 1)
{
format(kassenstring, sizeof(kassenstring), "Miete -%d", pRentBill);
SendClientMessage(playerid, COLOR_WHITE, kassenstring);
}*/
format(kassenstring, sizeof(kassenstring), "Summe +%d", gehalt);
SendClientMessage(playerid, COLOR_WHITE, kassenstring);
SendClientMessage(playerid, COLOR_WHITE, "==========================");
GameTextForPlayer(playerid, "PAYDAY", 1000, 0);
format(kassenstring, sizeof(kassenstring), "UPDATE staat SET kasse = kasse + %d WHERE id = 1", lohnsteuer);
mysql_pquery(handle, kassenstring);
}
}
}
}
Erstellst du alle Objekte mit CreateDynamicObject? Wenn nicht, dann mache das.
Versuche es mal so:
Unter den Includes:
new Text:KillCounter[4];
new oneKills[MAX_PLAYERS];
Unter OnGameModeInit (entsprechend deinem Design auffüllen):
KillCounter[0] = TextDrawCreate(...);
//...
KillCounter[1] = TextDrawCreate(...);
//...
KillCounter[2] = TextDrawCreate(...);
//...
KillCounter[3] = TextDrawCreate(...);
//...
Unter OnPlayerDeath:
for(new i = 0; i < sizeof(one[]); i++)
{
if(one[playerid][i] == 1)
{
new str[64], name[MAX_PLAYER_NAME];
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(!IsPlayerConnected(p)) continue;
if(one[p][i] == 1)
{
if(p != playerid) oneKills[p]++;
GetPlayerName(p, name, MAX_PLAYER_NAME);
format(str, sizeof(str), "%s%s: %d ", str, name, oneKills[p]);
TextDrawShowForPlayer(p, KillCounter[i]);
}
TextDrawSetString(KillCounter[i], str);
}
break;
}
}
Beim Start:
new str[64], name[MAX_PLAYER_NAME];
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(!IsPlayerConnected(p)) continue;
if(one[p][listitem] == 1)
{
oneKills[p] = 0;
GetPlayerName(p, name, MAX_PLAYER_NAME);
format(str, sizeof(str), "%s%s: %d ", str, name, oneKills[p]);
TextDrawShowForPlayer(p, KillCounter[i]);
}
TextDrawSetString(KillCounter[i], str);
}
Beim Beenden:
for(new i = 0; i < sizeof(one[]); i++)
{
if(one[playerid][i] == 1)
{
for(new p = 0; p < MAX_PLAYERS; p++)
{
if(!IsPlayerConnected(p)) continue;
if(one[p][i] == 1)
{
one[p][i] = 0;
TextDrawHideForPlayer(p, KillCounter[i]);
}
TextDrawSetString(KillCounter[i], "_");
}
break;
}
}
cache_get_field_content(0, "
jeweils zu:
cache_get_field_content(i, "
Den aktuellen Streamer findest du hier:
https://github.com/samp-incogn…er-plugin/releases/latest
Du benötigst diesesdieses MySQL Plugin:
http://forum.sa-mp.com/showthread.php?t=122983&page=101
Lade es dir dort herunter, und nutze dies, anstatt dem anderen.
Lade dir das crashdetect Plugin herunter und füge es in deinen Server ein. Dann poste was im Server Log steht, wenn du den Server startest.
http://forum.sa-mp.com/showthread.php?t=262796