Nutze es mal seltenst - aber dann auch nur icq2go.
Chatte sowieso nicht viel sondern hänge viel auf Teamspeaks rum
Beiträge von Target Zeus
-
-
Und wenn ich mich nicht irre musst du neuerdings wegen eines Buggs (glaube ich) verzögern das der Spieler gekickt wird.
meine Lösung :D beim kicken
forward KickEx(playerid);
public KickEx(playerid)
{
if(GetPVarInt(playerid,"GetKick") == 1) {
Kick(playerid);
}
else {
SetPVarInt(playerid,"GetKick",1);
SetTimerEx("KickEx",2500,0,"i",playerid);
}
return 1;
}
-
Meine Preisvorstellung liegt bei ~ 25€.
//edit: *push* nach über einer Woche!
Suche immer noch...
Bezogen aufs Rote: Die hat 50€ original gekostet & gibts nicht mehr zu kaufen.
Daher auch nutzloser Push denke ich mal..Wbb4 kostet 80€, Update auf diese 40€...
wollte dir nur mal so schildern warum es verdammt unwarscheinlich ist das du für den Preis eine Lizenz kriegst. -
Das GnE Script hat kein Dynamisches Haussystem.
Sprich du musst die Häuser manuell löschen oder erstellen.
Das wiederum heißt in der Datei löschen / erstellen. Damit das hier nicht missverstanden wird. -
-
Andere Frage: Hast du bereits ein Tacho? Wenn ja kannst du es dir damit einfacher machen.
-
Die Funktion ist doch falsch, du fragst ab ob der spieler sich in der nähe vom tor befindet..,
wenn positiv bekommt es eine errormessage gesendet.
Daher:
if(IsPlayerInRangeOfPoint(parameter))
zu
if(!IsPlayerInRangeOfPoint(parameter))
umändern und es sollte funktionieren.~ Handy
Vergessen hinzuzufügen, einfach seine Zeile kopiert -
if(strcmp(cmd,"/armytor",true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, -1530.18591, 482.45969, 7.73240)) return SendClientMessage(playerid,0xFFFFFFFF,"Du bist nicht in der nähe des Tores!");
if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
MoveObject(MVTor4, -1530.18591, 482.45969, 4.29384, 3.0);
SetTimer("CloseMVTor4", 5000, 0);
SendClientMessage(playerid, 0xFFFFFFFF,"Das Army Tor wurde geöffnet");
}
else SendClientMessage(playerid, COLOR_RED, "Du bist kein Army Mitglied!");
return 1;
}Wenn das nicht geht, dann sag WAS genau nicht funktioniert klaro?
-
Füge es richtig ein.. ( kopien zu "hier einfügen" )
dann machst du das return noch innerhalb der Klammer die zu dem IsPlayerInRangeOfPoint gehört und es funktioniert nur in der Reichweite.
if(strcmp(cmd,"/armytor",true) == 0)
{
//<<<<< hier einfügen
if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
MoveObject(MVTor4, -1530.18591, 482.45969, 4.29384, 3.0);
SetTimer("CloseMVTor4", 5000, 0);
SendClientMessage(playerid, 0xFFFFFFFF,"Das Army Tor wurde geöffnet");
}
else SendClientMessage(playerid, COLOR_RED, "Du bist kein Army Mitglied!");
return 1;
}
//==================================================================================//
if(!strcmp("/armytor",cmdtext,true))
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, -1530.18591, 482.45969, 7.73240)) // <<<< kopieren
{ // <<<< kopieren
SendClientMessage(playerid,0xFFFFFFFF,"Du bist nicht in der nähe des Tores!"); // <<<< kopieren
} <<<< kopieren
return 1;
} -
Direktere Infos bitte, was funktioniert daran nicht? Und eventuell solltest du mal bei jedem updateHaus auch nochmal dir ne Nachricht senden lassen.
Dann siehst du ob er den Befehl komplett ausführt -
Wenn der Spieler das Angebot annimmt, setzt du die Werte vom "/carsell" befehle für den der es annimmt und danach nimmst du dem vorherigen Besitzer das Fahrzeug weg - über den Inhalt des /carsell Befehls.
Einfach formuliert.. genau ausarbeiten werde ich es nicht weil ich einfach keinen nerv mehr habe um die Uhrzeit -
Sofern es nicht an sscanf liegt.. habe mal den Befehl neu angeordnet möglicherweise funktioniert es damit... ( die returns rausgenommmen und umgestellt den Code )
ocmd:arrest(playerid,params[])
{
new pID;
if(IsPlayerConnected(playerid))
{
if(SpielerInfo[playerid][sMember] == 1 || SpielerInfo[playerid][sMember] == 2)
{
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"{19FF00}Verwende: {0041FF}/Arrest [SpielerID/Name]");
new name[MAX_PLAYER_NAME];
GetPlayerName(pID, name, sizeof(name));new pstring[512];
printf("Polizist %s versucht pID: %d einzusperren! Wanted-Level: %d", GetName(playerid), pID, SpielerInfo[pID][pWanted]);new string[512];
if(SpielerInfo[pID][pWanted] > 0)
{
new time;
time = SpielerInfo[pID][pWanted]*ServerSettings[ArrestTime];
SpielerInfo[pID][pJailTime]=time;
SpielerInfo[pID][pJailed]=1;
SetPlayerPos(pID,198.4943,162.0886,1003.0300);
SetPlayerInterior(pID,3);
format(string, sizeof(string), "Du wurdest von %s eingesperrt!", GetName(playerid));
SendClientMessage(pID, COLOR_DARKRED, string);
SetTimerEx("JailTime", 1000, 0, "d", pID);
SpielerInfo[pID][pWanted]=0;
if(SpielerInfo[playerid][sMember] == 1)
{
format(string, sizeof(string), "> LS-Polizeibeamter %s hat den Verbrecher %s eingesperrt <", GetName(playerid), name);
SendClientMessageToAll(COLOR_DARKRED, string);
}
else if(SpielerInfo[playerid][sMember] == 2)
{
format(string, sizeof(string), "> SEK-Agent %s hat den Verbrecher %s eingesperrt <", GetName(playerid), name);
SendClientMessageToAll(COLOR_DARKRED, string);
}
}
else {
SendClientMessage(playerid, COLOR_RED, "Der ausgewählte Spieler hat keinen Wanted Level!");
}
}
else {
SendClientMessage(playerid, COLOR_RED, "Du bist kein LSPD/SEK Beamter!");
}
}
return 1;
}forward JailTime(playerid);
public JailTime(playerid)
{
if(IsPlayerConnected(playerid))
{
if(SpielerInfo[playerid][pJailed] == 1)
{
if(SpielerInfo[playerid][pJailTime] > 0)
{
SpielerInfo[playerid][pJailTime]=SpielerInfo[playerid][pJailTime]-1;
SetTimerEx("JailTime", 1000, 0, "d", playerid);
SpielerInfo[playerid][pWanted]=0;
return 1;
}
else {
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1555.2781, -1675.5569, 16.1953);
SetPlayerFacingAngle(playerid, 90.6666);
SetCameraBehindPlayer(playerid);
SpielerInfo[playerid][pJailed]=0;
SpielerInfo[playerid][pJailTime]=0;
new string[512];
format(string, sizeof(string), "~g~Freiheit!~n~~g~Benimm dich das nächste Mal");
GameTextForPlayer(playerid, string, 2500, 1);
return 1;
}
}
}
return 1;
} -
if(strcmp(cmd, "/createhouse", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 5)
{
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if(HouseInfo[i][hExists] != 1) {
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
HouseInfo[i][hEntrancex] = x;
HouseInfo[i][hEntrancey] = y;
HouseInfo[i][hEntrancez] = z;
HouseInfo[i][hExitx] = 446.1000;
HouseInfo[i][hExity] = 507.9000;
HouseInfo[i][hExitz] = 1001.4195;
HouseInfo[i][hHealthx] = 0;
HouseInfo[i][hHealthy] = 0;
HouseInfo[i][hHealthz] = 0;
HouseInfo[i][hArmourx] = 0;
HouseInfo[i][hArmoury] = 0;
HouseInfo[i][hArmourz] = 0;
HouseInfo[i][hOwner] = 0;
HouseInfo[i][hDiscription] = 0;
HouseInfo[i][hValue] = 7000;
HouseInfo[i][hHel] = 0;
HouseInfo[i][hArm] = 0;
HouseInfo[i][hInt] = 12;
HouseInfo[i][hLock] = 1;
HouseInfo[i][hOwned] = 0;
HouseInfo[i][hRooms] = 1;
HouseInfo[i][hRent] = 1;
HouseInfo[i][hRentabil] = 1;
HouseInfo[i][hTakings] = 0;
HouseInfo[i][hVec] = 0;
HouseInfo[i][hVcol1] = -1;
HouseInfo[i][hVcol2] = -1;
HouseInfo[i][hDate] = 0;
HouseInfo[i][hLevel] = 5;
strmid(HouseInfo[i][hOwner], "The State", 0, strlen("The State"), 255);
SendClientMessage(playerid, COLOR_OOC,"Du hast ein Neues Haus erstellt");
SendClientMessage(playerid, COLOR_WHITE, "Mit /edit kannst du das Haus Editieren!");
new string2[128];
new File: file2;
file2 = fopen("property.cfg", io_append);
new string3[450];
format(string3,sizeof(string3),"%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez],HouseInfo[i][hExitx],HouseInfo[i][hExity],
HouseInfo[i][hExitz],HouseInfo[i][hHealthx],HouseInfo[i][hHealthy],HouseInfo[i][hHealthz],HouseInfo[i][hArmourx],
HouseInfo[i][hArmoury],HouseInfo[i][hArmourz],HouseInfo[i][hOwner],HouseInfo[i][hDiscription],HouseInfo[i][hValue],
HouseInfo[i][hHel],HouseInfo[i][hArm],HouseInfo[i][hInt],HouseInfo[i][hLock],HouseInfo[i][hOwned],HouseInfo[i][hRooms],
HouseInfo[i][hRent],HouseInfo[i][hRentabil],HouseInfo[i][hTakings],HouseInfo[i][hVec],HouseInfo[i][hVcol1],HouseInfo[i][hVcol2],
HouseInfo[i][hDate],HouseInfo[i][hLevel]);
fwrite(file2, string3);
fclose(file2);
format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[i][hDiscription],HouseInfo[i][hValue],HouseInfo[i][hLevel]);
HouseInfo[i][Text] = Create3DTextLabel(string2,COLOR_FORSELL,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15.0,0);
AddStaticPickup(1273, 1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 0);
pickups++;
OnPropUpdate();
return 1;
}
}
}
return 1;
}
Das sollte so funktionieren, dein Fehler war das "return 1;" beim wiederholen. Heißt er läuft einmal durch und dann wars das - deshalb nur Haus ID 0.Was du bei meinem Codeschnipsel da brauchst ist noch die Variable "hExists" weil du ja auch wissen solltest ob das Haus nicht schon existiert!
-
Wie wäre es, wenn du dann auch mal erklärst was du da gemacht hast und warum du das so gemacht hast. So förderst du nur Copy&Paste. Einfach kurz erklären und gut ist.
Hilf ihm doch vor mir wenns dir nicht passt oder erkläre es. Ich weiß wie einiges geht kann mich aber nicht gut artikulieren. -
Hier sind die Zeilen:
INI_WriteInt("wAmmo1", PlayerCar[i][wAmmo][0]);
INI_WriteInt("wAmmo2", PlayerCar[i][wAmmo][1]);
INI_WriteInt("wAmmo3", PlayerCar[i][wAmmo][2]);
INI_WriteInt("wAmmo4", PlayerCar[i][wAmmo][3]);
INI_WriteInt("wWaffe1", PlayerCar[i][wWaffe][0]);
INI_WriteInt("wWaffe2", PlayerCar[i][wWaffe][1]);
INI_WriteInt("wWaffe3", PlayerCar[i][wWaffe][2]);
INI_WriteInt("wWaffe4", PlayerCar[i][wWaffe][3]);
Sollte so funktionieren.. -
BotInfo[botid][E_3DText1] =Text3D:INVALID_3DTEXT_ID;
Das "Text3D" muss dazu sofern ich mich nicht irre.. -
if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
return 1;
}
new bool:unwanted[CAR_AMOUNT];
for(new player=0; player<MAX_PLAYERS; player++)
{
if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
}
for(new car = 1; car <= 450; car++)
{
if(!unwanted[car]) {
SetVehicleToRespawn(car);
SetVehiclePos(car,FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
SetVehicleZAngle(car,FactionCars[fc][fPos][3]);
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
BroadCast(COLOR_WHITE,string);
}
return 1;
}Müsste so stimmen.
-
Respawn befehl her geben^^
-
dcmd_adminmachen(playerid,params[])
{
new sID,string[64], level;
if(sscanf(params,"us",sID,level)) return SendClientMessage(playerid, ROT, "Verwendung: /adminmachen [playerid] [Adminlevel] ");
{
if(IsPlayerConnected(sID))
{
if(IsPlayerAdmin(playerid))
{
format(string,sizeof string,"Du hast %s den adminrang %s gegeben!",getPlayerName(sID),a_rang2[level-2]);
SendClientMessage(playerid,BLAU,string);
format(string,sizeof string,"Du hast von %s den Adminrang %s bekommen!",getPlayerName(playerid),a_rang2[level-2]);
SendClientMessage(sID,BLAU,string);
SpielerD[sID][Adminlevel] = level;
}
else SendClientMessage(playerid, ROT,"Du bist kein Admin und darfst diesen Befehl nicht ausführen");
}
else SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht online/nicht vorhanden!");
}
return 1;
}Oder so ums für anfänger übersichtlicher zu behalten..
-
Meinst du IsPlayerAdmin ? Glaube das war die RCON-Admin Abfrage..