Hallo Brotfische
Heute habe ich mir ein kleines InGame Teleorter System gecodet. Die Teleporter werden richtig geladen und auch richtig Ingame erstellt, doch leider kann man den Teleporter erst nach dem Serverneustart... wie kann ich das ändern das ich ihn sofort ändern kann ? (Ich bin echt am verzweifeln. Ich hoffe einer von euch kann mir helfen )
Codes:
C
ocmd:saveteleporter(playerid,params[])
{
new Float:x,Float:y,Float:z, virwor, inter;
if(!isAdmin(playerid,4))return SendClientMessage(playerid,C_Error,noaccess);
if(createTeleporter[playerid]!=1)return SendClientMessage(playerid,C_Error,"Erstelle erst einen Teleporter mit /createteleporter.");
if(sscanf(params,"dd",virwor,inter))return SendClientMessage(playerid,COLOR_GRAY,"Verwendung: /saveteleporter [VirtualWorld (Standart: 0)] [Interior] Tipp: /getvw");
if(createTele_X[playerid]==0 && createTele_Y[playerid]==0 && createTele_Z[playerid]==0)return SendClientMessage(playerid,COLOR_GRAY,"Fehler! melde diesen sofort an den Scripter!");
GetPlayerPos(playerid,x,y,z);
new query[256];
format(query, sizeof(query),"INSERT INTO teleporter (ex, ey, ez, ix, iy, iz, virtualworld, interiorid) VALUES ('%f', '%f', '%f','%f', '%f', '%f', '%d', '%d')",createTele_X[playerid], createTele_Y[playerid], createTele_Z[playerid], x, y, z, virwor, inter);
mysql_function_query(dbhandle, query, false, "", "");
AddTeleporter(createTele_X[playerid], createTele_Y[playerid], createTele_Z[playerid], x, y, z, inter, virwor,"Eingang","Ausgang");
createTeleporter[playerid]=0, saveTeleporter[playerid]=0, createTele_X[playerid]=0, createTele_Y[playerid]=0, createTele_Z[playerid]=0;
SendClientMessage(playerid,COLOR_WHITE,"Der Teleporter wurde erstellt.");
return 1;
}
ocmd:createteleporter(playerid,params[])
{
if(!isAdmin(playerid,4))return SendClientMessage(playerid,C_Error,noaccess);
if(createTeleporter[playerid]==1)return SendClientMessage(playerid,C_Error,"Du erstellst bereits schon eine Teleporter!");
createTeleporter[playerid]=1;
GetPlayerPos(playerid,createTele_X[playerid],createTele_Y[playerid],createTele_Z[playerid]);
SendClientMessage(playerid,COLOR_WHITE,"Erstelle nun den zweiten \"Enterpunkt (Interior)\" & bestätige mit \"/saveteleporter\".");
saveTeleporter[playerid]=1;
return 1;
}
stock AddTeleporter(Float:x,Float:y,Float:z,Float:iix,Float:iiy,Float:iiz,inti,v,eL[],exL[])
{
iID ++;
Inte[iID][ex] = x;
Inte[iID][ey] = y;
Inte[iID][ez] = z;
Inte[iID][ix] = iix;
Inte[iID][iy] = iiy;
Inte[iID][iz] = iiz;
Inte[iID][intid] = inti;
Inte[iID][vw] = v;
format(Inte[iID][eLabel],24,"%s",eL);
format(Inte[iID][exLabel],24,"%s",exL);
CreatePickup(iPickup,1,x,y,z,0);
CreatePickup(iPickup,1,iix,iiy,iiz,v);
Create3DTextLabel(Inte[iID][eLabel],LabelColor,x,y,z,15,0,1);
Create3DTextLabel(Inte[iID][exLabel],LabelColor,iix,iiy,iiz,15,0,1);
ExistTeleporter += 1;
return 1;
}
Alles anzeigen